Если вы не хотите возиться с natd, вам нужно ядро, скомпилированное с опцией IPFIREWALL_FORWARD. Вы можете проверить свое текущее ядро, выполнив sysctl kern.conftxt | grep IPFIREWALL_FORWARD '. Если эта опция отсутствует, вам необходимо пересобрать ядро (или придерживаться pf).
Если у вас такое ядро, вам просто нужно добавить следующие правила:
ipfw add allow tcp from any to 192.168.0.0/24 via internal_if0
ipfw add fwd localhost,80 tcp from any to any 80 via internal_if0
FreeBSD теперь поставляется с 3 (sic!) Разными межсетевыми экранами, ipfw2
- только один из них, а осталось два это ipfilter
Даррена Рида и OpenBSD PF
. Оба они имеют встроенный NAT, который поддерживает перенаправление портов «из коробки», см., Например, способ PF .