10.03.2015

Объединение одинаковых подсетей в RouterOS

Имеем две сети с одинаковой адресацией и site-to-site VPN между ними. Необходимо обеспечить взаимодействие между сетями, не изменяя их внутренней адресации. Не спрашивайте почему нельзя сменить адресацию - просто нельзя. В обеих точках оборудование Mikrotik.

Решение подсказала эта статья. Вся основная настройка будет проводиться только на роутере-клиенте. На втором роутере необходимо будет лишь прописать маршрут до фэйковой сети. Будем считать, что VPN уже функционирует. Я не буду расписывать детали прохождения пакетов, т.к. это описано в указанной статье. Просто код с хабра и как это делается в RouterOS.

Итак, наша сеть - 192.168.0.0/16. Сеть, в которую нужно попасть - 192.168.15.0/24. Отличия моих адресов от хабра:
1. там с обеих сторон 192.168.0.0/24. У меня 192.168.0.0/16 и 192.168.15.0/24
2. там фэйковые адреса 10.8.1.0/24, 10.8.2.0/24. У меня 10.9.0.0/16 и 172.25.25.0/24

iptables -t mangle -A PREROUTING -i tun0 -d 10.8.1.0/24 -j MARK --set-mark 8

chain=prerouting action=mark-connection new-connection-mark=in passthrough=yes dst-address=172.25.25.0/24 in-interface=vpn

chain=output action=mark-routing new-routing-mark=in passthrough=yes connection-mark=in 

iptables -t nat -A PREROUTING -m mark --mark 8 -j NETMAP --to 192.168.0.0/24
chain=dstnat action=netmap to-addresses=192.168.15.0/24 connection-mark=in

iptables -t nat -A POSTROUTING -m mark --mark 8 -j NETMAP --to 10.8.2.0/24
chain=srcnat action=netmap to-addresses=10.9.0.0/16 connection-mark=in

ip route add 192.168.0.0/24 dev eth1 table netmap
dst-address=192.168.15.0/24 gateway=ether2-master-local routing-mark=in



Ну и приведу всю конфигурацию Mangle, NAT и Route.

/ip firewall mangle> print
Flags: X - disabled, I - invalid, D - dynamic
 0   chain=prerouting action=mark-connection new-connection-mark=in passthrough=yes
     dst-address=172.25.25.0/24 in-interface=vpn

 1   chain=output action=mark-routing new-routing-mark=in passthrough=yes
     connection-mark=in

 2   chain=prerouting action=mark-connection new-connection-mark=out passthrough=yes
     dst-address=10.9.0.0/16 in-interface=ether2-master-local

 3   chain=output action=mark-routing new-routing-mark=out passthrough=yes
     connection-mark=out



/ip firewall nat> print 
Flags: X - disabled, I - invalid, D - dynamic 
 0   ;;; default configuration
     chain=srcnat action=masquerade out-interface=ether1-gateway 

 1   chain=dstnat action=netmap to-addresses=192.168.15.0/24 connection-mark=in 

 2   chain=srcnat action=netmap to-addresses=10.9.0.0/16 connection-mark=in 

 3   chain=dstnat action=netmap to-addresses=192.168.15.0/24 routing-mark=out 

 4   chain=srcnat action=netmap to-addresses=172.25.25.0/24 routing-mark=out 



 /ip> route print detail 
Flags: X - disabled, A - active, D - dynamic, 
C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, 
B - blackhole, U - unreachable, P - prohibit 
 0 A S  dst-address=192.168.15.0/24 gateway=ether2-master-local 
        gateway-status=ether2-master-local reachable distance=1 scope=30 
        target-scope=10 routing-mark=in 

 1 A S  dst-address=192.168.0.0/16 gateway=vpn 
        gateway-status=vpn reachable distance=1 scope=30 target-scope=10 
        routing-mark=out 

 4 A S  dst-address=192.168.0.0/16 gateway=%vpn_serv_IP% 
        gateway-status=192.168.242.1 reachable via  vpn distance=1 scope=30 
        target-scope=10

Комментариев нет:

Отправить комментарий