FreeBSD 8 и PF/etc/rc.conf
keymap="ru.koi8-r"
scrnmap="koi8-r2cp866"
font8x8="cp866-8x8"
font8x14="cp866-8x14"
font8x16="cp866-8x16"
hostname="GW"
ifconfig_fxp0="inet 195.0.0.147 netmask 0xfffffff8"
ifconfig_xl0="inet 192.168.0.254 netmask 255.255.255.0"
defaultrouter="195.0.0.149"
gateway_enable="YES"
sshd_enable="YES"
pf_enable="YES"
pf_program="/sbin/pfctl"
pf_rules="/etc/pf.conf"
#pf_flags=""
pflog_enable="YES"
pflog_program="/sbin/pflogd"
pflog_logfile="/var/log/pf.log"
#pflog_flags=""
#squid_enable="YES"
/etc/pf.conf
lb_if="lo0"
lb_ip="127.0.0.1"
int_if="xl0"
int_ip="192.168.0.254"
int_net="192.168.0.0/24"
ext_if="fxp0"
ext_ip="195.0.0.147"
www="{ 80, 8080 }"
#ssh
rdr on $ext_if proto tcp from any to $ext_ip port 22 -> 127.0.0.1 port 22
#squid
rdr on $int_if proto tcp from $int_net to any port $www -> 127.0.0.1 port 3129
#nat
nat on $ext_if from $int_net to any -> $ext_ip
#правила
pass in quick on $ext_if inet proto tcp from any to $ext_ip port 22
pass out quick on $ext_if inet proto tcp from $ext_ip to any
pass in quick on $lb_if all
pass out quick on lb_if all
pass in quick on $int_if all
pass out quick on $int_if all
pass in quick on $ext_if all
pass out quick on $ext_if all
pfctl -nf /etc/pf.conf отрабатывает без ошибок
/etc/ssh/
Port 22
Protocol 2
ListenAddress 127.0.0.1
ListenAddress 192.168.0.254
PermitRootLogin yes
Вопросы:
1) почему если на внешнем порту NAT, он отвечает на пинг?
2) на внутренний адрес ssh конектится без проблем а на внешний (извне) только из "195.0.0.147 netmask 0xfffffff8" c других адресов бывает но очень редко.
3) обязательно ли должен быть запущен inetd ?