FreeBSD:
файл /etc/rc.conf
cloned_interfaces="lo1"
ipv4_addrs="192.168.0.1/24"
firewall_enable="YES"
firewall_type="/etc/firewall"
файл /etc/firewall
add 1040 allow ip from any to any via lo1
nat 1 config log if em0 reset same_ports deny_in redirect_port tcp 192.168.0.2:80 80 redirect_port tcp 192.168.0.2:443 443
add 10130 nat 1 ip from any to any via em0
add 65534 deny all from any to any
Здесь:
em0 - интерфейс, глядящий в интернет
lo1 - интерфейс, глядящий в сеть Jail`ов
192.168.0.1 - адрес внешней машины (хоста) на lo1
192.168.0.2 - адрес веб-сервера в Jail`е, также на lo1
Когда создаете Jail, не забывайте указывать, что ваш адрес будет именно на lo1
Например:
ezjail-admin create websrv 'lo1|192.168.0.2'
P.S
Параметр deny_in в конфигурировании nat закроет ваш сервер ото всех неизвестных входящих.
Если вам нужен ssh, не забудьте добавить его порт, например как redirect_port
Или до правила 10130 добавьте skip этого правила для порта 22.