ho "ereditato" una configurazione di una VPN l2tp/ipsec che devo aggiornare leggermente. Ho bisogno di un aiutino per un paio di questioni, spero mi possiate aiutare.
Prima cosa, la sicurezza. La configurazione era basata su ROS 6.7, non era ancora disponibile il policy matcher per ipsec, quindi veniva usato uno script per evitare che la VPN si stabilisse senza l2tp. Visto che lo script in questione (disponibile sulla wiki Mikrotik) crea problemi di altro tipo, e che dalla 6.30 c'e' il policy matcher, si è pensato di utilizzarlo.
A me non è del tutto chiaro come implementarlo in sicurezza, quindi vi mostro la configurazione del firewall e vi chiedo se va bene:
- Codice: Seleziona tutto
{
# l2tp/ipsec firewall
# Input chain
####################
# ether1 == WAN interface
add action=accept chain=input comment="Input - Allow est, rel" connection-state=established,related
add action=accept chain=input comment="Input - allow TO whitelist" dst-address-list=Whitelist
add action=drop chain=input comment="Input - Drop Invalid" connection-state=invalid
add chain=input comment=OSPF protocol=ospf src-address-list=OSPF_Peers
add action=accept chain=input comment=ICMP protocol=icmp
add action=accept chain=input comment="Mikrotik Discovery, MAC Winbox" dst-port=5678,20561 protocol=udp
add chain=input comment=Winbox dst-port=8291 protocol=tcp src-address-list=network.admins
add chain=input comment="SSH, HTTP" dst-port=22,80 protocol=tcp src-address-list=network.admins
add action=accept chain=input comment=ESP in-interface=ether1 protocol=ipsec-esp
add chain=input comment="UDP 500,4500" dst-port=500,4500 in-interface=ether1 protocol=udp
add chain=input comment="ipsec policy matcher" in-interface=ether1 ipsec-policy=in,ipsec
#add action=log chain=input disabled=yes log-prefix=Drop
add action=drop chain=input comment="Input - Drop everything else" in-interface=ether1 log=yes
# Forward chain
######################
add chain=forward comment="LAN -> Any" src-address-list=LAN
add action=jump chain=forward comment="Any -> LAN" dst-address-list=LAN jump-target=AnyToLAN
# AnyToLAN chain
#######################
add action=accept chain=AnyToLAN comment="Accept from VPNtoLAN" src-address-list=VPNtoLAN
add action=log chain=AnyToLAN disabled=yes
add action=drop chain=AnyToLAN
# RAW firewall
##############
/ip firewall raw
add action=drop chain=prerouting comment="Drop connections from Blacklisted addresses" src-address-list=dynamicBlacklist
# Address lists
###############
/ip firewall address-list
add address=10.255.255.0/24 list=OSPF_Peers
add address=10.10.0.0/24 list=LAN
add address=192.168.1.0/24 list=LAN
add address=10.255.250.0/24 list=network.admins
add address=10.10.0.0/24 list=VPNtoLAN
add address=10.255.254.0/24 list=VPNtoLAN
add address=1.2.3.4 comment="blocklist" list=dynamicBlacklist
}
Seconda questione.
Il server VPN verrà spostato fisicamente in altro luogo, quindi cambierà il suo IP pubblico. Devo migrare di conseguenza i client (router e roadwarrior) e vorrei evitare di lasciare qualcuno fuori. Il routing è affidato a OSPF, ma non dovrei avere problemi.
Mi pare che lo script di seguito faccia tutto ciò che deve, ma un controllo incrociato mi farebbe piacere

- Codice: Seleziona tutto
{
# l2tp/ipsec migration script
:local Ac_NEW_IP "5.6.7.8"
/ip ipsec peer
set [/ip ipsec peer find address=($Ac_OLD_IP . "/32")] address=$Ac_NEW_IP
:log info "IPsec peer modified"
/ip ipsec policy
set [/ip ipsec policy find dst-address=($Ac_OLD_IP . "/32")] dst-address=($Ac_NEW_IP . "/32") sa-dst-address=$Ac_NEW_IP
:log info "IPsec policy modified"
/interface l2tp-client
set [find connect-to=$Ac_OLD_IP] connect-to=$Ac_NEW_IP
:log info "Interface l2tp-client modified"
}