IPFW

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
wowan400
ефрейтор
Сообщения: 61
Зарегистрирован: 2009-09-17 11:07:45

Re: IPFW

Непрочитанное сообщение wowan400 » 2010-08-30 23:52:28

все равно не помогает, что за напасть

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

wowan400
ефрейтор
Сообщения: 61
Зарегистрирован: 2009-09-17 11:07:45

Re: IPFW

Непрочитанное сообщение wowan400 » 2010-08-31 10:16:17

Есть аналогичная проблема у человека http://lists.freebsd.org/pipermail/free ... 41111.html как вариант решение проблемы переписать все правила на фаер pf.

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: IPFW

Непрочитанное сообщение hizel » 2010-08-31 10:40:17

ну работайте с kernel nat как будто у него всего one_pass=0, значит-со после nat-а надо выставить allow
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Гость
проходил мимо

Re: IPFW

Непрочитанное сообщение Гость » 2010-08-31 12:43:11

переменная net.inet.ip.fw.one_pass: 1 она при загрузке всегда 1, да действительно добавил после ната разрешающее правило
####################################################################
# NAT Kernel
####################################################################
$cmd nat 1 config log if ${pppOut} reset same_ports deny_in
$cmd add 00110 nat 1 ip from any to any via ${pppOut}
$cmd add 00111 allow ip from any to any via ${pppOut}

и пакеты пошли но тока это не правильно это не нат а маршрутизация, мне порты тока надо нужные пронатить а он все разрешит

wowan400
ефрейтор
Сообщения: 61
Зарегистрирован: 2009-09-17 11:07:45

Re: IPFW

Непрочитанное сообщение wowan400 » 2010-08-31 12:46:21

или я не прав?

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: IPFW

Непрочитанное сообщение hizel » 2010-08-31 12:49:00

какая еще маршрутизация?
попробуйте еще раз прочитать как проходят пактеы через ipfw, после nat пакеты идут уже оттранслированные если необходимо
что позволяет фильтровать после nat преобразования, правда никто не пользуется этим, потому что не нужно :-)
а чем вас не вштыривает ppp nat?
тогда правила сократятся, до

Код: Выделить всё

$cmd add 00111 allow ip from any to any via ${pppOut}
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

wowan400
ефрейтор
Сообщения: 61
Зарегистрирован: 2009-09-17 11:07:45

Re: IPFW

Непрочитанное сообщение wowan400 » 2010-08-31 13:37:35

Ясно,все понял спасибо большое за помощь

ajak
сержант
Сообщения: 216
Зарегистрирован: 2010-04-12 22:02:25

Re: IPFW

Непрочитанное сообщение ajak » 2010-09-14 15:31:24

Чёт я запутался, после перезборки ядра есть дно правило
65535 211 22213 deny ip from any to
пишу
ipfw add allow ip from any to any
и поялвяется нет, после перезагузки, моё правил исчезает
смотрю через show - его нету, даже пинги не посылаются
Куда его надо записать чтобы навсегда
,да и почему оно у меня под номером 100 идёт? Это правило

ajak
сержант
Сообщения: 216
Зарегистрирован: 2010-04-12 22:02:25

Re: IPFW

Непрочитанное сообщение ajak » 2010-09-15 11:39:47

Разобрался, вот ,если кому интересно

Моя система

Код: Выделить всё

FreeBSD yakushev 8.0-RELEASE FreeBSD 8.0-RELEASE #2: Wed Sep 15 13:33:24 MSD 2010     root@yakushev:/usr/obj/usr/src/sys/123  i386
Вот ядро для фаера

Код: Выделить всё

options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=1000
options         IPFIREWALL_FORWARD
options         IPDIVERT
options         DUMMYNET
rc.conf

Код: Выделить всё


ifconfig_rl0="inet 192.168.0.210  netmask 255.255.0.0"
defaultrouter="192.168.0.1"
sshd_enable="YES"
inetd_enable="YES"
hostname yakushev
gateway="NO"
firewall_script="/etc/rc.firewall"
firewall_enable="YES"
Кусок кода куда я записал своё правило , и там только loopback функция выполняется остальной скрипт не трогается, можно туда всё писать в эту функцию
[/etc/rc.firewall]

Код: Выделить всё


setup_loopback () {
        ############
        # Only in rare cases do you want to change these rules
        #
        #${fwcmd} add 100 pass all from any to any via lo0
        #${fwcmd} add 200 deny all from any to 127.0.0.0/8
        #${fwcmd} add 300 deny ip from 127.0.0.0/8 to any
         ${fwcmd} add 100 allow ip from any to any
}


Вот так.

tester13
проходил мимо
Сообщения: 1
Зарегистрирован: 2010-10-27 9:03:16

Re: IPFW

Непрочитанное сообщение tester13 » 2010-10-27 9:23:37

Приветствую форумчан.
Имею вопрос по ipfw.
Во фре новичек.

uname -a

Код: Выделить всё

FreeBSD name 8.0-RELEASE-p4 FreeBSD 8.0-RELEASE-p4 #3: Mon Jul 26 19:22:41 OMSST 2010
rc.firewall

Код: Выделить всё

#! /bin/sh
fwcmd="/sbin/ipfw"
${fwcmd} -f flush
###
wan_if="rl0"
wan_net="192.168.0.0/24"
wan_ip="192.168.0.2"
#
lan_if="rl1"
lan_net="192.168.1.0/24"
lan_ip="192.168.1.1"
###
#
${fwcmd} add check-state
${fwcmd} add allow all from any to any via lo0
${fwcmd} add allow all from any to any via ${lan_if}
#
# немного защиты ###
${fwcmd} add deny all from any to 127.0.0.0/8
${fwcmd} add deny all from 127.0.0.0/8 to any
#
${fwcmd} add fwd 127.0.0.1,3128 tcp from ${lan_net} to any 80,443,21,20 via ${lan_if}
#
${fwcmd} add divert natd all from ${lan_net} to any out via ${wan_if}
${fwcmd} add divert natd all from any to ${wan_ip} in via ${wan_if}
#
${fwcmd} add allow tcp from any to any established
${fwcmd} add allow all from ${wan_ip} to any xmit ${wan_if}
#
# исходящие ###
${fwcmd} add allow all from ${wan_ip} to any out via ${wan_if} uid root
${fwcmd} add allow tcp from any to any 53 out via ${wan_if} setup keep-state
${fwcmd} add allow udp from any to any 53 out via ${wan_if}
${fwcmd} add allow tcp from any to any 22 out via ${wan_if} setup keep-state
${fwcmd} add allow tcp from any to any 123 out via ${wan_if} setup keep-state
${fwcmd} add allow all from any to any 137,138,139 out via ${wan_if}
${fwcmd} add allow icmp from any to any out via ${wan_if} keep-state
${fwcmd} add deny all from any to any out via ${wan_if}
#
# входящие ###
${fwcmd} add allow tcp from any to any 53 in via ${wan_if} setup
${fwcmd} add alow udp from any to any 53 in via ${wan_if}
${fwcmd} add allow tcp from any to any 22 in via ${wan_if} setup
${fwcmd} add allow tcp from any to any 10000 in via ${wan_if} setup
${fwcmd} add allow icmp from any to any in via ${wan_if} icmptypes 0,8,11
${fwcmd} add deny all from any to any in via ${wan_if}
#
# запрет всего ###
${fwcmd} add 65002 deny all from any to any
#
rc.conf

Код: Выделить всё

gateway_enable="YES"
firewall_type="open"
firewall_script="/etc/rc.firewall"
natd_enable="YES"
natd_interface="rl0"
natd_flags="-f /etc/natd.conf"
192.168.0.1 - ADSL модем в режиме роутера
192.168.1.0/24 - несколько компов через свич

получаю вот что
ipfw show

Код: Выделить всё

00100    0      0 check-state
00200    0      0 allow ip from any to any via lo0
00300 1202 183491 allow ip from any to any via rl1
00400    0      0 deny ip from any to 127.0.0.0/8
00500    0      0 deny ip from 127.0.0.0/8 to any
00600    0      0 fwd 127.0.0.1,3128 tcp from 192.168.1.0/24 to any dst-port 80,443,21,20 via rl1
00700   36   2501 divert 8668 ip from 192.168.1.0/24 to any out via rl0
00800 1141  67815 divert 8668 ip from any to 192.168.0.2 in via rl0
00900    0      0 allow tcp from any to any established
01000  581  33999 allow ip from 192.168.0.2 to any xmit rl0
01100    0      0 allow ip from 192.168.0.2 to any out via rl0 uid root
01200    0      0 allow tcp from any to any dst-port 53 out via rl0 setup keep-state
01300    0      0 allow udp from any to any dst-port 53 out via rl0 setup
01400    0      0 allow tcp from any to any dst-port 22 out via rl0 setup keep-state
01500    0      0 allow tcp from any to any dst-port 123 out via rl0 setup keep-state
01600    0      0 allow ip from any to any dst-port 137,138,139 out via rl0
01700    0      0 allow icmp from any to any out via rl0 keep-state
01800    0      0 deny ip from any to any out via rl0
01900    0      0 allow tcp from any to any dst-port 22 in via rl0 setup
02000    0      0 allow tcp from any to any dst-port 10000 in via rl0 setup
02100    0      0 allow icmp from any to any in via rl0 icmptypes 0,8,11
02200   30   3023 deny ip from any to any in via rl0
65002    0      0 deny ip from any to any
65535    4    184 deny ip from any to any
естественно инета нет
настораживает отсутствие совпадений в 00600 и 01300 правилах (сквид есть и работает)

в чем я ошибаюсь ?

serzhinio
проходил мимо

Re: IPFW

Непрочитанное сообщение serzhinio » 2011-03-10 2:15:56

Подскажите как разрулить следующую ситуацию
В наследство остался сервер на фрибсд на котором установлен фринибс с фрирадиусом.
В следствии сбоя пришлось систему переустановить. С фринибсом разобрался - работает, однако не понятно каким образом можно перенаправить его внутренние адреса в интернет

При следующей настройке фаервола интернет раздается - однако в локальной сети скорость ощутимо падает - работать невозможно

ipfw='/sbin/ipfw -q'

${ipfw} -f flush
${ipfw} add divert natd all from any to any via fxp0 (внешний интерфейс)
${ipfw} add allow all from any to any

Сервер работает на freebsd 6.4 на котором работает сквид - раздающий инет в локальную сеть 10.77.0.1-прокси
(В сквиде прописаны delay_pools - максимальная скорость только на 5 пк)

rc.conf

fsck_y_enable="YES"
background_fsck="NO"
#amd_flags="-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map"
sendmail_enable="NONE"
check_quotas="NO"
defaultrouter="xx.xxx.172.149"
gateway_enable="YES"
hostname="xxxx-xxx.org"
ifconfig_fxp0="inet xx.xxx.172.150 netmask 255.255.255.252"
ifconfig_rl0="inet 10.77.0.1 netmask 255.255.255.0"
keymap="ua.koi8-u"
named_enable="YES"
nisdomainname="NO"
sshd_enable="YES"
tcp_extensions="NO"
mysql_enable="YES"
apache_enable="YES"
squid_enable="YES"
postfix_enable="YES"
inetd_enable="YES"
#ppp_nat="YES"
# for apache 2
#accf_http_load="YES"
radiusd_enable="YES"
firewall_enable="YES"
firewall_script="/usr/local/etc/rc.d/rc.firewall"
natd_enable="YES"
natd_interface="fxp0"
#natd_flags="-f /etc/natd.conf"


ppp.conf
radius:
set radius /etc/radius.conf
dial-in:
nat enable yes
enable pap
disable chap
set rad_service_type 11
disable deflate pred1
deny deflate pred1
set ifaddr 192.168.0.100 192.168.0.101-192.168.0.110
# set ifaddr 10.77.0.1 10.77.0.151-10.77.0.255
accept dns
set rad_service_type 11
set rad_alive 120
load radius
disable ipv6cp


кажется что при текущей настройке фаервола - интернет со всей внутренней сети идет минуя сквид.
Есть ли вариант сделать нормальную раздачу и в сквид и в ppp.

Marcello
ефрейтор
Сообщения: 64
Зарегистрирован: 2011-07-09 11:59:08

Re: IPFW

Непрочитанное сообщение Marcello » 2011-09-19 16:55:39

объясните пожалуйста некоторые моменты составления правил.

ситуация можно сказать самая простая. есть просто компьютер который через одну карточку с одним внешним айпи смотрит в мир.
необходимо просто настроить фаер по принципу "запрет по умолчанию".

во-первых как можно это правило

Код: Выделить всё

${FwCMD} add allow ip from ${IpOut} to any out xmit ${LanOut}
переписать с учетом динамик айпи? пробовал так

Код: Выделить всё

${FwCMD} add allow ip from me to any out xmit ${LanOut}
но там что-то непонятное, у меня и исходящий трафик сразу открывается, причем на портах которые я явно не открывал. Что вообще толком значит me?

и непонятно насчет правила:

Код: Выделить всё

${FwCMD} add allow udp from any 53 to any via ${LanOut}
если трактовать буквально, то разрешается весь трафик от любого порта 53 к любому порту на внешнем интерфейсе, то есть кто угодно с 53 порта по udp сможет доставлять пакеты любому порту моей локальной тачки?

в свою очередь если указать, например

Код: Выделить всё

${FwCMD} add allow udp from any to any 53 via ${LanOut}
то сразу разрешается трафик udp в обоих направлениях по порту 53, и корректнее было бы поставить так?
dns вообще работает udp запросом на 53 порт и получением на этот же 53 порт данных?

и еще не понятно что вообще значит

Код: Выделить всё

${FwCMD} add check-state
в мане что-то на английском закрутили непонятное, там что-то "кип алайв" еще должно быть я так понимаю, но в моем случае можно забить на это правило и не добавлять его?

Marcello
ефрейтор
Сообщения: 64
Зарегистрирован: 2011-07-09 11:59:08

Re: IPFW

Непрочитанное сообщение Marcello » 2011-09-19 17:05:53

хм, вот я чтоб открыть 53 в обоих направлениях следующие правила добавил, и тогда заработало преобразование имен

Код: Выделить всё

${FwCMD} add allow udp from any to any 53 via ${LanOut}
${FwCMD} add allow udp from any 53 to any via ${LanOut}
это правильное решение в моем случае, или желательно по-другому делать?

вот так может лучше?

Код: Выделить всё

${FwCMD} add allow udp from any 53 to any 53 via ${LanOut}
блин, а так не работает (

Marcello
ефрейтор
Сообщения: 64
Зарегистрирован: 2011-07-09 11:59:08

Re: IPFW

Непрочитанное сообщение Marcello » 2011-09-19 17:13:10

и так

Код: Выделить всё

${FwCMD} add allow udp from any to any 53 via ${LanOut}
${FwCMD} add allow udp from any 53 to any 53 via ${LanOut}
тоже чего-то не хочет.

Marcello
ефрейтор
Сообщения: 64
Зарегистрирован: 2011-07-09 11:59:08

Re: IPFW

Непрочитанное сообщение Marcello » 2011-09-19 18:29:16

в общем если кому-то интересно я уже в общем то разобрался :)

Код: Выделить всё

...
${FwCMD} add check-state
...
${FwCMD} add allow tcp from any to any 80 out via ${LanOut} setup keep-state
${FwCMD} add allow tcp from any to any 443 out via ${LanOut} setup keep-state

${FwCMD} add allow tcp from any to x.x.x.x 53 out via ${LanOut} setup keep-state
${FwCMD} add allow udp from any to x.x.x.x 53 out via ${LanOut} keep-state
${FwCMD} add allow tcp from any to y.y.y.y 53 out via ${LanOut} setup keep-state
${FwCMD} add allow udp from any to y.y.y.y 53 out via ${LanOut} keep-state
...
где x.x.x.x и y.y.y.y - dns-сервера, которым мы доверяем.

Marcello
ефрейтор
Сообщения: 64
Зарегистрирован: 2011-07-09 11:59:08

Re: IPFW

Непрочитанное сообщение Marcello » 2011-09-19 18:37:57

только вот до конца не мог понять, что толком дает setup? и если без него указать?

вот есть например правила

Код: Выделить всё

${ipfw} add allow tcp from any to any out via ${ifout}  setup keep-state

Код: Выделить всё

${ipfw} add allow tcp from any to any keep-state via ${ifout} 
чем они отличаются?

Marcello
ефрейтор
Сообщения: 64
Зарегистрирован: 2011-07-09 11:59:08

Re: IPFW

Непрочитанное сообщение Marcello » 2011-09-20 10:49:35

блин, я всетаки не могу понять, почему не работают такие правила?

Код: Выделить всё

allow udp from any to any dst-port 53
allow tcp from any to any dst-port 53
allow udp from any 53 to any dst-port 53
allow tcp from any 53 to any dst-port 53

ReZet
проходил мимо

Re: IPFW

Непрочитанное сообщение ReZet » 2011-09-27 5:22:52

У меня не получается файл конфигурации подключить к IPFW пишу FwCMD="/sbin/ipfw"
дальше идут переменные. Полсе чего пишу команду ipfw /etc/rc.firewoll
в ответ получаю bad command 'FwCMD="/sbin/ipfw"'
Ось FreeBSD 8

Marcello
ефрейтор
Сообщения: 64
Зарегистрирован: 2011-07-09 11:59:08

Re: IPFW

Непрочитанное сообщение Marcello » 2011-09-29 17:00:54

если надо динамически настройки подключить, переходи в /etc/

Код: Выделить всё

./set.sh
а о создании скрипта настроек читай здесь http://www.lissyara.su/articles/freebsd/tuning/ipfw/

Аватара пользователя
slb51
мл. сержант
Сообщения: 126
Зарегистрирован: 2009-10-27 12:04:47
Откуда: Нижний Новгород

Re: IPFW

Непрочитанное сообщение slb51 » 2011-10-20 5:19:40

Уважаемые господа, возникла проблемка, с которой не удаётся разобраться. Имеется IPFW на FreeBSD 8.2, локальная сеть и Internet по выделенке. В локалке все машины под Windows XP. До поры всё было хорошо, но вдруг браузеры (любые) перестали загружать сайты. При этом ping по тем же адресам проходит отлично. Если пускать Инет через NAT (nat на другой машине), этой проблемы не возникает, а если через Виндовый ISA 2006, наблюдается та же картинка, что и на IPFW. Ну, не "вдруг", конечно, это случилось, но я не уловил момента, после чего вылез косяк. Подскажите, пожалуйста, в каком направлении искать решение вопроса.

Аватара пользователя
bagas
лейтенант
Сообщения: 922
Зарегистрирован: 2010-08-18 19:49:01
Откуда: Воронеж
Контактная информация:

Re: IPFW

Непрочитанное сообщение bagas » 2011-10-20 9:17:19

Вы пишите , пускаете нет через нат, то все отлично а если через isa то тоже блочитсья?
Тогда как в данный момент тырнет раздается?
Возможно порт 80 блочиться?
Что бы ты не делал , жизнь слишком коротка!
Блог о BSD системах.

Аватара пользователя
slb51
мл. сержант
Сообщения: 126
Зарегистрирован: 2009-10-27 12:04:47
Откуда: Нижний Новгород

Re: IPFW

Непрочитанное сообщение slb51 » 2011-10-20 9:39:39

В данный момент через нат.

Аватара пользователя
slb51
мл. сержант
Сообщения: 126
Зарегистрирован: 2009-10-27 12:04:47
Откуда: Нижний Новгород

Re: IPFW

Непрочитанное сообщение slb51 » 2011-10-21 13:39:47

Возможно порт 80 блочиться?
А если так, то где копать? И почему сразу и на IPFW и на ISA?

Аватара пользователя
slb51
мл. сержант
Сообщения: 126
Зарегистрирован: 2009-10-27 12:04:47
Откуда: Нижний Новгород

Re: IPFW

Непрочитанное сообщение slb51 » 2011-10-21 13:55:04

Точно 80 порт блочится! Попробовал соединения по ftp, катит на ура. Так где копать на фойере, ткните мордой кто-нибудь.

Аватара пользователя
slb51
мл. сержант
Сообщения: 126
Зарегистрирован: 2009-10-27 12:04:47
Откуда: Нижний Новгород

Re: IPFW

Непрочитанное сообщение slb51 » 2011-10-21 16:59:39

Чё-то я сам с собой тут беседую. Всем спасибо, ничего не надо, уже нашёл. Но за подсказку насчёт порта 80 спасибо.