Есть сервер с внешним интерфейсом em0, ip:x.x.x.x gw:x.x.x.x-1
Создан туннель ipip с удаленным роутером, интерфейс: gif0, ip:y.y.y.y gw:y.y.y.y-1
как гетвей по умолчанию установлен y.y.y.y-1
К серверу по OpenVPNу подключаются клиенты. Каждому выдается серый айпишник из подсети/30 аля
Код: Выделить всё
IP: 192.168.0.6 Mask 255.255.255.252 gw:192.168.0.5
Код: Выделить всё
ps ax | grep nat
52409 ?? Rs 0:03,05 /sbin/natd -f /etc/natd.conf -n gif0
ipfw add 1000 divert 8668 ip from 192.168.0.0/24 to any out via gif0
ipfw add 1010 divert 8668 ip from any to y.y.y.y
И тут мне потребовалось, чтоб клиент из подсети 192.168.0.8/30
ходил через em0
Запустил еще 1 нат:
Код: Выделить всё
natd -p 9999 -n em0
Код: Выделить всё
ipfw add 970 divert 9999 ip from 192.168.0.10 to any out via em0
ipfw add 980 fwd x.x.x.x-1 ip from 192.168.0.10 to any
ipfw add 990 divert 9999 ip from any to x.x.x.x
Код: Выделить всё
ipfw show:
~~~~~~~~~~~~
00970 0 0 divert 9999 ip from 192.168.0.10 to any out via em0
00980 14 1080 fwd x.x.x.x-1 ip from 192.168.0.10 to any
00990 8751 6481395 divert 9999 ip from any to x.x.x.x
01000 6727 2198670 divert 8668 ip from 192.168.0.0/24 to any out via gif0
01100 8624 6299902 divert 8668 ip from any to y.y.y.y
~~~~~~~~~~~~
netstat -rn
Internet:
Destination Gateway Flags Refs Use Netif Expire
default y.y.y.y-1 UGS 0 237128 gif0
x.x.x.x-1 x.x.x.x UH 1 7 em0
З.Ы. ядро:
Код: Выделить всё
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_FORWARD
options IPFIREWALL_NAT