Дано: шлюз на freebsd, все пользователи выходят в инет через nat. Используется kernel nat и ipfw. Имеется пул адресов от провайдера.
1.2.3.4 - 8 Client IP
Маска 255.255.255.248
Шлюз 1.2.3.3
+ внешний один адрес a.b.c.d, натящиеся абоны ходят во внеху через него.re0 - внеха
re1 - локалка
Задача: Выделить определённой клиентской машине (для примера 172.16.0.20) реальный ип адрес.
Что было сделано:
Установлен natd. rc.conf выглядит так
gaetway_enable="YES"
hostname="billing"
ifconfig_re0="a.b.c.d" netmask 255.255.255.252" # внешний интерфейс (Internet)
ifconfig_re1="172.16.0.1 netmask 255.255.255.0" # внутренний интерфейс
ifconfig_re1_alias0="1.2.3.3 netmask 255.255.255.248" #выделен алиас из пула адресов, выданых провайдером.
defaultrouter="a.b.c.q" # внешний шлюз по умолчанию
firewall_enable="YES"
firewall_type="/etc/firewall-nat"
dummunet_enable="YES"
natd_enable="YES"
#natd_flags="-f /etc/natd.conf"
natd_interface="re0"
Рестартимся, что бы применить все изменения, смотрим ifconfig
re1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC>
ether XXXXXXX
inet 172.16.0.1 netmask 0xffffff00 broadcast 172.16.0.255
inet 1.2.3.3 netmask 0xfffffff8 broadcast 1.2.3.9
re0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC>
ether XXXXXXXXXX
inet a.b.c.d netmask 0xfffffffc broadcast a.b.c.e
Добавлены правила:
divert 8668 ip from 172.16.0.20 to any out via re0
divert 8668 ip from any to any in via re0
Правила для данного адреса в целом выглядят так:
01100 292647 39374983 allow ip from 172.16.0.0/24 to any via re1
05007 0 0 divert 8668 ip from 172.16.0.20 to any out via re0
05008 0 0 divert 8668 ip from any to any in via re0
05011 0 0 allow ip from any to 172.16.0.20 via re1
Выставляю на клиентской машине адрес 172.16.0.20 выхожу в инет и вижу, что ИП a.b.c.d а не
1.2.3.X Что я делаю не так?
Пробовал ещё добавить redirect_address 172.16.0.20 1.2.3.X в конфиг natd.