IPFW

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

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
dark123us
проходил мимо
Сообщения: 3
Зарегистрирован: 2009-03-09 20:49:15

Re: IPFW

Непрочитанное сообщение dark123us » 2009-03-09 21:12:30

Не понимаю, почему не работает (не запускается) скрипт из firewall_script="/usr/local/etc/ipfw.rules".
FreeBSD ставил на виртуальную машину, сразу после этого пересобрал ядро, выбросив SCSI, USB, ISA устройства, и добавил включение файрвола.
Скрипт из /usr/local/etc/rc.d/ipfw.sh запускается, а прописанный в firewall_script="/usr/local/etc/ipfw.rules" нет. Хотя если запустить его sh /usr/local/etc/ipfw.rules, то он работает.

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

megavint# uname -v
FreeBSD 7.0-RELEASE #2: Mon Mar  9 17:04:42 UTC 2009     admin@megavint.by:/usr/obj/usr/src/sys/MY

megavint# cat /usr/src/sys/i386/conf/MY
....
options         IPFIREWALL
options         IPDIVERT
options         DUMMYNET
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=5
options         IPFIREWALL_FORWARD

megavint# ipfw show
01000 202 21324 allow ip from any to any
65535  14   924 deny ip from any to any

megavint# cat /etc/rc.conf
gateway_enable="YES"
hostname="megavint.by"
ifconfig_em0="inet 192.168.0.10  netmask 255.255.255.0"
keymap="ru.koi8-r"
sshd_enable="YES"
firewall_enabled="YES"
firewall_script="/usr/local/etc/ipfw.rules"

megavint# ls -l /usr/local/etc/
total 4
-rwxr-xr-x  1 root  wheel   80 Mar  9 18:51 ipfw.rules
drwxr-xr-x  2 root  wheel  512 Mar  9 18:36 rc.d

megavint# cat /usr/local/etc/ipfw.rules
#!/bin/sh
fw=/sbin/ipfw
${fw} -f -q flush
${fw} -q add 2000 allow ip from any to any

megavint# cat /usr/local/etc/rc.d/ipfw.sh
#!/bin/sh
fw="ipfw -q add"
/sbin/ipfw -q -f flush
${fw} 1000 allow ip from any to any

megavint# ifconfig
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
        ether 00:0c:29:3d:6b:fc
        inet 192.168.0.10 netmask 0xffffff00 broadcast 192.168.0.255
        media: Ethernet autoselect (1000baseTX <full-duplex>)
        status: active
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> metric 0 mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000

Хостинговая компания 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/

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: IPFW

Непрочитанное сообщение paradox » 2009-03-09 21:19:02

а с какой радости его аж в локал понесло?? :cz2:

dark123us
проходил мимо
Сообщения: 3
Зарегистрирован: 2009-03-09 20:49:15

Re: IPFW

Непрочитанное сообщение dark123us » 2009-03-09 21:32:27

хм, ну куда положил, туда и занесло, хотя и в папке /etc тоже не работает.

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: IPFW

Непрочитанное сообщение paradox » 2009-03-09 21:37:18

положите все как положено
без фантазий
сделайте sh /etc/rc.d/ipfw restart
и покажите результат

dark123us
проходил мимо
Сообщения: 3
Зарегистрирован: 2009-03-09 20:49:15

Re: IPFW

Непрочитанное сообщение dark123us » 2009-03-09 21:55:43

То же самое - нету "02000 ......."

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

megavint# cat /etc/ipfw.conf
#!/bin/sh
fw=/sbin/ipfw
${fw} -f -q flush
${fw} -q add 2000 allow ip from any to any

megavint# cat /etc/rc.conf
...
firewall_enabled="YES"
firewall_script="/etc/ipfw.conf"

megavint# sh /etc/rc.d/ipfw restart
megavint# ipfw show
01000 332 31779 allow ip from any to any
65535  14   924 deny ip from any to any

djmix
ефрейтор
Сообщения: 52
Зарегистрирован: 2009-03-18 18:52:34

Re: IPFW

Непрочитанное сообщение djmix » 2009-03-18 19:15:11

Народ! не хочу показаться глупым но все таки (не пинайте сильно).
У меня вобщем на любой пинг пишет
Cannot resolve ya.ru: Host name lookup failure
Значит что я делал. Включил в ядре фаервол (как в уроке). Дописал правила в /etc/rc.firewall точно такие же как указаны в уроке. Дописал их в разделе [Uu][Nn][Kk][Nn][Oo][Ww][Nn].

Что делаю не так подскажите плиз!

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: IPFW

Непрочитанное сообщение paradox » 2009-03-19 3:00:03

resolve.conf
прописать то что надо

Аватара пользователя
folax
мл. сержант
Сообщения: 86
Зарегистрирован: 2008-04-01 17:00:10
Откуда: Украина

Re: IPFW

Непрочитанное сообщение folax » 2009-03-19 11:27:39

А по поводу статьи про IPFW в FreeBSD 7 и ядерный нат было просто бы супер. Я например начинал изучать фаерволл с этого сайта.Поэтому с нетерпением буду ждать статьи.Всем вам за помощь уважение и большое спасибо. :roll:
если что то делаешь то что то меняться и будет

Аватара пользователя
kima
рядовой
Сообщения: 42
Зарегистрирован: 2009-01-22 14:29:39
Откуда: Москва
Контактная информация:

Re: IPFW

Непрочитанное сообщение kima » 2009-03-19 13:46:43

+1!!
Так же данная статья была первым шагом в изучении славной ОСи!
Per aspera ad astra!

Аватара пользователя
Zhan
рядовой
Сообщения: 47
Зарегистрирован: 2008-04-14 13:42:09
Откуда: Almaty
Контактная информация:

Re: IPFW

Непрочитанное сообщение Zhan » 2009-03-19 17:19:36

Приветствую вас всех )))
Значит все по статье )) IPFW в ядре, если я правильно понял, то писать в rc.conf firewall_enable="YES" - не нужно.
в rc.conf добавил firewall_script="/etc/rc.firewall"

далее рестартую тачку пишу ipfw list
вывод 65535 allow ip from any to any :st:

делаю /etc/netstart
пишу ipfw list
вывод 65535 allow ip from any to any :st:

делаю sh /etc/rc.firewall
пишу ipfw list
вывод - все правила прописанные в /etc/rc.firewall :shock:

В чем может быть проблема??? :?:
уже все проверял - вроде как правильно!

В итоге прописал в rc.conf - firewall_enable="YES"
перегрузил
пишу ipfw list
вывод - все правила прописанные в /etc/rc.firewall
_____
НЕ пойму зачем загружать его модулем - если он прописан в ядре??? :???:

P.S. FreeBSD 6.2
Знания, которые не пополняются ежедневно, убывают с каждым днем.

djmix
ефрейтор
Сообщения: 52
Зарегистрирован: 2009-03-18 18:52:34

Re: IPFW

Непрочитанное сообщение djmix » 2009-03-20 19:44:37

Народ! Простите за тупизм. Подскажите где почитать про resolv.conf

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

Re: IPFW

Непрочитанное сообщение hizel » 2009-03-20 19:59:16

man resolv.conf :oops:
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

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

Re: IPFW

Непрочитанное сообщение Fagrant » 2009-03-20 20:36:01

Во-первых, громадное спасибо автору статьи! Lissyara - спаситель и учитель! :)
На сайте почерпнул многое (с FreeBSD знаком три дня). И надеюсь взять еще больше :)

Однако! В этой ветке несколько раз задавался вопрос, до сих пор оставшийся без ответа.
Если делать все по статье, НУ НИКАК НЕ ГРУЗИТСЯ firewall_script. Руками - да, правила потом видны по show.
Из rc.conf - нет.

Насколько я понял, дело в различиях довольно древней версии автора с 7.1, которую я использую.
Было бы ОЧЕНЬ полезно указать в начале статьи, что для текущих версий все делать надо с оглядкой,
а еще лучше - энтузиастам новую статейку сбацать, для седьмой версии. Я мог бы, но у меня пока не работает :)

Вроде как(!), в 7.1 тоже надо делать firewall_enable="YES" , иначе файер грузится, но с одним правилом по умолчанию.

Казалось бы, фигня. Но! Если я включаю эту опцию, ФРЯ ЛОЖИТСЯ!
Ни на что не реагирует, даже в консоли, которая к сетевым интерфейсам не относится. Не пингуется.
Классная штучка, научила меня грузиться со старого ядра без IPFW. Lissyara - отдельное спасибо :)
Также система себя ведет при sysctl net.inet.ip.fw.enable=1.

rc.conf:

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

inetd_enable="YES"
firewall_script="/etc/rc.firewall_my"
firewall_logging="YES"
Ядро:

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

options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=10
options         IPFIREWALL_DEFAULT_TO_ACCEPT
options         IPFIREWALL_FORWARD
Платформа UltraSparc64 (Sun)

Помогите, что делать - не знаю. Инфы честно гору перевернул, но - не складывается пока :(

snorlov
подполковник
Сообщения: 3929
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: IPFW

Непрочитанное сообщение snorlov » 2009-03-20 23:48:01

Ну не знаю ребята, у меня FREEBSD-7.0-RELEASE-p7
ядро

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

options         IPFIREWALL
options         IPFIREWALL_NAT
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=100
options         IPFIREWALL_FORWARD

options LIBALIAS
options IPDIVERT
options DUMMYNET
rc.conf

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

firewall_enable="YES"
firewall_type="OPEN"
Firewall_script=/etc/rc.firewall
natd_interface=....
natd_enale="YES"
На всякий случай ставлю на /etc/rc.firewall флаг выполнения
на боевом сервере создан отдельный файл правил по аналогии с /etc/rc.firewall, обозван /etc/rc.firewall.current
с секцией CURRENT и поэтому на нем в rc.conf фигурирует

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

firewall_type="CURRENT"
Firewall_script=/etc/rc.firewall.current
Да nat у меня ядерный... Да все это работает и на 7.1

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

Re: IPFW

Непрочитанное сообщение Fagrant » 2009-03-21 11:43:56

Да, ты крутой, у тебя все работает.
Впрочем, никто и не сомневался что должно.
Правда твой ответ ну ничем не помог.

snorlov
подполковник
Сообщения: 3929
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: IPFW

Непрочитанное сообщение snorlov » 2009-03-21 14:57:58

Fagrant писал(а):Да, ты крутой, у тебя все работает.
Впрочем, никто и не сомневался что должно.
Правда твой ответ ну ничем не помог.
Другими словами, ты собрал ядро с нужными опциями, установил это ядро,
после чего в rc.conf прописываешь 'firewall_enable=yes' и при перезагрузке у тебя машина повисает,
а если не прописывать а грузить ручками через kldload то все хоккей?
кстати, а inetd_enable="yes" зачем он тебе
у меня этого нет...
И ссылку на статью с этого сайта дай, почитаю...

Alksndr
рядовой
Сообщения: 18
Зарегистрирован: 2009-05-14 18:48:34
Откуда: Оттуда где медведи по улицам ходят
Контактная информация:

Re: IPFW

Непрочитанное сообщение Alksndr » 2009-05-23 23:23:17

Подскажите пожалуйста, после запуска вот такого скрипта

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

#!/bin/sh

FwCMD="/sbin/ipfw -q  "
LanOut="vr0"
LanIn="sk0"
IpOut="192.168.1.1"
IpIn="192.168.0.1"
NetMask="24"

NetIn="192.168.0.0"

${FwCMD} -f flush
${FwCMD} add check-state

${FwCMD} add allow ip from any to any via lo0
${FwCMD} add deny ip from any to 127.0.0.0/8
${FwCMD} add deny ip from 127.0.0.0/8 to any

${FwCMD} add deny ip from any to 10.0.0.0/8 in via ${LanOut}
${FwCMD} add deny ip from any to 172.16.0.0/12 in via ${LanOut}
${FwCMD} add deny ip from any to 192.168.0.0/16 in via ${LanOut}
${FwCMD} add deny ip from any to 0.0.0.0/8 in via ${LanOut}
${FwCMD} add deny ip from any to 169.254.0.0/16 in via ${LanOut}
${FwCMD} add deny ip from any to 240.0.0.0/4 in via ${LanOut}
${FwCMD} add deny icmp from any to any frag
${FwCMD} add deny log icmp from any to 255.255.255.255 in via ${LanOut}
${FwCMD} add deny log icmp from any to 255.255.255.255 out via ${LanOut}

${FwCMD} add fwd ${IpIn},3128 tcp from ${NetIn}/${NetMask} to any 80 via ${LanOut}
${FwCMD} add divert natd ip from ${NetIn}/${NetMask} to any out via ${LanOut}
${FwCMD} add divert natd ip from any to ${IpOut} in via ${LanOut}

${FwCMD} add deny ip from 10.0.0.0/8 to any out via ${LanOut}
${FwCMD} add deny ip from 172.16.0.0/12 to any out via ${LanOut}
${FwCMD} add deny ip from 192.168.0.0/16 to any out via ${LanOut}
${FwCMD} add deny ip from 0.0.0.0/8 to any out via ${LanOut}
${FwCMD} add deny ip from 169.254.0.0/16 to any out via ${LanOut}
${FwCMD} add deny ip from 224.0.0.0/4 to any out via ${LanOut}
${FwCMD} add deny ip from 240.0.0.0/4 to any out via ${LanOut}



${FwCMD} add allow tcp from any to any established
${FwCMD} add allow ip from ${IpOut} to any out xmit ${LanOut}

${FwCMD} add allow udp from any 53 to any via ${LanOut}
${FwCMD} add allow udp from any to any 123 via ${LanOut}
${FwCMD} add allow tcp from any to ${IpOut} 49152-65535 via ${LanOut}
${FwCMD} add allow icmp from any to any icmptypes 0,8,11
${FwCMD} add allow tcp from any to ${IpOut} 80 via ${LanOut}
${FwCMD} add allow tcp from any to ${IpOut} 22 via ${LanOut}

${FwCMD} add allow tcp from any to any via ${LanIn}
${FwCMD} add allow udp from any to any via ${LanIn}
${FwCMD} add allow icmp from any to any via ${LanIn}
${FwCMD} add deny ip from any to any

наглухо отпадает интернет на сервере... даже не пингуется ничего

вывод ifconfig

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

vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=2808<VLAN_MTU,WOL_UCAST,WOL_MAGIC>
	ether 00:1c:f0:98:40:6a
	inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
	media: Ethernet autoselect (100baseTX <full-duplex>)
	status: active
sk0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=b<RXCSUM,TXCSUM,VLAN_MTU>
	ether 00:1e:58:49:55:d1
	inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
	media: Ethernet autoselect (100baseTX <full-duplex,flag0,flag1>)
	status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
	inet 127.0.0.1 netmask 0xff000000 
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1492
	inet 94.137.44.106 --> 10.254.254.254 netmask 0xffffff00 
	Opened by PID 341
ядро:

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

options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=100
options         IPFIREWALL_FORWARD
options         IPDIVERT
options         DUMMYNET
#options        TCP_DROP_SYNFIN
options         IPFIREWALL_NAT
options         LIBALIAS
options         IPFIREWALL_DEFAULT_TO_ACCEPT
rc.conf

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

inetd_enable="YES"
natd_enable="NO"
firewall_enable="YES"
firewall_nat_enable="YES"
firewall_nat_interface="vr0"
#firewall_type="open"


paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: IPFW

Непрочитанное сообщение paradox » 2009-05-23 23:57:17

логично
еще бы ему не отпадать

а где вы этот копипаст взяли?
сами чего не напишите все с нуля?

Alksndr
рядовой
Сообщения: 18
Зарегистрирован: 2009-05-14 18:48:34
Откуда: Оттуда где медведи по улицам ходят
Контактная информация:

Re: IPFW

Непрочитанное сообщение Alksndr » 2009-05-24 9:45:34

paradox » 2009-05-24 3:57:17
логично
еще бы ему не отпадать
а может подскажете почему? ;-) а то для меня ipfw это немного мозговыносящая вещь
paradox » 2009-05-24 3:57:17
а где вы этот копипаст взяли?
сами чего не напишите все с нуля?
http://www.lissyara.su/?id=1127
мне оно показалось логичным, выкинул на мой взгляд не особо нужное.

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: IPFW

Непрочитанное сообщение paradox » 2009-05-24 11:39:35

а может подскажете почему? а то для меня ipfw это немного мозговыносящая вещь
не скажу
ошибка слишком очевидная
поэтому вы должны понять весь фаервол
и не заниматься копи пастом

Alksndr
рядовой
Сообщения: 18
Зарегистрирован: 2009-05-14 18:48:34
Откуда: Оттуда где медведи по улицам ходят
Контактная информация:

Re: IPFW

Непрочитанное сообщение Alksndr » 2009-05-24 12:19:13

сделал проще

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

#!/bin/sh

FwCMD="/sbin/ipfw  "
LanOut="vr0"
LanIn="sk0"
IpOut="192.168.1.1"
IpIn="192.168.0.1"
NetMask="24"
NetIn="192.168.0.0"

${FwCMD} -f flush

${FwCMD} add allow all from any to any via lo0
${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 check-state

${FwCMD} add deny all from any to any frag
${FwCMD} add allow tcp from any to any established

${FwCMD} add allow tcp from any to any out via ${LanOut} setup keep-state
${FwCMD} add allow udp from any to any out via ${LanOut} keep-state
${FwCMD} add allow tcp from any to any  80 in via ${LanOut} setup keep-state
${FwCMD} add allow all from any to any  22 in via ${LanOut} setup keep-state

${FwCMD} add allow icmp from any to any

${FwCMD} add allow tcp from any to any via ${LanIn}
${FwCMD} add allow udp from any to any via ${LanIn}
${FwCMD} add allow icmp from any to any via ${LanIn}
${FwCMD} add deny all from any to any
все равно нет не работает на самой машине, хотя с локалки аська подключается

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: IPFW

Непрочитанное сообщение paradox » 2009-05-24 12:30:04

все равно нет не работает на самой машине, хотя с локалки аська подключается
ого!
круто

может у народа еще и инет есть? =) через ваш сервер
а на самом сервере инета нет?

Alksndr
рядовой
Сообщения: 18
Зарегистрирован: 2009-05-14 18:48:34
Откуда: Оттуда где медведи по улицам ходят
Контактная информация:

Re: IPFW

Непрочитанное сообщение Alksndr » 2009-05-24 12:44:28

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

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

While trying to retrieve the URL: http://www.opennet.ru/cgi-bin/opennet/ks.cgi?

The following error was encountered:

    * Connection to Failed 

The system returned:

    (13) Permission denied

The remote host or network may be down. Please try the request again.

Your cache administrator is webmaster. 

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: IPFW

Непрочитанное сообщение paradox » 2009-05-24 12:46:43

а вы убейте весь фаер
и поставте одно правило
allow all from any to any

Alksndr
рядовой
Сообщения: 18
Зарегистрирован: 2009-05-14 18:48:34
Откуда: Оттуда где медведи по улицам ходят
Контактная информация:

Re: IPFW

Непрочитанное сообщение Alksndr » 2009-05-24 12:50:13

А смысл от него тогда... так-то точно все работать будет