> Дано: шлюз на freebsd, все пользователи выходят в инет через nat. Используется
> kernel nat и ipfw. Имеется пул адресов от провайдера.Уважаемый, кто вам поручил конфигурировать файервол. Вы не можете оличит kernel nat от userland nat (aka natd)
>[оверквотинг удален]
> Что было сделано:
> Установлен 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"
firawall_nat="YES" <- вот теперь будет ядерный
>[оверквотинг удален]
> 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
Далее каша... Читаем man ipfw
А в целом вам уже ответили. Копаем в сторону redirect_addr. Учтите нюансы, связанные с deny_in. Если ядерный нат сконфигурирован с этой опцией, то редирект адресов работать не будет.
Еще, допустим на внешнем у вас основной адрес и дополнительный (как алиас), который вам нужно пробросить во внутрь сети. Тогда в конфиге ната
ipfw nat 1 config if re0 redirect_addr ...
не указывайте if 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.