Страница 1 из 2
ipfw
Добавлено: 2010-11-03 13:07:20
uvetrom
Настривал freebsd 8.1 по первому примеру из статьи
http://www.lissyara.su/articles/freebsd ... /ipfw_nat/
После бересборки ядра с параметрами:
Код: Выделить всё
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=50
options IPFIREWALL_NAT
options LIBALIAS
options ROUTETABLES=2
options DUMMYNET
options HZ="1000"
файрвол перестал разрешать работать с сетью
Код: Выделить всё
ipfw list
00100 allow ip from any to any via lo0
00200 deny ip from any to 127.0.0.0/8
00300 deny ip from 127.0.0.0/8 to any
00400 deny ip from any to ::1
00500 de ip from ::1 to any
куча надписей про ipv6, у емня не исползуется
65535 deny ip from any to any
я так понимаю что проблема в последнем правиле?
но в rc.conf, когда указываешь тип файрвола опен или пусть к скрипту, ничего не меняется.
Подскажете?
Re: ipfw
Добавлено: 2010-11-03 13:45:41
ivan_k
Это в случае с открытым фаером
Re: ipfw
Добавлено: 2010-11-03 13:49:32
vadim64
покажте все правила.
Re: ipfw
Добавлено: 2010-11-03 13:50:04
ivan_k
ipfw list
00100 allow ip from any to any via lo0
00200 deny ip from any to 127.0.0.0/8
00300 deny ip from 127.0.0.0/8 to any
00400 deny ip from any to ::1
00500 de ip from ::1 to any
куча надписей про ipv6, у емня не исползуется
65535 deny ip from any to any
А где в вашем списке правила, которые должны что-то разрешать?
Re: ipfw
Добавлено: 2010-11-03 15:07:20
manefesto
uvetrom писал(а):Настривал freebsd 8.1 по первому примеру из статьи
http://www.lissyara.su/articles/freebsd ... /ipfw_nat/
После бересборки ядра с параметрами:
Код: Выделить всё
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=50
options IPFIREWALL_NAT
options LIBALIAS
options ROUTETABLES=2
options DUMMYNET
options HZ="1000"
он же по умолчанию закрытый
Re: ipfw
Добавлено: 2010-11-03 15:35:57
terminus
что показывает вывод команд:
Re: ipfw
Добавлено: 2010-11-03 15:38:48
uvetrom
Ок, я согласен, но почему тогда не получается вписать в
rc.conf
и в firewall
или же в rc.conf установить:
или это все не влияет и надо какой то определенный файл править?
Re: ipfw
Добавлено: 2010-11-03 15:41:58
uvetrom
terminus писал(а):что показывает вывод команд:
показывает
Код: Выделить всё
firewall_enable="YES"
firewall_type="/etc/firewall"
Код: Выделить всё
2 -rw-r--r-- 1 root wheel - 42 Nov 3 16:26 firewall
20 -rw-r--r-- 1 root wheel - 18599 Jul 18 06:17 rc.firewall
Re: ipfw
Добавлено: 2010-11-03 15:48:39
terminus
синтаксическая ошибка где-то в /etc/firewall.
Показываете весь /etc/firewall
Re: ipfw
Добавлено: 2010-11-03 16:03:31
uvetrom
Я вот уже думаю, что мне стоило внимательнее изучить теорию

Это весь файл /etc/firewall
Re: ipfw
Добавлено: 2010-11-08 8:51:13
uvetrom
Почему-то, после команды:
удаляются все правила кроме:
а если прописать:
то ошибка:
Код: Выделить всё
ipfw: rule 65535: setsockopt(IP_FW_DEL): invalid argument
Может все таки подскажете, почему так происходит?
Re: ipfw
Добавлено: 2010-11-08 9:12:29
hizel
uvetrom писал(а):а если прописать:
то ошибка:
Код: Выделить всё
ipfw: rule 65535: setsockopt(IP_FW_DEL): invalid argument
Может все таки подскажете, почему так происходит?
4-ый абзац дескрипшена
Re: ipfw
Добавлено: 2010-11-08 10:47:14
uvetrom
Набор правил ipfw всегда содержит заданное по умолчанию правило (с
номером 65535), которое не может быть изменено, и соответствует всем
пакетам. Действие, связанное с заданным по умолчанию правилом может быть
или deny или allow в зависимости от того, как сконфигурировано ядро. (С)
http://www.opennet.ru/base/net/ipfw_man.txt.html
Re: ipfw
Добавлено: 2010-11-08 10:49:10
uvetrom
Спасибо всем за помощ!
Виной всему была досадная, глупая опечатка в rc.conf
Жаль что на форуме нет смайла "стыдно".
Re: ipfw
Добавлено: 2010-11-08 11:01:55
FreeBSP
зато есть смайл сорри, он похож

смотри, тут все что может быть в rc.conf по файеру
Re: ipfw
Добавлено: 2010-11-08 12:09:31
uvetrom
эх... что-то мне, кажеться, не справиться

вот так выглядит загруженный /etc/frirewall
Код: Выделить всё
bsdgate#ipfw list
00100 allow ip from any to any via lo0
00200 deny ip from any to 127.0.0.0/8
00300 deny ip from 127.0.0.0/8 to any
00400 deny ip from any to ::1
00500 deny ip from ::1 to any
00600 allow ipv6-icmp from :: to ff02::/16
00700 allow ipv6-icmp from fe80::/10 to fe80::/10
00800 allow ipv6-icmp from fe80::/10 to ff02::/16
00900 allow ipv6-icmp from any to any ip6 icmp6types 1
01000 allow ipv6-icmp from any to any ip6 icmp6types 2,135,136
01040 allow ip from any to any via rl0
10130 nat 1 ip from any to any via vr0
10230 allow log logamount 50 tcp from any to me dst-port 22 keep-state
65535 deny ip from any to any
vr0 - это внешняя сеть, rl0 - внутрення,
вот rc.conf:
Код: Выделить всё
defaultrouter="172.17.32.252"
gateway_enable="YES"
hostname="bsdgate"
ifconfig_vr0="inet 172.17.32.110 netmask 255.255.255.0 -rxcsum"
ifconfig_rl0="inet 192.168.1.1 netmask 255.255.255.0"
firewall_enable="YES"
firewall_type="/etc/firewall"
#inetd_enable="YES"
keymap="ru.koi8-r"
sshd_enable="YES"
вот /etc/syctl.conf
При такой настройке, с клиентской машине во внутреней сети пингуются внешний и внутриенний интерфейсы freebsd и все. С самой фрибсд пингуется вся внутрення сеть, и не пингуется внешняя сеть. Интернет, понятно, тоже не работает.
SSH из вне тоже не работает.
Re: ipfw
Добавлено: 2010-11-08 12:19:18
uvetrom
вот файл /etc/firewall
Код: Выделить всё
#-q flush
# правила разрешающие трафик через локальный интерфейс lo0
# будут добавляться автоматически сами при старте фаервола
#add 100 allow ip from any to any via lo0
#add 200 deny ip from any to 127.0.0.0/8
#add 300 deny ip from 127.0.0.0/8 to any
# разрешаем все через интерфейс локальной сети
add 1040 allow ip from any to any via rl0
# боимся непонятного
#add 1050 deny ip from any to 192.168.0.0/16 in recv vr0
#add 1060 deny ip from 192.168.0.0/16 to any in recv vr0
#add 1070 deny ip from any to 172.16.0.0/12 in recv vr0
#add 1080 deny ip from 172.16.0.0/12 to any in recv vr0
#add 1090 deny ip from any to 10.0.0.0/8 in recv vr0
#add 10100 deny ip from 10.0.0.0/8 to any in recv vr0
#add 10110 deny ip from any to 169.254.0.0/16 in recv vr0
#add 10120 deny ip from 169.254.0.0/16 to any in recv vr0
# настройка ната.
# опции переноса строк "\" надо убрать все должно быть в одну строчку
# опции redirect_port приведены для примера - как делать "проброс портов"
#nat 1 config log if vr0 reset same_ports deny_in redirect_port tcp 1.2.3.4:6881 6881 redirect_port udp 1.2.3.4:4444 4444 redirect_port tcp 1
# заварачиваем все что проходит через внешний интерфейс в нат
add 10130 nat 1 ip from any to any via vr0
#ssh из внешки
add allow log tcp from any to me 22 keep-state
# боимся непонятного
#add 65534 deny all from any to any
Re: ipfw
Добавлено: 2010-11-08 12:26:33
hizel
one_pass в последнем релизе не работал, добавьте allow после nat-а
Re: ipfw
Добавлено: 2010-11-08 12:40:10
FreeBSP
Re: ipfw
Добавлено: 2010-11-08 12:40:31
Гагарин
Настройка ната закомментирована.
Код: Выделить всё
#nat 1 config log if vr0 reset same_ports deny_in
откомментировать надо
Код: Выделить всё
nat 1 config log if vr0 reset same_ports deny_in
Re: ipfw
Добавлено: 2010-11-08 12:48:47
FreeBSP
Юр, тут эта.. загружен один рулсет, показывается второй, но все работает видно сааавсем под другим правилам xD
и ваще какой то странный /etc/firewall.. или типа так уже можна?
Re: ipfw
Добавлено: 2010-11-08 13:09:00
hizel
FreeBSP писал(а):Юр, тут эта.. загружен один рулсет, показывается второй, но все работает видно сааавсем под другим правилам xD
и ваще какой то странный /etc/firewall.. или типа так уже можна?
попу rc.firewall смотри и man ipfw тоже
Re: ipfw
Добавлено: 2010-11-08 13:28:10
FreeBSP
спс

Re: ipfw
Добавлено: 2010-11-09 8:21:05
uvetrom
Не совсем смог связать все ответы в кучу.
one_pass в последнем релизе не работает, значит этой статьей можно уже не пользоваться?
http://www.lissyara.su/articles/freebsd ... /ipfw_nat/
Раскоментировал, как советовал Гагарин
Получилось:
Код: Выделить всё
00100 allow ip from any to any via lo0
00200 deny ip from any to 127.0.0.0/8
00300 deny ip from 127.0.0.0/8 to any
00400 deny ip from any to ::1
00500 deny ip from ::1 to any
00600 allow ipv6-icmp from :: to ff02::/16
00700 allow ipv6-icmp from fe80::/10 to fe80::/10
00800 allow ipv6-icmp from fe80::/10 to ff02::/16
00900 allow ipv6-icmp from any to any ip6 icmp6types 1
01000 allow ipv6-icmp from any to any ip6 icmp6types 2,135,136
01040 allow ip from any to any via rl0
10130 nat 1 ip from any to any via vr0
10230 allow log logamount 50 tcp from any to me dst-port 22 via vr0 keep-state
65535 deny ip from any to any
etc/firewall
Код: Выделить всё
#-q flush
# правила разрешающие трафик через локальный интерфейс lo0
# будут добавляться автоматически сами при старте фаервола
#add 100 allow ip from any to any via lo0
#add 200 deny ip from any to 127.0.0.0/8
#add 300 deny ip from 127.0.0.0/8 to any
# разрешаем все через интерфейс локальной сети
add 1040 allow ip from any to any via rl0
# боимся непонятного
#add 1050 deny ip from any to 192.168.0.0/16 in recv vr0
#add 1060 deny ip from 192.168.0.0/16 to any in recv vr0
#add 1070 deny ip from any to 172.16.0.0/12 in recv vr0
#add 1080 deny ip from 172.16.0.0/12 to any in recv vr0
#add 1090 deny ip from any to 10.0.0.0/8 in recv vr0
#add 10100 deny ip from 10.0.0.0/8 to any in recv vr0
#add 10110 deny ip from any to 169.254.0.0/16 in recv vr0
#add 10120 deny ip from 169.254.0.0/16 to any in recv vr0
# настройка ната.
# опции переноса строк "\" надо убрать все должно быть в одну строчку
# опции redirect_port приведены для примера - как делать "проброс портов"
nat 1 config log if vr0 reset same_ports deny_in
#redirect_port tcp 1.2.3.4:6881 6881 redirect_port udp 1.2.3.4:4444 4444 redirect_port tcp 1
# заварачиваем все что проходит через внешний интерфейс в нат
add 10130 nat 1 ip from any to any via vr0
#ssh из внешки
add allow log tcp from any to me 22 keep-state
# боимся непонятного
#add 65534 deny all from any to any
Ничего не изменилось.
Не пингуется внешняя сеть ни с бсд ни с клиентской машины.... ссш само собой тоже не работает.
Re: ipfw
Добавлено: 2010-11-09 8:39:28
FreeBSP
в текущей конфигурации должно работать ftp с внешки - проверь
а чтобы работало все должно быть так
Код: Выделить всё
00100 allow ip from any to any via lo0
00200 deny ip from any to 127.0.0.0/8
00300 deny ip from 127.0.0.0/8 to any
00400 deny ip from any to ::1
00500 deny ip from ::1 to any
00600 allow ipv6-icmp from :: to ff02::/16
00700 allow ipv6-icmp from fe80::/10 to fe80::/10
00800 allow ipv6-icmp from fe80::/10 to ff02::/16
00900 allow ipv6-icmp from any to any ip6 icmp6types 1
01000 allow ipv6-icmp from any to any ip6 icmp6types 2,135,136
01040 allow ip from any to any via rl0
10130 nat 1 ip from any to any via vr0
10230 allow ip 50 tcp from any to any via vr0
65535 deny ip from any to any
После ната должно быть полное разрешение по внешке
Код: Выделить всё
10230 allow ip 50 tcp from any to any via vr0