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

Исходное сообщение
"Раздел полезных советов: Особенности использование ftp из-за фаервола ipfw/natd"

Отправлено auto_tips , 09-Сен-04 06:25 
Необходимо выпустить пользователей на ftp сайты из локальной сети, но при этом не устанавливая
дополнительного ПО, используя только возможности FreeBSD 4.10.
Этими возможностями, как ни странно, оказались ipfw и natd
вот собственно как все это прописывается.

Исходные данные, FreeBSD 4.10 + настроенный nat правила для ipfw
   ipfw -q add 100 divert natd from 192.168.20.0/24 to any 20, 21 out via $oif
   ipfw -q add 200 divert natd from any 20, 21 to $iip in via $oif
   ipfw -q add 300 allow tcp from any to any established
   ipfw -q add 400 allow tcp from any to any setup
где $oif и $iip соответственно внешний интерфейс и внешний IP

теперь запускаем natd
   /sbin/natd -m -s -u -punch_fw 500:200 -n xl1

заострю внимание на параметре "-punch_fw" -этот параметр создает в фаерволе "ходы",
добавляя динамические правила. В моем случае эти правила начнутся с номера 500 и будет их добавлено
максимум 200 (понятно чем больше сеть, те больше нужно правил).

Особое спасибо A Clockwork Orange.


URL:
Обсуждается: http://www.opennet.ru/tips/info/721.shtml


Содержание

Сообщения в этом обсуждении
"Особенности использование ftp из-за фаервола ipfwnatd"
Отправлено MoHaX , 09-Сен-04 06:25 
Я чего-то не понял, во эта строчка
ipfw -q add 400 allow tcp from any to any setup
открывает доступ ко всем портам? Если да то это помоему не безопастно... Или я ошибаюсь?

"Особенности использование ftp из-за фаервола ipfwnatd"
Отправлено Аноним , 27-Сен-04 19:50 
Все гораздо хуже
setup пропускает SYN пакеты.
eslablished - пакеты с ACK'ами.

В итоге мы имеем allow на любую TCP сессию. ПЫП.

Поясняю ин-рашан: ко всему, что работает по TCP доступ открыт.


"Особенности использование ftp из-за фаервола ipfwnatd"
Отправлено PASHA , 08-Янв-06 22:24 
>Все гораздо хуже
>setup пропускает SYN пакеты.
>eslablished - пакеты с ACK'ами.

А если мы добавим вот это?:
${ipfw} add 60 deny tcp from any to any not established tcpflags fin
${ipfw} add 70 deny tcp from any to any tcpflags fin,syn,rst,psh,ack,urg
${ipfw} add 80 deny tcp from any to any tcpflags !fin,!syn,!rst,!psh,!ack,!urg



"Особенности использование ftp из-за фаервола ipfw/natd"
Отправлено globus , 29-Окт-04 07:39 
а кто сказал что на этой тачке есть сервисы запущенные ?

"Особенности использование ftp из-за фаервола ipfw/natd"
Отправлено Mitry , 07-Янв-05 17:27 
если мы заменим
ipfw -q add 400 allow tcp from any to any setup
на
ipfw -q add 2000 deny tcp from any to any setup in via $oif

то получим не только возможность работы по ftp из локалки, но и "немного" закрытый снаружи файервол.


"Особенности использование ftp из-за фаервола ipfw/natd"
Отправлено Гость , 05-Сен-05 18:48 
Откровенный бред.
Вас еще не сломали? тогда мы идем к вам :-)

"Особенности использование ftp из-за фаервола ipfw/natd"
Отправлено Александр , 07-Фев-06 18:41 
А если сделать?:
ipfw -q add 300 allow tcp from any to $iip 20,21 established
ipfw -q add 350 allow tcp from $iip 20,21 to any established
ipfw -q add 400 allow tcp from any to $iip 20,21 setup
ipfw -q add 450 allow tcp from $iip 20,21 to any setup

"Особенности использование ftp из-за фаервола ipfw/natd"
Отправлено Stefman , 30-Май-06 16:04 
В этом случае пассивный FTP не работает. Данные идут по >1023 портам. 20-й порт не используется вообще

"Особенности использование ftp из-за фаервола ipfw/natd"
Отправлено Bani , 19-Окт-06 17:30 
нихера не помогает то что ты написал, как не входит так и не входит, есть ешё что нить для решения задачи?

"Особенности использование ftp из-за фаервола ipfw/natd"
Отправлено Dzmitry , 09-Окт-08 13:48 
   ipfw -q add 300 allow tcp from any to any established
   ipfw -q add 400 allow tcp from any to any setup

Не пугайте людей.
Сначала setup, потом established?

Это равносильно allow all from any to any!


"Особенности использование ftp из-за фаервола ipfw/natd"
Отправлено agape , 13-Авг-09 12:42 
Все-таки, как сделать, чтобы работало? У меня не работает. Написал вот что:

rc.conf:
...
natd -p 8671 -f /etc/natd.conf -n ${prov1} -punch_fw 10000:200
...

rc.firewall:
...
prov1="rl2"
fwcmd="ipfw -q add"
...
${fwcmd} 9500 divert 8671 ip4 from any to any 20,21 out xmit ${prov1}
${fwcmd} 9510 divert 8671 ip4 from any 20,21 to any in recv ${prov1}
${fwcmd} 9540 allow tcp from any to any established
${fwcmd} 9550 count tcp from any to any setup
...
${fwcmd} 60000 deny log logamount 20000 ip from any to any
...

Судя по логу видно, что на фаер прилетают запросы на 21 порт, который фаер банит. Дописал:
${fwcmd} 9560 allow tcp from any to any 20,21
В логе фаера ошибки исчезли, но соединение не происходит и в логах ftp-сервера видно, что авторизация на сервере происходит до того момента как клиент попытается "создать в фаерволле ходы" :(


"Особенности использование ftp из-за фаервола ipfw/natd"
Отправлено agape , 14-Авг-09 06:38 
А вообще оно работает? Пробовал написать даже так:
allow tcp from any to any 20,21,1024-65535
allow tcp from any 20,21,1024-65535 to any
И вообще вот так:
allow tcp from any to any
allow tcp from any to any
Пофиг! Разница только в том, что если я разбаниваю эти порты, коннект отлетает не на команде PORT (куча_цифр) а на команде LIST с сообщением 425 Unable to open the data connection

Оно вообще из-за nat-а работает?!


"Особенности использование ftp из-за фаервола ipfw/natd"
Отправлено agape , 14-Авг-09 06:43 
А вообще не очень понятно, чем был плох старый стандарт, когда коннект происходил по 21 порту, а данные лились по 20? Какого х*** потребовалось изобретать этот е****** кретинский режим работы, из-за которого у админов одна только е***** и еще х** знает с каким результатом? Что вообще позитивного внесли эти дегенераты, которые этот стандарт придумали?