Страница 1 из 2
(ipfw+nat) нужна помощь !
Добавлено: 2012-08-14 21:03:43
andy88
есть вот такой файерволл :
Код: Выделить всё
#!/bin/sh
ipfw="/sbin/ipfw"
out_ip="1.1.1.1"
out_if="xl0"
in_net="192.168.1.0/24"
in_ip="192.168.1.100"
in_if="vr0"
in_net2="192.168.2.0/24"
in_ip2="192.168.2.55"
in_ip2="vr1"
nating="192.168.1.111,192.168.1.53,192.168.1.64,192.168.1.67,192.168.1.52"
${ipfw} -f flush
${ipfw} add check-state
${ipfw} add pass all from any to any via lo0
${ipfw} add deny all from any to 127.0.0.0/8
${ipfw} add deny ip from 127.0.0.0/8 to any
${ipfw} add deny ip from any to 172.16.0.0/12 in recv ${out_if}
${ipfw} add deny ip from 172.16.0.0/12 to any in recv ${out_if}
${ipfw} add deny ip from any to 10.0.0.0/8 in recv ${out_if}
${ipfw} add deny ip from 10.0.0.0/8 to any in recv ${out_if}
${ipfw} add deny ip from any to 169.254.0.0/16 in recv ${out_if}
${ipfw} add deny ip from 169.254.0.0/16 to any in recv ${out_if}
${ipfw} add deny log icmp from any to 255.255.255.255 in via ${out_if}
${ipfw} add deny log icmp from any to 255.255.255.255 out via ${out_if}
#NAT
${ipfw} nat 1 config ip ${out_ip} log same_ports
${ipfw} add nat 1 log ip from ${nating} to any out via ${out_if}
${ipfw} add nat 1 log ip from any to ${out_ip}
${ipfw} add pass all from ${in_net} to me via ${in_if}
${ipfw} add pass all from me to ${in_net} via ${in_if}
${ipfw} add pass all from ${nating} to any setup
${ipfw} add pass all from ${in_net} to any 22 setup
${ipfw} add allow ip from any to any via vr0
${ipfw} add allow ip from any to any via vr1
${ipfw} add pass tcp from any to any established
${ipfw} add pass tcp from ${out_ip} to any via ${out_if}
${ipfw} add pass udp from ${out_ip} to any 53 keep-state
${ipfw} add pass udp from ${out_ip} to any 123 keep-state
${ipfw} add pass icmp from any to any icmptypes 0,3,8,11
${ipfw} add deny ip from any to any
Код: Выделить всё
firewall_enable="YES"
firewall_type="/etc/rc.firewall"
firewall_nat_enable="YES"
firewall_nat_interface="xl0"
dummynet_enable="YES"
все сервисы которые установлены на машине , торчат на ружу. Отсюда вопрос.Какое правило забыл ??? ткните носом пожалуйста

Re: (ipfw+nat) нужна помощь !
Добавлено: 2012-08-14 21:17:10
andy88
ядро собрано с такими параметрами
Код: Выделить всё
options IPFIREWALL
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_FORWARD
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPFIREWALL_NAT
options LIBALIAS
options ROUTETABLES=2
options DUMMYNET
options HZ=”1000?
Re: (ipfw+nat) нужна помощь !
Добавлено: 2012-08-15 19:39:26
Shuba
Кинь сюда ipfw -t show
Re: (ipfw+nat) нужна помощь !
Добавлено: 2012-08-16 11:12:16
Гагарин
а настроке nat опция deny_in
Re: (ipfw+nat) нужна помощь !
Добавлено: 2012-08-18 14:42:08
andy88
Код: Выделить всё
ipfw -t show
00100 0 0 check-state
00200 60572 3984762 Sat Jun 12 04:26:32 2004 allow ip from any to any via lo0
00300 0 0 deny ip from any to 127.0.0.0/8
00400 0 0 deny ip from 127.0.0.0/8 to any
00500 0 0 deny ip from any to 172.16.0.0/12 in recv vr1
00600 0 0 deny ip from 172.16.0.0/12 to any in recv vr1
00700 0 0 deny ip from any to 10.0.0.0/8 in recv vr1
00800 0 0 deny ip from 10.0.0.0/8 to any in recv vr1
00900 0 0 deny ip from any to 169.254.0.0/16 in recv vr1
01000 0 0 deny ip from 169.254.0.0/16 to any in recv vr1
01100 0 0 deny log logamount 100 icmp from any to 255.255.255.255 in via vr1
01200 0 0 deny log logamount 100 icmp from any to 255.255.255.255 out via vr1
01300 215399 29644647 Sat Jun 12 04:25:58 2004 nat 1 log logamount 100 ip from 192.168.1.111,192.168.1.53,192.168.1.64,192.168.1.67,192.168.1.52 to any out via vr1
01400 679684 592641986 Sat Jun 12 04:26:48 2004 nat 1 log logamount 100 ip from any to 1.1.1.1
01500 414807 64584007 Sat Jun 12 04:26:45 2004 allow ip from 192.168.1.0/24 to me via vr0
01600 497213 345982309 Sat Jun 12 04:26:45 2004 allow ip from me to 192.168.1.0/24 via vr0
01700 16509 814660 Fri Jun 11 23:34:26 2004 allow ip from 192.168.1.111,192.168.1.53,192.168.1.64,192.168.1.67,192.168.1.52 to any setup
01800 0 0 allow ip from 192.168.1.0/24 to any dst-port 22 setup
01900 47488404 37827632169 Sat Jun 12 04:26:48 2004 allow ip from any to any via vr0
02000 46815762 37516551957 Sat Jun 12 04:26:48 2004 allow ip from any to any via rl0
02100 306029 60829486 Sat Jun 12 04:26:48 2004 allow tcp from any to any established
02200 27029 1619604 Sat Jun 12 04:26:45 2004 allow tcp 1.1.1.1 to any via vr1
02300 41970 4420621 Sat Jun 12 04:26:36 2004 allow udp from 1.1.1.1 to any dst-port 53 keep-state
02400 0 0 allow udp from 1.1.1.1 to any dst-port 123 keep-state
02500 11758 657690 Sat Jun 12 03:58:08 2004 allow icmp from any to any icmptypes 0,3,8,11
02600 90382 5913362 Sat Jun 12 04:26:46 2004 deny ip from any to any
65535 84 6394 Thu Jun 10 00:07:06 2004 allow ip from any to any
Re: (ipfw+nat) нужна помощь !
Добавлено: 2012-08-30 10:05:35
andy88
никто не подскажет?
вывод ipfw show и конфиг в первом посте отличаються , менял сетевухи
Re: (ipfw+nat) нужна помощь !
Добавлено: 2012-08-30 10:29:12
Т-34
в настроке nat опция deny_in

Re: (ipfw+nat) нужна помощь !
Добавлено: 2012-08-30 13:05:21
andy88
прописал : ${ipfw} nat 1 config ip ${out_ip} log same_ports reset deny_in
ситуация не изменилась
Re: (ipfw+nat) нужна помощь !
Добавлено: 2012-09-01 7:27:08
andy88
какое бы правило с deny_in не прописывал , инет падает .

Re: (ipfw+nat) нужна помощь !
Добавлено: 2012-09-01 8:06:07
ChihPih
andy88 писал(а):никто не подскажет?
вывод ipfw show и конфиг в первом посте отличаються , менял сетевухи
Тогда скажите какая из них смотрит в инет?
Re: (ipfw+nat) нужна помощь !
Добавлено: 2012-09-02 15:39:01
andy88
сейчас фаерволл выглядит таким образом :
Код: Выделить всё
#!/bin/sh
ipfw="/sbin/ipfw"
out_ip="1.1.1.1"
out_if="vr1"
in_net="192.168.1.0/24"
in_ip="192.168.1.100"
in_if="vr0"
in_net2="192.168.2.0/24"
in_ip2="192.168.2.55"
in_if2="rl0"
vpn="tun0"
nating="192.168.1.111,192.168.1.53,192.168.1.64,192.168.1.67,192.168.1.52"
${ipfw} -f flush
${ipfw} add check-state
${ipfw} add pass all from any to any via lo0
${ipfw} add deny all from any to 127.0.0.0/8
${ipfw} add deny ip from 127.0.0.0/8 to any
${ipfw} add deny ip from any to 172.16.0.0/12 in recv ${out_if}
${ipfw} add deny ip from 172.16.0.0/12 to any in recv ${out_if}
${ipfw} add deny ip from any to 10.0.0.0/8 in recv ${out_if}
${ipfw} add deny ip from 10.0.0.0/8 to any in recv ${out_if}
${ipfw} add deny ip from any to 169.254.0.0/16 in recv ${out_if}
${ipfw} add deny ip from 169.254.0.0/16 to any in recv ${out_if}
${ipfw} add deny log icmp from any to 255.255.255.255 in via ${out_if}
${ipfw} add deny log icmp from any to 255.255.255.255 out via ${out_if}
#NAT
${ipfw} nat 1 config ip ${out_ip} log same_ports
${ipfw} add nat 1 log ip from ${nating} to any out via ${out_if}
${ipfw} add nat 1 log ip from any to ${out_ip}
${ipfw} add pass all from ${in_net} to me via ${in_if}
${ipfw} add pass all from me to ${in_net} via ${in_if}
${ipfw} add pass all from ${nating} to any setup
${ipfw} add allow tcp from any to me 22 in via vr1
${ipfw} add allow udp from me 1194 to any via vr1
${ipfw} add allow ip from any to any via vr0
${ipfw} add allow ip from any to any via rl0
${ipfw} add allow ip from any to any via tun0
${ipfw} add pass tcp from any to any established
${ipfw} add pass tcp from ${out_ip} to any via ${out_if}
${ipfw} add pass udp from ${out_ip} to any 53 keep-state
${ipfw} add pass udp from ${out_ip} to any 123 keep-state
${ipfw} add pass icmp from any to any icmptypes 0,3,8,11
${ipfw} add deny ip from any to any
Re: (ipfw+nat) нужна помощь !
Добавлено: 2012-09-02 15:41:31
andy88
Код: Выделить всё
ipfw -t show
00100 0 0 check-state
00200 12538 1016378 Sun Sep 2 16:43:35 2012 allow ip from any to any via lo0
00300 0 0 deny ip from any to 127.0.0.0/8
00400 0 0 deny ip from 127.0.0.0/8 to any
00500 0 0 deny ip from any to 172.16.0.0/12 in recv vr1
00600 0 0 deny ip from 172.16.0.0/12 to any in recv vr1
00700 0 0 deny ip from any to 10.0.0.0/8 in recv vr1
00800 0 0 deny ip from 10.0.0.0/8 to any in recv vr1
00900 0 0 deny ip from any to 169.254.0.0/16 in recv vr1
01000 0 0 deny ip from 169.254.0.0/16 to any in recv vr1
01100 0 0 deny log logamount 100 icmp from any to 255.255.255.255 in via vr1
01200 0 0 deny log logamount 100 icmp from any to 255.255.255.255 out via vr1
01300 424910 180477607 Sun Sep 2 16:42:53 2012 nat 1 log logamount 100 ip from 192.168.1.111,192.168.1.53,192.168.1.64,192.168.1.67,192.168.1.52 to any out via vr1
01400 1157917 1157652887 Sun Sep 2 16:43:36 2012 nat 1 log logamount 100 ip from any to 1.1.1.1
01500 586694 157194889 Sun Sep 2 16:43:33 2012 allow ip from 192.168.1.0/24 to me via vr0
01600 727702 577765608 Sun Sep 2 16:43:33 2012 allow ip from me to 192.168.1.0/24 via vr0
01700 12410 611136 Sun Sep 2 16:41:07 2012 allow ip from 192.168.1.111,192.168.1.53,192.168.1.64,192.168.1.67,192.168.1.52 to any setup
01800 0 0 allow tcp from any to me dst-port 22 in via vr1
01900 6495 2785336 Fri Aug 31 23:53:37 2012 allow udp from me 1194 to any via vr1
02000 76581672 61110829816 Sun Sep 2 16:43:36 2012 allow ip from any to any via vr0
02100 75376504 60312438248 Sun Sep 2 16:43:36 2012 allow ip from any to any via rl0
02200 10217 2683858 Fri Aug 31 15:54:37 2012 allow ip from any to any via tun0
02300 509700 157115635 Sun Sep 2 16:43:36 2012 allow tcp from any to any established
02400 36474 2153232 Sun Sep 2 16:37:40 2012 allow tcp from 1.1.1.1 to any via vr1
02500 21593 2249712 Sun Sep 2 16:43:35 2012 allow udp from 1.1.1.1 to any dst-port 53 keep-state
02600 0 0 allow udp from 1.1.1.1 to any dst-port 123 keep-state
02700 283 14994 Sun Sep 2 16:33:23 2012 allow icmp from any to any icmptypes 0,3,8,11
02800 77196 5191398 Sun Sep 2 16:43:31 2012 deny ip from any to any
65535 5 276 Fri Aug 31 00:56:49 2012 allow ip from any to any
Re: (ipfw+nat) нужна помощь !
Добавлено: 2012-09-02 15:50:56
andy88
смущают две команды в конце вывода ipfw -t show
Код: Выделить всё
02800 77196 5191398 Sun Sep 2 16:43:31 2012 deny ip from any to any
65535 5 276 Fri Aug 31 00:56:49 2012 allow ip from any to any
Re: (ipfw+nat) нужна помощь !
Добавлено: 2012-09-02 15:55:31
terminus
/etc/rc.conf
Код: Выделить всё
firewall_enable="YES"
firewall_type="/etc/rc.firewall"
dummynet_enable="YES"
/etc/rc.firewall
Код: Выделить всё
#!/bin/sh
ipfw="/sbin/ipfw"
out_ip="1.1.1.1"
out_if="xl0"
in_net="192.168.1.0/24"
in_ip="192.168.1.100"
in_if="vr0"
in_net2="192.168.2.0/24"
in_ip2="192.168.2.55"
in_ip2="vr1"
nating="192.168.1.111,192.168.1.53,192.168.1.64,192.168.1.67,192.168.1.52"
${ipfw} -f flush
${ipfw} add allow ip from any to any via lo0
${ipfw} add deny ip from any to 127.0.0.0/8
${ipfw} add deny ip from 127.0.0.0/8 to any
${ipfw} add deny ip from any to 192.168.0.0/16 in recv ${out_if}
${ipfw} add deny ip from 192.168.0.0./16 to any in recv ${out_if}
${ipfw} add deny ip from any to 172.16.0.0/12 in recv ${out_if}
${ipfw} add deny ip from 172.16.0.0/12 to any in recv ${out_if}
${ipfw} add deny ip from any to 10.0.0.0/8 in recv ${out_if}
${ipfw} add deny ip from 10.0.0.0/8 to any in recv ${out_if}
${ipfw} add deny ip from any to 169.254.0.0/16 in recv ${out_if}
${ipfw} add deny ip from 169.254.0.0/16 to any in recv ${out_if}
${ipfw} add deny log icmp from any to 255.255.255.255 in via ${out_if}
${ipfw} add deny log icmp from any to 255.255.255.255 out via ${out_if}
${ipfw} add allow all from any to any via vr0
${ipfw} add allow all from any to any via vr1
#NAT
${ipfw} nat 1 config ip ${out_ip} log same_ports deny_in reset
${ipfw} add nat 1 ip from ${nating} to any out xmit ${out_if}
${ipfw} add nat 1 ip from any to ${out_ip} in recv ${out_if}
${ipfw} add deny all from any to any
FreeBSD какой версии?
Re: (ipfw+nat) нужна помощь !
Добавлено: 2012-09-03 8:05:31
andy88
Freebsd 9 установлена
Re: (ipfw+nat) нужна помощь !
Добавлено: 2012-09-03 9:07:58
терминус
andy88 писал(а):Freebsd 9 установлена
заработал мой конфиг?
что показывает
в rc.conf есть строчка
?
Re: (ipfw+nat) нужна помощь !
Добавлено: 2012-09-03 9:42:00
andy88
в /etc/rc.conf строчка есть
Код: Выделить всё
sysctl -a | grep "one_pass"
net.inet.ip.fw.one_pass: 1
ваш конфиг вечером испробую...спасибо
Re: (ipfw+nat) нужна помощь !
Добавлено: 2012-09-03 9:58:53
andy88
2 terminus : вставил строчки из вашего конфига
Код: Выделить всё
#NAT
${ipfw} nat 1 config ip ${out_ip} log same_ports deny_in reset
${ipfw} add nat 1 ip from ${nating} to any out xmit ${out_if}
${ipfw} add nat 1 ip from any to ${out_ip} in recv ${out_if}
${ipfw} add deny all from any to any
ситуация следующая, на серваке инет падает (пинги не проходят во внешку), нат отваливаеться.
Re: (ipfw+nat) нужна помощь !
Добавлено: 2012-09-03 10:33:29
терминус
andy88 писал(а):2 terminus : вставил строчки из вашего конфига
ситуация следующая, на серваке инет падает (пинги не проходят во внешку), нат отваливаеться.
Ну-да, ну-да. Нат то только для ${nating}...
попробуйте так:
Код: Выделить всё
#NAT
${ipfw} nat 1 config ip ${out_ip} log same_ports deny_in reset
${ipfw} add nat 1 ip from me to any out xmit ${out_if}
${ipfw} add nat 1 ip from ${nating} to any out xmit ${out_if}
${ipfw} add nat 1 ip from any to ${out_ip} in recv ${out_if}
${ipfw} add deny all from any to any
Re: (ipfw+nat) нужна помощь !
Добавлено: 2012-09-03 12:01:01
andy88
ситуация сейчас следующая , инет на серваке есть , доступ к серверу пропал , сервисы так и торчат на ружу, пинги до сервака не идут
Re: (ipfw+nat) нужна помощь !
Добавлено: 2012-09-03 12:38:02
терминус
andy88 писал(а):ситуация сейчас следующая , инет на серваке есть , доступ к серверу пропал , сервисы так и торчат на ружу, пинги до сервака не идут
доступ пропал из внутренних сетей или снаружи? я так понимаю, что снаружи?
чтобы был доступ к сервисам работающим на самом сервере надо или ставить отдельные allow до nat:
или делать дырки в nat:
Код: Выделить всё
${ipfw} nat 1 config ip ${out_ip} log same_ports deny_in reset redirect_port tcp 1.1.1.1:22 22
про сервисы мне не понятно. не должно такого быть если нат работает с опцией deny_in. как вы проверяете что сервисы доступны извне?
Пробовали перезапустить весь сервер (или выгрузить ipfw nat а потом загрузить обратно, если он модуль)?
пинги не будут приходить на внешний адрес так как нат с deny_in.
Чтобы пинги приходили на сервер надо до ната поставить отдельные правила:
Код: Выделить всё
${ipfw} allow icmp from any to me icmptypes 0,3,8,11,12
Re: (ipfw+nat) нужна помощь !
Добавлено: 2012-09-03 14:02:08
andy88
терминус писал(а):andy88 писал(а):ситуация сейчас следующая , инет на серваке есть , доступ к серверу пропал , сервисы так и торчат на ружу, пинги до сервака не идут
доступ пропал из внутренних сетей или снаружи? я так понимаю, что снаружи?
чтобы был доступ к сервисам работающим на самом сервере надо или ставить отдельные allow до nat:
или делать дырки в nat:
Код: Выделить всё
${ipfw} nat 1 config ip ${out_ip} log same_ports deny_in reset redirect_port tcp 1.1.1.1:22 22
про сервисы мне не понятно. не должно такого быть если нат работает с опцией deny_in. как вы проверяете что сервисы доступны извне?
Пробовали перезапустить весь сервер (или выгрузить ipfw nat а потом загрузить обратно, если он модуль)?
пинги не будут приходить на внешний адрес так как нат с deny_in.
Чтобы пинги приходили на сервер надо до ната поставить отдельные правила:
Код: Выделить всё
${ipfw} allow icmp from any to me icmptypes 0,3,8,11,12
внутри сети прокся пашет ...доступ пропал снаружи.Есть апач установленный , он доступен с внешки
позже доберусь до сервера, и попробую полный ребут и выгрузку модуля.
Re: (ipfw+nat) нужна помощь !
Добавлено: 2012-09-03 14:28:57
терминус
внутри сети прокся пашет ...доступ пропал снаружи.Есть апач установленный , он доступен с внешки
позже доберусь до сервера, и попробую полный ребут и выгрузку модуля.
как вы проверяете что арача доступен снаружи? если вы из внутренней сети обращаетесь к 1.1.1.1 то доступ конечно же будет.
надо проверять из внешней сети/интернета.
я не понимаю как апача может быть доступен, а ssh (доступ) не работает пока не сделаны allow или redirect_port.
Re: (ipfw+nat) нужна помощь !
Добавлено: 2012-09-03 14:32:04
andy88
так дело в том , что сервак далеко от меня находиться , соответственно я все операции делал удаленно.
подключаюсь через браузер по внешнему айпишнику , где апач мне открывают тестовую страницу
Re: (ipfw+nat) нужна помощь !
Добавлено: 2012-09-10 14:27:31
kyptuk
А в чем помощь нужна? Что именно не работает-то?

Перечитал трижды - так и не понял что не работает.