Ситуация такая: есть две сети, одна за Mikrotik (192.168.0.1), другая за FreeBSD(192.168.1.1). За Mikrotik хадварная сеть 192.168.0.0/24, за FreeBSD сеть из виртуальных машин внутри ESXi, 192.168.1.0/24. На FreeBSD поднят mpd5 как сервер pptp с IP в туннеле 192.168.100.1, к нему подключается Mikrotik с адресом 192.168.100.2.
На FreeBSD: route add -net 192.168.0.1/24 192.168.100.2
На Микротике аналогично прописан маршрут в сеть 192.168.1.0/24 с роутером 192.168.100.1
Внутри каждой локалки все отлично работает.
Между 192.168.0.1 и 192.168.1.1 (и наоборот) пинг ходит.
При пинге из 192.168.1.0/24 любого хоста в 192.168.0.0/24 все нормально проходит.
При пинге из 192.168.0.0/24 пинг проходит только на машину с FreeBSD (192.168.1.1), на любой другой хост нет, при этом на интерфейсе, смотрящей в локалку 192.168.1.0/24
Код: Выделить всё
# tcpdump -i em1
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on em1, link-type EN10MB (Ethernet), capture size 65535 bytes
11:36:25.219681 IP 192.168.100.2 > 192.168.1.21: ICMP echo request, id 5487, seq 32, length 64
11:36:26.229696 IP 192.168.100.2 > 192.168.1.21: ICMP echo request, id 5487, seq 33, length 64
11:36:27.239577 IP 192.168.100.2 > 192.168.1.21: ICMP echo request, id 5487, seq 34, length 64
Код: Выделить всё
tcpdump -i vmx3f1
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on vmx3f1, link-type EN10MB (Ethernet), capture size 65535 bytes
11:40:53.837622 IP 192.168.100.2 > 192.168.1.21: ICMP echo request, id 5487, seq 298, length 64
11:40:54.847170 IP 192.168.100.2 > 192.168.1.21: ICMP echo request, id 5487, seq 299, length 64
11:40:55.857630 IP 192.168.100.2 > 192.168.1.21: ICMP echo request, id 5487, seq 300, length 64
Насколько я понимаю, проблема в роутере FreeBSD (192.168.1.1), вот конфиги:
Код: Выделить всё
cat /etc/rc.conf
hostname="linker.creolan.ru"
keymap="ru.koi8-r.kbd"
ifconfig_em0=" inet 88.xx.xx.xx netmask 255.255.255.240"
ifconfig_em1=" inet 192.168.1.1 netmask 255.255.255.0"
defaultrouter="88.xx.xx.xx"
sshd_enable="YES"
mpd_enable="YES"
gateway_enable="YES"
firewall_enable="YES"
firewall_type="OPEN"
dumpdev="NO"
Код: Выделить всё
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
ether 00:0c:29:f1:c5:ec
inet 88.xx.xx.xx netmask 0xfffffff0 broadcast 88.xx.xx.xx
inet6 fe80::20c:29ff:fef1:c5ec%em0 prefixlen 64 scopeid 0x1
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
em1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
ether 00:0c:29:f1:c5:f6
inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
inet6 fe80::20c:29ff:fef1:c5f6%em1 prefixlen 64 scopeid 0x2
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> metric 0 mtu 1500
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
ipfw0: flags=8801<UP,SIMPLEX,MULTICAST> metric 0 mtu 65536
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
inet 127.0.0.1 netmask 0xff000000
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1196
inet 192.168.100.1 --> 192.168.100.2 netmask 0xffffffff
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
Код: Выделить всё
netstat -rn
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 88.198.214.94 UGS 0 266 em0
88.xx.xx.xx/28 link#1 U 0 0 em0
88.xx.xx.xx link#1 UHS 0 0 lo0
127.0.0.1 link#5 UH 0 0 lo0
192.168.0.0/24 192.168.100.2 UGS 0 0 ng0
192.168.1.0/24 link#2 U 0 136 em1
192.168.1.1 link#2 UHS 0 0 lo0
192.168.100.1 link#6 UHS 0 0 lo0
192.168.100.2 link#6 UH 0 0 ng0