Поток принимает Linux (SkyStar-2), включено ip forwarding, для linux route default - другой маршрутизатор на FreeBSD. На FreeBSD поднят GRE и работает наземный канал. Принятые данные Linux передает FreeBSD. На FreeBSD default router - gre0. Все работает, но как сделать nat на FreeBSD для клиентов, если трафик уходит через gre0, а приходит уже без gre-инкапсуляции через fxp1? Подробнее схема на ftp://jazz-pc.chelcom.ru/pub/dvb.jpgifconfig FreeBSD:
fxp0: flags=9843 mtu 1500 < интерфейс домовой сети
inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
fxp1: flags=9843 mtu 1500 < интерфейс для приема трафика со спутника
inet 192.168.2.1 netmask 0xfffffffc broadcast 192.168.2.3
ppp0: flags=8051 mtu 1500 < наземный канал
inet X.X.X.X --> Y.Y.Y.Y netmask 0xff000000
gre0: flags=9051 mtu 1476 < spacegate туннель
tunnel inet X.X.X.X --> 195.69.160.6
inet 192.168.203.54 --> 192.168.253.253 netmask 0xffffff00
ifconfig Линукса:
ifconfig
dvb0_0 Link encap:Ethernet HWaddr 00:D0:D7:03:D6:3C < SkyStar2
inet addr:172.32.254.254 Bcast:172.32.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING NOARP MULTICAST MTU:4096 Metric:1eth0 Link encap:Ethernet HWaddr 00:50:22:8D:E1:7B < интерфейс связи с FreeBSD
inet addr:192.168.2.2 Bcast:192.168.2.3 Mask:255.255.255.252
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Уже разобрался.
/sbin/natd -a 192.168.203.54 -dynamic -o 8668 -i 8669 -f /etc/natd.confи соответственно правила в ipfw:
divert 8669 ip from any to 192.168.203.54 via fxp1
divert 8668 ip from 192.168.1.0/24 to any via gre0И все работает.