URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 89256
[ Назад ]

Исходное сообщение
"? про pf nat"

Отправлено TAliSMNA , 29-Июн-10 04:03 
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 ?


Содержание

Сообщения в этом обсуждении
"? про pf nat"
Отправлено VolanD , 29-Июн-10 07:00 
>[оверквотинг удален]
>   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 ?

1) Кто ОН?
2) Может потому что у вас ListenAddress 127.0.0.1 и ListenAddress 192.168.0.254 ?
3) Для чего? ссх и без инетд может работать, если вы об этом...


"? про pf nat"
Отправлено Aquarius , 29-Июн-10 22:39 
по второму вопросу:
по тому, что для клиента 127.0.0.1 нет NAT'а на внешнем интерфейсе, то есть, входящий трафик пробрасывается, а встречный (ответный) не может попасть по назначению, что не касается сети 195.0.0.147 netmask 0xfffffff8, для которой NAT не нужен
зачем не слушать SSH на внешнем интерфейсе, но тем не менее, редиректить с него?
какой в этом смысл?

"? про pf nat"
Отправлено TAliSMNA , 30-Июн-10 03:30 
я так понимал что если на внешнем интерфейсе стоит NAT то он резервирует за собой все порты, а редирект работает до NAT.

то есть в ssh ставим на прослушку внешнего порта и всё будет нормально?



"? про pf nat"
Отправлено Aquarius , 30-Июн-10 06:23 
>я так понимал что если на внешнем интерфейсе стоит NAT то он
>резервирует за собой все порты, а редирект работает до NAT.
>
>то есть в ssh ставим на прослушку внешнего порта и всё будет
>нормально?

дело не в этом, дело в том, что редирект работает только на трафик в одну сторону, для ответного трафика нужна маршрутизация или другой способ для пакетов попасть туда, куда надо.
если убрать редирект и начать слушать SSH на внешнем интерфейсе, проблема должна уйти


"? про pf nat"
Отправлено VolanD , 30-Июн-10 10:37 
>по второму вопросу:
>по тому, что для клиента 127.0.0.1 нет NAT'а на внешнем интерфейсе, то
>есть, входящий трафик пробрасывается, а встречный (ответный) не может попасть по
>назначению, что не касается сети 195.0.0.147 netmask 0xfffffff8, для которой NAT
>не нужен
>зачем не слушать SSH на внешнем интерфейсе, но тем не менее, редиректить
>с него?
>какой в этом смысл?

Ого, редиректа я как-то не заметил... Действительно... зачем он там?


"? про pf nat"
Отправлено TAliSMNA , 02-Июл-10 03:52 
дело в том что изначально было настроено без rdr а потом я начал мудрить.
проблема как оказалось в том что снаружи ко мне не приходят 20,21,22,23,25,53,80,110 порты (это только то что успел проверить, спать очень хотелось)выяснилось это работоспособностью 3389 порта (rdr в локалку) поставил ssh на 3389 и о чудо ssh поднялся, также проверил на 65022 работает. есть подозрение что провайдер режет порты (после секаса с ssh) вспомнились слова мэнеджера нашего районного провайдера, "точно нужен публичный статический IP, за него каждый месяц абон. плата"  ещё один камень в огород что авторизация у меня по ip и mac, но при смене mac, после 10го не вернувшегося пинга сеть подымается.

Вопросы:
1) есть две FreeBSD_8.0_i386, одна дома, одна на работе. к той что дома доступ через ssh, а к той что на работе любой, как на домашней открыть все порты, а с рабочей их все проверить.
а уже вечером идти разбираться. вариант ставить ssh по очереди на 65535 портов мне не нравиться.

2) есть ли возможность проверить где именно рубятся порты? tracert проходит без проблем.


"? про pf nat"
Отправлено VolanD , 02-Июл-10 16:48 
>[оверквотинг удален]
>Вопросы:
>1) есть две FreeBSD_8.0_i386, одна дома, одна на работе. к той что
>дома доступ через ssh, а к той что на работе любой,
>как на домашней открыть все порты, а с рабочей их все
>проверить.
>а уже вечером идти разбираться. вариант ставить ssh по очереди на 65535
>портов мне не нравиться.
>
>2) есть ли возможность проверить где именно рубятся порты? tracert проходит без
>проблем.

2) Есть вариант поиграться с unix'овым traceroute, он для транспорта использует UDP, ему (вроде через параметр -U) можно задать порт через который он будет ходить...