Здравствуйте, при настройке vpn канала столкнулся со следующей проблемой: не "видно" локальной сети за шлюзом. Причём, данная проблема возникает на обоих машинах.
Схема следующая: на работе присутствует сервер freebsd 7.1 с поднятым PPPoE через ppp. Дома тоже самое, с единственным исключением: используется динамический ip адрес. В мануале http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ip... сказано что обязательно должны использоваться статические ip адреса, но если фрю и модем не перегружать проблем со сменой ip не возникает, т.к. в течении сессии ip адрес не меняется (ещё бы! ) )
x.x.x.x - статический внешний адрес сервера
y.y.y.y - динамический внешний адрес домашнего компьютера
Конфигурация сервера:re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
ether 00:1f:d0:03:ca:9d
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8<VLAN_MTU>
ether 00:80:48:5c:34:c2
inet 172.16.2.1 netmask 0xffffff00 broadcast 172.16.2.255
media: Ethernet autoselect (none)
status: no carrier
rl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8<VLAN_MTU>
ether 00:80:48:5c:34:c6
inet 172.16.0.20 netmask 0xfffffe00 broadcast 172.16.1.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> metric 0 mtu 1500
pflog0: flags=141<UP,RUNNING,PROMISC> metric 0 mtu 33204
pfsync0: flags=0<> metric 0 mtu 1460
syncpeer: 224.0.0.240 maxupd: 128
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x7
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
tun0: flags=8051<UP,POINTOPOINT,RUNNING,ULTICAST> metric 0 mtu 1492
inet x.x.x.x --> 213.158.16.80 netmask 0xffffffff
Opened by PID 997
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1280
tunnel inet x.x.x.x --> y.y.y.y
inet 172.16.0.20 --> 192.168.1.1 netmask 0xffff0000
Конфигурация домашнего компьютера:rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8<VLAN_MTU>
ether 00:40:f4:c1:3b:35
inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
rl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8<VLAN_MTU>
ether 00:a0:d2:1d:bd:31
inet 192.168.2.2 netmask 0xffffff00 broadcast 192.168.2.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> metric 0 mtu 1500
pfsync0: flags=0<> metric 0 mtu 1460
syncpeer: 224.0.0.240 maxupd: 128
pflog0: flags=0<> metric 0 mtu 33204
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x6
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1492
inet y.y.y.y --> 91.122.208.1 netmask 0xffffffff
Opened by PID 916
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1280
tunnel inet y.y.y.y --> x.x.x.x
inet 192.168.1.1 --> 172.16.0.20 netmask 0xffffff00
У меня получилось поднять туннель, его наличие подтвердил пинг на внутренний ip адрес шлюза, как в сторону сервера (172.16.0.20) так и в сторону домашней машины (192.168.1.1).
Далее, согласно инструкции необходимо прописать маршруты.
на сервере:
route add 192.168.1.0/24 192.168.1.1
дома:
route add 172.16.0.0/23 172.16.0.20
По идее, после этих комманд должны свободно начать видится все локальные сети, но, этого не происходит. Причём в обе стороны.
вывод команды netstat -rn на сервере:Routing tablesInternet:
Destination Gateway Flags Refs Use Netif Expire
default 213.158.16.80 UGS 0 4772 tun0
127.0.0.1 127.0.0.1 UH 0 54 lo0
172.16.0.0/23 link#3 UCS 0 0 rl1
172.16.2.0/24 link#2 UC 0 0 rl0
192.168.1.0/24 192.168.1.1 UGS 0 114 gif0
192.168.1.1 172.16.0.20 UH 1 29 gif0
213.158.16.80 x.x.x.x UGH 1 0 tun0
на домашней машине:Routing tablesInternet:
Destination Gateway Flags Refs Use Netif Expire
default 91.122.208.1 UGS 0 14945 tun0
91.122.208.1 y.y.y.y UGH 1 0 tun0
127.0.0.1 127.0.0.1 UH 0 50 lo0
172.16.0.0/23 172.16.0.20 UGS 0 5 gif0
172.16.0.20 192.168.1.1 UH 1 37 gif0
192.168.1.0/24 link#1 UC 0 0 rl0
192.168.1.1 00:40:f4:c1:3b:35 UHLW 1 128 lo0
192.168.2.0/24 link#2 UC 0 0 rl1
PS: в качестве фаерволла используется pf (везде), на моменты тестирования переводится в режим pass all
Проблема решена, оказалось всё дело заключалось в неправильной настройке виндовых брандмауэров.