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

Исходное сообщение
"FreeBSD & ipfw"

Отправлено beerking , 16-Мрт-05 16:45 
Хай алл.

FreeBSD v.5.3
ядро собрано с оциями:
options IPFIREWALL
options IPDIVERT

rc.conf:
gateway_enable="YES"
hostname="Firewall"
ifconfig_sis0="DHCP"
inetd_enable="YES"
linux_enable="YES"
moused_enable="YES"
sshd_enable="YES"
usbd_enable="YES"
firewall_enable="YES"
firewall_script="/usr/local/billing/rc.firewall"
natd_enable="YES"
natd_interface="sis0"

rc.firewall:
ipfw='/sbin/ipfw -q'
${ipfw} -f flush
${ipfw} add divert natd all from any to any via rl0
${ipfw} add allow all from any to any

При этом машины из локальной сети не могут выйти наружу.
В какую сторону копать?


Содержание

Сообщения в этом обсуждении
"FreeBSD & ipfw"
Отправлено denn , 16-Мрт-05 16:49 
>Хай алл.
>
>FreeBSD v.5.3
>ядро собрано с оциями:
>options IPFIREWALL
>options IPDIVERT
>
>rc.conf:
>gateway_enable="YES"
>hostname="Firewall"
>ifconfig_sis0="DHCP"
>inetd_enable="YES"
>linux_enable="YES"
>moused_enable="YES"
>sshd_enable="YES"
>usbd_enable="YES"
>firewall_enable="YES"
>firewall_script="/usr/local/billing/rc.firewall"
>natd_enable="YES"
>natd_interface="sis0"
>
>rc.firewall:
>ipfw='/sbin/ipfw -q'
>${ipfw} -f flush
>${ipfw} add divert natd all from any to any via rl0
>${ipfw} add allow all from any to any
>
>При этом машины из локальной сети не могут выйти наружу.
>В какую сторону копать?
настройку инфейсов покажи
+allow ip from any to any via lo0 желательно в начале


"FreeBSD & ipfw"
Отправлено beerking , 16-Мрт-05 16:52 
sis0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        inet6 fe80::20e:a6ff:fe2f:19f6%sis0 prefixlen 64 scopeid 0x1
        inet aa.aa.aaa.aa netmask 0xffffff00 broadcast aa.aa.aaa.255
        ether 00:0e:a6:2f:19:f6
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
        inet6 fe80::280:5aff:fe23:d330%rl0 prefixlen 64 scopeid 0x2
        ether 00:80:5a:23:d3:30
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet 127.0.0.1 netmask 0xff000000
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4

"FreeBSD & ipfw"
Отправлено denn , 16-Мрт-05 17:02 
смотрю ты наружный адрес получаешь по дхцп.
нат стартует с этого инфейса.
есть мнение что назначаеться адрес позже чем стартует нат.
останови нат. подними его еще раз на уже присвоеном адресе.
пингани с клиента и погялди счетчики фарвола.
+с самого серва мир ходит?

"FreeBSD & ipfw"
Отправлено beerking , 16-Мрт-05 17:42 
>смотрю ты наружный адрес получаешь по дхцп.
>нат стартует с этого инфейса.
>есть мнение что назначаеться адрес позже чем стартует нат.
>останови нат. подними его еще раз на уже присвоеном адресе.
не помогает.
>пингани с клиента и погялди счетчики фарвола.
счетчик постоянно меняется - я ж удаленно настраиваю...
>+с самого серва мир ходит?
да, ходит.



"FreeBSD & ipfw"
Отправлено denn , 16-Мрт-05 17:59 
>>смотрю ты наружный адрес получаешь по дхцп.
>>нат стартует с этого инфейса.
>>есть мнение что назначаеться адрес позже чем стартует нат.
>>останови нат. подними его еще раз на уже присвоеном адресе.
>не помогает.
>>пингани с клиента и погялди счетчики фарвола.
>счетчик постоянно меняется - я ж удаленно настраиваю...
>>+с самого серва мир ходит?
>да, ходит.

смотри счетчик ната.
forwad включен? на клиенте все верно настроено?
пусть с клиента дадут пинг, а ты тспдампом погляди
natd -a адрес_инфейса
но аккуратно нат ложи. не забывай при этом снимать правило, тк ты удаленно


"FreeBSD & ipfw"
Отправлено beerking , 16-Мрт-05 18:08 
>>>смотрю ты наружный адрес получаешь по дхцп.
>>>нат стартует с этого инфейса.
>>>есть мнение что назначаеться адрес позже чем стартует нат.
>>>останови нат. подними его еще раз на уже присвоеном адресе.
>>не помогает.
>>>пингани с клиента и погялди счетчики фарвола.
>>счетчик постоянно меняется - я ж удаленно настраиваю...
>>>+с самого серва мир ходит?
>>да, ходит.
>
>смотри счетчик ната.
сорри за ламерский вопрос... как это посмотреть?
>forwad включен? на клиенте все верно настроено?
Нет, не включен. На клиенте все верно.
>пусть с клиента дадут пинг, а ты тспдампом погляди
16:04:32.906017 IP 192.168.0.10 > bbb.bbb.bbb.bbb: icmp 40: echo request seq 27649
>natd -a адрес_инфейса
так и пробовал.
>но аккуратно нат ложи. не забывай при этом снимать правило, тк ты
>удаленно
какое правило снимать то? вроде бы прибивал и заново запускал и все ок.


"FreeBSD & ipfw"
Отправлено denn , 16-Мрт-05 18:20 
>>>>смотрю ты наружный адрес получаешь по дхцп.
>>>>нат стартует с этого инфейса.
>>>>есть мнение что назначаеться адрес позже чем стартует нат.
>>>>останови нат. подними его еще раз на уже присвоеном адресе.
>>>не помогает.
>>>>пингани с клиента и погялди счетчики фарвола.
>>>счетчик постоянно меняется - я ж удаленно настраиваю...
>>>>+с самого серва мир ходит?
>>>да, ходит.
>>
>>смотри счетчик ната.
>сорри за ламерский вопрос... как это посмотреть?
ipfw -a l номер_правила
>>forwad включен? на клиенте все верно настроено?
> Нет, не включен. На клиенте все верно.
проверь net.inet.ip.forwarding: 1
>>пусть с клиента дадут пинг, а ты тспдампом погляди
>16:04:32.906017 IP 192.168.0.10 > bbb.bbb.bbb.bbb: icmp 40: echo request seq 27649
обратки нет
>>natd -a адрес_инфейса
>так и пробовал.
>>но аккуратно нат ложи. не забывай при этом снимать правило, тк ты
>>удаленно
>какое правило снимать то? вроде бы прибивал и заново запускал и все
тоесть правило диверта в фаирволе нужно убирать перед тем как ложешь natd
воизбежании потери связи с удаленной машиной
>ок.



"FreeBSD & ipfw"
Отправлено beerking , 16-Мрт-05 18:28 
>>>>>смотрю ты наружный адрес получаешь по дхцп.
>>>>>нат стартует с этого инфейса.
>>>>>есть мнение что назначаеться адрес позже чем стартует нат.
>>>>>останови нат. подними его еще раз на уже присвоеном адресе.
>>>>не помогает.
>>>>>пингани с клиента и погялди счетчики фарвола.
>>>>счетчик постоянно меняется - я ж удаленно настраиваю...
>>>>>+с самого серва мир ходит?
>>>>да, ходит.
>>>
>>>смотри счетчик ната.
>>сорри за ламерский вопрос... как это посмотреть?
>ipfw -a l номер_правила

00100 divert 8668 ip from any to any via rl0
меняется, но как то медленно...

>>>forwad включен? на клиенте все верно настроено?
>> Нет, не включен. На клиенте все верно.
>проверь net.inet.ip.forwarding: 1
стоит 1
>>>пусть с клиента дадут пинг, а ты тспдампом погляди
>>16:04:32.906017 IP 192.168.0.10 > bbb.bbb.bbb.bbb: icmp 40: echo request seq 27649
>обратки нет
>>>natd -a адрес_инфейса
>>так и пробовал.
>>>но аккуратно нат ложи. не забывай при этом снимать правило, тк ты
>>>удаленно
>>какое правило снимать то? вроде бы прибивал и заново запускал и все
>тоесть правило диверта в фаирволе нужно убирать перед тем как ложешь natd
>
>воизбежании потери связи с удаленной машиной
спасиб. буду знать.
>>ок.



"FreeBSD & ipfw"
Отправлено denn , 16-Мрт-05 18:39 
>00100 divert 8668 ip from any to any via rl0
тока не через rl0 а через sis0

"FreeBSD & ipfw"
Отправлено beerking , 16-Мрт-05 18:48 
>>00100 divert 8668 ip from any to any via rl0
>тока не через rl0 а через sis0

я м.........
Спасибо.



"FreeBSD & ipfw"
Отправлено beerking , 16-Мрт-05 19:40 
я правильно понял что правило 200 allow all from any to any
разрешает всем(что снаружи что из нутри вся и все?)

если да, то не подскажите как запретить снаружи всё, кроме ssh на firewall'e , а изнутри разрешить все?


"FreeBSD & ipfw"
Отправлено denn , 16-Мрт-05 19:44 
>я правильно понял что правило 200 allow all from any to any
>
>разрешает всем(что снаружи что из нутри вся и все?)
>
>если да, то не подскажите как запретить снаружи всё, кроме ssh на
>firewall'e , а изнутри разрешить все?
смотри настройка в rc.firewall
там есть примеры
также почитай ман на тему man rc.cong секция firewall_type
зы. нат поднялся?



"FreeBSD & ipfw"
Отправлено beerking , 16-Мрт-05 22:40 
>>я правильно понял что правило 200 allow all from any to any
>>
>>разрешает всем(что снаружи что из нутри вся и все?)
>>
>>если да, то не подскажите как запретить снаружи всё, кроме ssh на
>>firewall'e , а изнутри разрешить все?
>смотри настройка в rc.firewall
>там есть примеры
>также почитай ман на тему man rc.cong секция firewall_type
>зы. нат поднялся?

да. поднялся.


"FreeBSD & ipfw"
Отправлено beerking , 17-Мрт-05 15:45 
ipfw add 100 divert natd ip from any to any via sis0
ipfw add 200 allow ip from any to any via lo0
ipfw add 300 deny ip  from any to 127.0.0.0/8
ipfw add 400 allow ip from 192.168.0.0/24 to any
ipfw add 500 allow ip from any to 192.168.0.0/24
ipfw add 600 deny ip from any to any

sis0 - интерфейс который смотрит наружу.

Безопасно ли это???


"FreeBSD & ipfw"
Отправлено denn , 17-Мрт-05 15:51 
>ipfw add 100 divert natd ip from any to any via sis0
>
>ipfw add 200 allow ip from any to any via lo0
>ipfw add 300 deny ip  from any to 127.0.0.0/8
>ipfw add 400 allow ip from 192.168.0.0/24 to any
>ipfw add 500 allow ip from any to 192.168.0.0/24
>ipfw add 600 deny ip from any to any
>
>sis0 - интерфейс который смотрит наружу.
>
>Безопасно ли это???
ну а принцип работы ната...


"FreeBSD & ipfw"
Отправлено beerking , 17-Мрт-05 16:14 
>>ipfw add 100 divert natd ip from any to any via sis0
>>
>>ipfw add 200 allow ip from any to any via lo0
>>ipfw add 300 deny ip  from any to 127.0.0.0/8
>>ipfw add 400 allow ip from 192.168.0.0/24 to any
>>ipfw add 500 allow ip from any to 192.168.0.0/24
>>ipfw add 600 deny ip from any to any
>>
>>sis0 - интерфейс который смотрит наружу.
>>
>>Безопасно ли это???
>ну а принцип работы ната...

Что-то не так?
Может совсем работать не будет?
Ткните пальцем плз.


"FreeBSD & ipfw"
Отправлено beerking , 17-Мрт-05 16:42 
Совсем запутался....

вот пример...откуда сами знаете.

#!/bin/sh

ipfw='/sbin/ipfw -q'
ournet='192.168.0.1/24'
uprefix='192.168.0'
ifout='sis0'
ifuser='rl0'

${ipfw} flush

${ipfw} add 100 check-state

${ipfw} add 200 deny icmp from any to any in icmptype 5,9,13,14,15,16,17
${ipfw} add 210 reject ip from ${ournet} to any in via ${ifout}

${ipfw} add 300 allow ip from any to any via lo0
${ipfw} add 310 allow tcp from me to any keep-state via ${ifout}
${ipfw} add 320 allow icmp from any to any
${ipfw} add 330 allow udp from me to any domain keep-state
${ipfw} add 340 allow udp from any to me domain
${ipfw} add 350 allow ip from me to any

${ipfw} add 400 allow tcp from any to me http,https,ssh

${ipfw} add 510 divert natd ip from ${ournet} to any out via ${ifout}

${ipfw} add 65535 deny ip from any to any

почему нельзя вылезти наружу из локалки?


"FreeBSD & ipfw"
Отправлено denn , 17-Мрт-05 16:48 
{ipfw} add 210 reject ip from ${ournet} to any in via ${ifout}

"FreeBSD & ipfw"
Отправлено beerking , 17-Мрт-05 16:54 
>{ipfw} add 210 reject ip from ${ournet} to any in via ${ifout}
>

пробовал убрать, заменить reject на allow - не помогло.

крыша едет...


"FreeBSD & ipfw"
Отправлено denn , 17-Мрт-05 17:04 
>>{ipfw} add 210 reject ip from ${ournet} to any in via ${ifout}
>>
>
>пробовал убрать, заменить reject на allow - не помогло.
>
>крыша едет...

порядок следования правил нужно соблюдать


"FreeBSD & ipfw"
Отправлено beerking , 17-Мрт-05 17:08 
>>>{ipfw} add 210 reject ip from ${ournet} to any in via ${ifout}
>>>
>>
>>пробовал убрать, заменить reject на allow - не помогло.
>>
>>крыша едет...
>
>порядок следования правил нужно соблюдать

напишет, пожалуйста, как будет правильно.


"FreeBSD & ipfw"
Отправлено denn , 17-Мрт-05 17:20 
>>>>{ipfw} add 210 reject ip from ${ournet} to any in via ${ifout}
>>>>
>>>
>>>пробовал убрать, заменить reject на allow - не помогло.
>>>
>>>крыша едет...
>>
>>порядок следования правил нужно соблюдать
>
>напишет, пожалуйста, как будет правильно.


первым для lo0
дальше нат
дальше по политике


"FreeBSD & ipfw"
Отправлено beerking , 17-Мрт-05 17:27 
#!/bin/sh

ipfw='/sbin/ipfw -q'
ournet='192.168.0.0/24'
uprefix='192.168.0'
ifout='sis0'
ifuser='rl0'

${ipfw} flush

${ipfw} add allow ip from any to any via lo0
${ipfw} add divert natd ip from ${ournet} to any out via ${ifout}

${ipfw} add check-state
${ipfw} add deny icmp from any to any in icmptype 5,9,13,14,15,16,17
${ipfw} add allow ip from ${ournet} to any in via ${ifout}
${ipfw} add allow tcp from me to any keep-state via ${ifout}
${ipfw} add allow icmp from any to any
${ipfw} add allow udp from me to any domain keep-state
${ipfw} add allow udp from any to me domain
${ipfw} add allow ip from me to any

${ipfw} add allow tcp from any to me http,https,ssh

${ipfw} add 65535 deny ip from any to any

и ничего...


"FreeBSD & ipfw"
Отправлено denn , 17-Мрт-05 18:36 
${ipfw} add divert natd ip from any to any via ${ifout}

"FreeBSD & ipfw"
Отправлено beerking , 17-Мрт-05 21:11 
>${ipfw} add divert natd ip from any to any via ${ifout}
2 all:
тема закры

2 denn:
Можно с Вами пообщаться по аське?
вот моя 16342714


"FreeBSD & ipfw"
Отправлено denn , 17-Мрт-05 21:17 
>>${ipfw} add divert natd ip from any to any via ${ifout}
>2 all:
>тема закры
>
>2 denn:
>Можно с Вами пообщаться по аське?
>вот моя 16342714
250669862