И в FreeBSD и в Linux для вывода "серой" корпоративной сети (как
правило с адресами 10.128 или 192.168) используется технология
"сворачивания" всей серой сети в один или несолько реальных адресов.
В простейшем варианте вся корпоративная сеть "сворачивается" в один
адрес.
Общая схема для FreeBSD выглядит так:
ipfw add 10 divert 8868 (что надо свернуть в реальный адрес) to any
out xmit (внешний интерфейс)
ipfw add 20 divert 8868 from any to (реальный адрес)
и необходимо запустить демон ната:
natd -a (реальный адрес) -p 8868
Для Linux, как правило, используют маскарадинг:
iptables -t nat -A POSTROUTING -o <внешний нтерфейс> -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
Рассмотрим более сложную ситуацию, когда нужно две разные
корпоративные под-сети "свернуть" в два разных реальных адреса. Это
часто бывает удобно для разделения внешнего трафика, подсчета трафика,
приоритизации трафика. Необязательно для этого,чтобы сети были
разделены физически. Например, если все корпоративной сети выдать сеть
10.0.0.0/16, то в ней можно логически выделить два отдела класса С:
10.0.1.0/24 и 10.0.2.0/24, и все серверы выделить в отдельную"подсеть"
10.0.3.0/24.
PS. Вообще, сеть 10.128.0.0/16 является намного более "емкой" и гибкой
для большой корпорации - ее легче разбивать на подсети и нет дифицита
адресов.
Теперь "свернем" эти две подсети отделов в два различных ip с помощью
FeeBSD и Linux.
1. В FreeBSD для этого применим систему ipfw & nat
ipfw add 10 divert 8868 (подсеть1) to any out xmit (внешний
интерфейс1)
ipfw add 20 divert 8868 from any to (реальный адрес1)
ipfw add 30 divert 8869 (подсеть2) to any out xmit (внешний
интерфейс2)
ipfw add 40 divert 8869 from any to (реальный адрес2)
и необходимо запустить демон ната:
natd -a (реальный адрес1) -p 8868
natd -a (реальный адрес1) -p 8869
или для приведенного примера:
ipfw add 10 divert 8868 10.0.1.0/24 to any out xmit ed0
ipfw add 20 divert 8868 from any to 195.1.1.1
ipfw add 30 divert 8869 10.0.2.0/24 to any out xmit ed1
ipfw add 40 divert 8869 from any to 195.1.1.2
и необходимо запустить демон ната:
natd -a 195.1.1.1 -p 8868
natd -a 195.1.1.2 -p 8869
2. В Linux данная схема реализуется с помощью iptables