Добрый день.
Имеется RB2011UiAS с прошивкой 6.13 . Поднят PPTP сервер:
[semenov@MikroTik] > interface pptp-server server print
enabled: yes
max-mtu: 1450
max-mru: 1450
mrru: disabled
authentication: mschap2
keepalive-timeout: 30
default-profile: pptp-vpn
Заведен пользователь:
[semenov@MikroTik] > ppp secret print detail where name =semenov
Flags: X - disabled
10 name="semenov" service=pptp caller-id="" password="изменил :-)"
profile=default-encryption local-address=192.168.13.1
remote-address=192.168.13.180 routes="" limit-bytes-in=0 limit-bytes-out=0
last-logged-out=jan/26/2015 23:01:08
192.168.13.1 - ip адрес, который смотрит в локальную сеть.
[semenov@MikroTik] > ip address print detail where interface =bridge1
Flags: X - disabled, I - invalid, D - dynamic
0 address=192.168.13.1/24 network=192.168.13.0 interface=bridge1
actual-interface=bridge1
Пользователь коннектится, все вроде прекрасно. Начинаем проверять: делаем telnet до сервака 192.168.13.202 по 80 порту и смотрим логи:
Jan/26/2015 23:24:27 firewall,info forward: in:<pptp-semenov> out:bridge1, proto TCP (SYN), 192.168.13.180:51286->192.168.13.202:80, len 52
Jan/26/2015 23:24:27 firewall,info forward: in:bridge1(ether1) out:<pptp-semenov>, src-mac 90:02:a9:89:b2:95, proto TCP (SYN,ACK), 192.168.13.202:80->192.168.13.180:51286, NAT 192.168.13.202:80->(192.168.13.1:51286->192.168.13.180:51286), len 52
Jan/26/2015 23:24:27 firewall,info forward: in:<pptp-semenov> out:bridge1, proto TCP (ACK), 192.168.13.180:51286->192.168.13.202:80, NAT (192.168.13.180:51286->192.168.13.1:51286)->192.168.13.202:80, len 40
Jan/26/2015 23:24:37 firewall,info forward: in:bridge1(ether1) out:<pptp-semenov>, src-mac 90:02:a9:89:b2:95, proto TCP (ACK,FIN), 192.168.13.202:80->192.168.13.180:51286, NAT 192.168.13.202:80->(192.168.13.1:51286->192.168.13.180:51286), len 40
Jan/26/2015 23:24:37 firewall,info forward: in:<pptp-semenov> out:bridge1, proto TCP (ACK), 192.168.13.180:51286->192.168.13.202:80, NAT (192.168.13.180:51286->192.168.13.1:51286)->192.168.13.202:80, len 40
Jan/26/2015 23:24:37 firewall,info forward: in:<pptp-semenov> out:bridge1, proto TCP (ACK,FIN), 192.168.13.180:51286->192.168.13.202:80, NAT (192.168.13.180:51286->192.168.13.1:51286)->192.168.13.202:80, len 40
Jan/26/2015 23:24:37 firewall,info forward: in:bridge1(ether1) out:<pptp-semenov>, src-mac 90:02:a9:89:b2:95, proto TCP (ACK), 192.168.13.202:80->192.168.13.180:51286, NAT 192.168.13.202:80->(192.168.13.1:51286->192.168.13.180:51286), len 40
Все замечательно, пакеты бегают как туда так и обратно.
делаем telnet до сервака 192.168.13.202 по 37777 порту и смотрим логи:
Jan/26/2015 23:24:52 firewall,info forward: in:<pptp-semenov> out:bridge1, proto TCP (SYN), 192.168.13.180:51287->192.168.13.202:37777, len 52
Jan/26/2015 23:24:55 firewall,info forward: in:<pptp-semenov> out:bridge1, proto TCP (SYN), 192.168.13.180:51287->192.168.13.202:37777, NAT (192.168.13.180:51287->192.168.13.5:51287)->192.168.13.202:37777, len 52
Jan/26/2015 23:25:01 firewall,info forward: in:<pptp-semenov> out:bridge1, proto TCP (SYN), 192.168.13.180:51287->192.168.13.202:37777, len 48
Связь односторонняя.
Когда идет телнет до 80 порта в логах NAT (192.168.13.180:51286->192.168.13.1:51286)->192.168.13.202:80.
А когда на порт 37777 в логах немного другой маршрут NAT (192.168.13.180:51287->192.168.13.5:51287)->192.168.13.202:37777
Естественно, во втором случае сервер отправляет ответ на ip 192.168.13.5 и ответные пакеты уходят в никуда.
ARP таблица про 192.168.13.5 ничего не знает, пинги до этого ip адреса теряются.
Вопрос: почему NAT подставляет адрес 192.168.13.5 и как это исправить?