Доброго времени суток!
У меня небольшая локальная сетка с выходом в инет, аутентификация по VPN:
gw# ifconfig
xl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=3<rxcsum,txcsum>
inet 172.16.97.1 netmask 0xfffffffc broadcast 172.16.97.3
ether 00:01:02:6f:8d:2c
media: Ethernet autoselect (100baseTX)
status: active
xl1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=3<rxcsum,txcsum>
inet 192.168.0.1 netmask 0xffff0000 broadcast 192.168.255.255
ether 00:04:79:67:7c:a4
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
xl2: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=3<rxcsum,txcsum>
ether 00:04:79:67:7c:6e
media: Ethernet autoselect (none)
status: no carrier
fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 10.0.0.1 netmask 0xffffff00 broadcast 10.0.0.255
ether 00:a0:c9:4b:86:05
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492
inet 83.237.28.253 --> 10.2.255.2 netmask 0xffffff00
Opened by PID 62
tun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492
inet 10.0.1.1 --> 10.0.1.254 netmask 0xffffffff
Opened by PID 346
tun2: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492
inet 10.0.1.1 --> 10.0.1.81 netmask 0xffffffff
Opened by PID 349
Пользователи находятся в 192.168.*.*, tun0 создаёт adsl, tunX - клиентские vpn-соединения.
Всё было замечательно, пока я не попробовал на клиентской машине поставить gateway: 192.168.0.1 и поиграться с traceroute по ip.
Форвардинг включен.
Выяснилось, что при опущенном впн соединении пользователь имеет доступ по цепочке:
Tracing route to 194.17.16.106 over a maximum of 30 hops
1 1 ms <1 ms <1 ms 192.168.0.1
2 21 ms 17 ms 17 ms 10.2.255.2
3 16 ms 16 ms 15 ms 195.34.61.6
При поднятом впн (правильное состояние) маршрут пакета таков:
1 2 ms 1 ms 4 ms 10.0.1.1
2 21 ms 17 ms 17 ms 10.2.255.2
3 16 ms 16 ms 15 ms 195.34.61.6
Насколько я понимаю мне нужно запретить форвардинг между xl1(192.168.0.1) и tun0(10.0.255.2).
А теперь вопросы:
Как правильнее запретить несанкционированный доступ?
Как сделать это без фаерволла (запрет форвардинга между отдельными интерфейсами?) И есть ли он в FreeBSD (очень интересно)?
А если с фаерволлом?
Жду вашей помощи! Любые советы / замечания / критика приветствуются.