The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Не работает natd"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Не работает natd" 
Сообщение от pavel_i emailИскать по авторуВ закладки(ok) on 21-Окт-05, 17:03  (MSK)
Прочел одну широко распространенную статью с таким вот конфигом ipfw
Попытался запустить все это, но не работает: с локального хоста пакеты идут в инет, а из инета не проходят.
Вот настройки моего ядра
options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT="50"
options         IPFIREWALL_FORWARD
options         IPDIVERT
options         IPSTEALTH
options         TCP_DROP_SYNFIN

Вот это rc.conf записал
firewall_enable="YES"
firewall_quiet="YES"
natd_enable="YES"
natd_interface="xl1"
natd_flags="-f /usr/local/etc/natd.conf"

В natd.conf вот это:
same_ports yes
use_sockets yes
dynamic yes


#!/bin/sh
   ipfw='/sbin/ipfw -q'
   ournet='192.168.0.1/24'
   uprefix='192.168.0'
   ifout='rl0'
   ifuser='rl1'
   ${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 lo
   ${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 410 allow tcp from not ${ournet} to me smtp
   ${ipfw} add 510 divert natd ip from ${ournet} to any out via ${ifout}
   ${ipfw} add 1002 allow ip from ${uprefix}.2 to any via ${ifuser}
   ${ipfw} add 1002 allow ip from any to ${uprefix}.2 via ${ifuser}
   ${ipfw} add 1003 allow ip from ${uprefix}.3 to any via ${ifuser}
   ${ipfw} add 1003 allow ip from any to ${uprefix}.3 via ${ifuser}
   ${ipfw} add 1004 allow ip from ${uprefix}.4 to any via ${ifuser}
   ${ipfw} add 1004 allow ip from any to ${uprefix}.4 via ${ifuser}
   #${ipfw} add 65535 deny ip from any to any

Меня интересуют здесь, например, правило 1002. По нему пакеты проходят, попадают natd, но обратно ответы не проходят.
Что не так?

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Не работает natd" 
Сообщение от kondrat Искать по авторуВ закладки(??) on 21-Окт-05, 17:08  (MSK)
>Прочел одну широко распространенную статью с таким вот конфигом ipfw
>Попытался запустить все это, но не работает: с локального хоста пакеты идут
>в инет, а из инета не проходят.
>Вот настройки моего ядра
>options         IPFIREWALL
>options         IPFIREWALL_VERBOSE
>options         IPFIREWALL_VERBOSE_LIMIT="50"
>options         IPFIREWALL_FORWARD
>options         IPDIVERT
>options         IPSTEALTH
>options         TCP_DROP_SYNFIN
>
>Вот это rc.conf записал
>firewall_enable="YES"
>firewall_quiet="YES"
>natd_enable="YES"
>natd_interface="xl1"
>natd_flags="-f /usr/local/etc/natd.conf"
>
>В natd.conf вот это:
>same_ports yes
>use_sockets yes
>dynamic yes
>
>
>#!/bin/sh
>   ipfw='/sbin/ipfw -q'
>   ournet='192.168.0.1/24'
>   uprefix='192.168.0'
>   ifout='rl0'
>   ifuser='rl1'
>   ${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 lo
>   ${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 410 allow tcp from not ${ournet} to
>me smtp
>   ${ipfw} add 510 divert natd ip from ${ournet} to
>any out via ${ifout}
>   ${ipfw} add 1002 allow ip from ${uprefix}.2 to any
>via ${ifuser}
>   ${ipfw} add 1002 allow ip from any to ${uprefix}.2
>via ${ifuser}
>   ${ipfw} add 1003 allow ip from ${uprefix}.3 to any
>via ${ifuser}
>   ${ipfw} add 1003 allow ip from any to ${uprefix}.3
>via ${ifuser}
>   ${ipfw} add 1004 allow ip from ${uprefix}.4 to any
>via ${ifuser}
>   ${ipfw} add 1004 allow ip from any to ${uprefix}.4
>via ${ifuser}
>   #${ipfw} add 65535 deny ip from any to any
>
>
>Меня интересуют здесь, например, правило 1002. По нему пакеты проходят, попадают natd,
>но обратно ответы не проходят.
>Что не так?

А это правильно, что у тебя в rc.conf natd_interface="xl1" или там все-таки должен быть rl0???

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Не работает natd" 
Сообщение от pavel_i emailИскать по авторуВ закладки(ok) on 21-Окт-05, 17:13  (MSK)
>>Прочел одну широко распространенную статью с таким вот конфигом ipfw
>>Попытался запустить все это, но не работает: с локального хоста пакеты идут
>>в инет, а из инета не проходят.
>>Вот настройки моего ядра
>>options         IPFIREWALL
>>options         IPFIREWALL_VERBOSE
>>options         IPFIREWALL_VERBOSE_LIMIT="50"
>>options         IPFIREWALL_FORWARD
>>options         IPDIVERT
>>options         IPSTEALTH
>>options         TCP_DROP_SYNFIN
>>
>>Вот это rc.conf записал
>>firewall_enable="YES"
>>firewall_quiet="YES"
>>natd_enable="YES"
>>natd_interface="xl1"
>>natd_flags="-f /usr/local/etc/natd.conf"
>>
>>В natd.conf вот это:
>>same_ports yes
>>use_sockets yes
>>dynamic yes
>>
>>
>>#!/bin/sh
>>   ipfw='/sbin/ipfw -q'
>>   ournet='192.168.0.1/24'
>>   uprefix='192.168.0'
>>   ifout='rl0'
>>   ifuser='rl1'
>>   ${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 lo
>>   ${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 410 allow tcp from not ${ournet} to
>>me smtp
>>   ${ipfw} add 510 divert natd ip from ${ournet} to
>>any out via ${ifout}
>>   ${ipfw} add 1002 allow ip from ${uprefix}.2 to any
>>via ${ifuser}
>>   ${ipfw} add 1002 allow ip from any to ${uprefix}.2
>>via ${ifuser}
>>   ${ipfw} add 1003 allow ip from ${uprefix}.3 to any
>>via ${ifuser}
>>   ${ipfw} add 1003 allow ip from any to ${uprefix}.3
>>via ${ifuser}
>>   ${ipfw} add 1004 allow ip from ${uprefix}.4 to any
>>via ${ifuser}
>>   ${ipfw} add 1004 allow ip from any to ${uprefix}.4
>>via ${ifuser}
>>   #${ipfw} add 65535 deny ip from any to any
>>
>>
>>Меня интересуют здесь, например, правило 1002. По нему пакеты проходят, попадают natd,
>>но обратно ответы не проходят.
>>Что не так?
>
>А это правильно, что у тебя в rc.conf natd_interface="xl1" или там все-таки
>должен быть rl0???

Я знаю, когда пробовал эти правило, то конечно же исправил на xl1
Здесь я привел правила как они были в статье.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Не работает natd" 
Сообщение от kondrat Искать по авторуВ закладки(??) on 21-Окт-05, 17:15  (MSK)
>Прочел одну широко распространенную статью с таким вот конфигом ipfw
>Попытался запустить все это, но не работает: с локального хоста пакеты идут
>в инет, а из инета не проходят.
>Вот настройки моего ядра
>options         IPFIREWALL
>options         IPFIREWALL_VERBOSE
>options         IPFIREWALL_VERBOSE_LIMIT="50"
>options         IPFIREWALL_FORWARD
>options         IPDIVERT
>options         IPSTEALTH
>options         TCP_DROP_SYNFIN
>
>Вот это rc.conf записал
>firewall_enable="YES"
>firewall_quiet="YES"
>natd_enable="YES"
>natd_interface="xl1"
>natd_flags="-f /usr/local/etc/natd.conf"
>
>В natd.conf вот это:
>same_ports yes
>use_sockets yes
>dynamic yes
>
>
>#!/bin/sh
>   ipfw='/sbin/ipfw -q'
>   ournet='192.168.0.1/24'
>   uprefix='192.168.0'
>   ifout='rl0'
>   ifuser='rl1'
>   ${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 lo
>   ${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 410 allow tcp from not ${ournet} to
>me smtp
>   ${ipfw} add 510 divert natd ip from ${ournet} to
>any out via ${ifout}
>   ${ipfw} add 1002 allow ip from ${uprefix}.2 to any
>via ${ifuser}
>   ${ipfw} add 1002 allow ip from any to ${uprefix}.2
>via ${ifuser}
>   ${ipfw} add 1003 allow ip from ${uprefix}.3 to any
>via ${ifuser}
>   ${ipfw} add 1003 allow ip from any to ${uprefix}.3
>via ${ifuser}
>   ${ipfw} add 1004 allow ip from ${uprefix}.4 to any
>via ${ifuser}
>   ${ipfw} add 1004 allow ip from any to ${uprefix}.4
>via ${ifuser}
>   #${ipfw} add 65535 deny ip from any to any
>
>
>Меня интересуют здесь, например, правило 1002. По нему пакеты проходят, попадают natd,
>но обратно ответы не проходят.
>Что не так?

А еще где у тебя диверт пакетов из внешнего мира в твою сеть???

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Не работает natd" 
Сообщение от pavel_i emailИскать по авторуВ закладки(ok) on 21-Окт-05, 17:23  (MSK)
>А еще где у тебя диверт пакетов из внешнего мира в твою
>сеть???
Когда экспериментировал писал вот такие варианты
1.${ipfw} add 520 divert natd all from any to any in via ${ifout}
2.${ipfw} add 520 divert natd all from any to ${out_ip} in via ${ifout}
3.${ipfw} add 520 divert natd all from any to ${ournet} in via ${ifout}

Но без успешно!

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Не работает natd" 
Сообщение от kondrat Искать по авторуВ закладки(??) on 21-Окт-05, 17:31  (MSK)
>>А еще где у тебя диверт пакетов из внешнего мира в твою
>>сеть???
>Когда экспериментировал писал вот такие варианты
>1.${ipfw} add 520 divert natd all from any to any in via
>${ifout}
>2.${ipfw} add 520 divert natd all from any to ${out_ip} in via
>${ifout}
>3.${ipfw} add 520 divert natd all from any to ${ournet} in via
>${ifout}
>
>Но без успешно!

Посмотри, чтобы у тебя стояла опция gateway_enable="YES" или дай команду sysctl net.inet.ip.forwarding=1

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Не работает natd" 
Сообщение от kondrat Искать по авторуВ закладки(??) on 21-Окт-05, 17:33  (MSK)
>>А еще где у тебя диверт пакетов из внешнего мира в твою
>>сеть???
>Когда экспериментировал писал вот такие варианты
>1.${ipfw} add 520 divert natd all from any to any in via
>${ifout}
>2.${ipfw} add 520 divert natd all from any to ${out_ip} in via
>${ifout}
>3.${ipfw} add 520 divert natd all from any to ${ournet} in via
>${ifout}
>
>Но без успешно!

И сделай все-таки диверт
${ipfw} add 520 divert natd all from any to ${out_ip} in via ${ifout}

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Не работает natd" 
Сообщение от kondrat Искать по авторуВ закладки(??) on 21-Окт-05, 17:38  (MSK)
>>А еще где у тебя диверт пакетов из внешнего мира в твою
>>сеть???
>Когда экспериментировал писал вот такие варианты
>1.${ipfw} add 520 divert natd all from any to any in via
>${ifout}
>2.${ipfw} add 520 divert natd all from any to ${out_ip} in via
>${ifout}
>3.${ipfw} add 520 divert natd all from any to ${ournet} in via
>${ifout}
>
>Но без успешно!

потом еще ournet это не 192.168.0.1/24, а наверное 192.168.0.0/24. А вобще набери в поиске на opennet настройка natd и почитай, что там пишут.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Не работает natd" 
Сообщение от pavel_i emailИскать по авторуВ закладки(ok) on 21-Окт-05, 17:46  (MSK)
>>>А еще где у тебя диверт пакетов из внешнего мира в твою
>>>сеть???
>>Когда экспериментировал писал вот такие варианты
>>1.${ipfw} add 520 divert natd all from any to any in via
>>${ifout}
>>2.${ipfw} add 520 divert natd all from any to ${out_ip} in via
>>${ifout}
>>3.${ipfw} add 520 divert natd all from any to ${ournet} in via
>>${ifout}
>>
>>Но без успешно!
>
>потом еще ournet это не 192.168.0.1/24, а наверное 192.168.0.0/24. А вобще набери
>в поиске на opennet настройка natd и почитай, что там пишут.
>
Да, согласен! В том, что я написал есть мелкие ошибки. Но я у себя их исправил. Меня больше интересует принцип. Нужно ли в данном случае направлять через диверт все пакеты из инета на внешний ip?
В инете, к сожалению, пишут не так много. Часто перепечатывают одно и тоже.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "Не работает natd" 
Сообщение от pavel_i emailИскать по авторуВ закладки(ok) on 21-Окт-05, 17:54  (MSK)
>>
>>потом еще ournet это не 192.168.0.1/24, а наверное 192.168.0.0/24. А вобще набери
>>в поиске на opennet настройка natd и почитай, что там пишут.
>>
>Да, согласен! В том, что я написал есть мелкие ошибки. Но я
>у себя их исправил. Меня больше интересует принцип. Нужно ли в
>данном случае направлять через диверт все пакеты из инета на внешний
>ip?
>В инете, к сожалению, пишут не так много. Часто перепечатывают одно и
>тоже.
gateway_enable="YES" уже был
Диверт
на внешний ip делал, но не помогло.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "Не работает natd" 
Сообщение от miron Искать по авторуВ закладки(??) on 21-Окт-05, 20:58  (MSK)

чтоб не мучится: divert all from any to any via rl1 (который внешний)
натить надо как исходящие, так и входящие. а потом, если уж так приспичило можешь писать более узкие диверты.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

11. "Не работает natd" 
Сообщение от miron Искать по авторуВ закладки(??) on 21-Окт-05, 22:11  (MSK)
ournet=192.168.0.0/16 или 192.168.0.0/24

в начале:
allow all from any to any via lo0
allow all from any to any via rl1
своей сетке то доверяешь? четыре тачки всего!

330 закончить: out via rl0
340 - лишнее

400,410 - если есть почтовый сервер, веб сервер и ssh к которым доступ из интырнета

divert all from any to any via rl0 - диверт вх и исх

1002 и ниже:
... any via rl0, а не rl1
непонятно для чего писать одно и то же правило для каждой тачки, не легче одно общее?

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

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

12. "Не работает natd" 
Сообщение от pavel_i emailИскать по авторуВ закладки(ok) on 24-Окт-05, 16:46  (MSK)
>ournet=192.168.0.0/16 или 192.168.0.0/24
>
>в начале:
>allow all from any to any via lo0
>allow all from any to any via rl1
>своей сетке то доверяешь? четыре тачки всего!
>
>330 закончить: out via rl0
>340 - лишнее
>
>400,410 - если есть почтовый сервер, веб сервер и ssh к которым
>доступ из интырнета
>
>divert all from any to any via rl0 - диверт вх и
>исх
>
>1002 и ниже:
>... any via rl0, а не rl1
>непонятно для чего писать одно и то же правило для каждой тачки,
>не легче одно общее?
>
>и вообще выкинь эти правила и напиши заново. свой конфиг кинуть?
>какая сеть, что надо итд требования
Спасибо за ответы!
Я сделал так
#!/bin/sh
ipfw -f flush
ext_interface='xl1'
int_interface='xl0'
ip_ext='xx.xx.xx.xx'
ip_admps='10.10.1.22'
ip_int='10.10.1.177'
ip_win='10.10.1.7'
ip_win_s='10.10.1.1'
post2='10.10.1.159'
ip_win4='10.10.1.20'
ip_win5='10.10.1.42'
ip_buh1='10.10.1.59'
ip_buh2='10.10.1.30'
ip_buh3='10.10.1.80'
ip_buh4='10.10.1.198'
ip_buh5='10.10.1.81'

ipfw add 100 allow all from any to any via lo0

ipfw add 200 deny all from 127.0.0.0/8 to any in recv ${ext_interface}
ipfw add 210 deny all from 10.0.0.0/8 to any in recv ${ext_interface}
ipfw add 220 deny all from 172.16.0.0/16 to any in recv ${ext_interface}
ipfw add 230 deny all from 192.168.0.0/24 to any in recv ${ext_interface}


ipfw add 500 allow tcp from ${local_net} 1025-65535  to 10.10.1.177 20,21,22,110,80  via ${int_interface}
ipfw add 510 allow tcp from 10.10.1.177 20,21,22,80,110 to ${local_net} 1025-65535  via ${int_interface}

ipfw add 600 divert natd ip from ${local_net} to any out via ${ext_interface}
ipfw add 610 divert natd ip from any to ${ip_ext} in via ${ext_interface}
#ipfw add 620 check-state

ipfw add 635 deny icmp from any to any in icmptype 5,9,13,14,15,16,17
ipfw add 640 allow icmp from any to any

# DNS,SMTP,POP ... Rules

ipfw add 640 allow udp from  any to any 53
ipfw add 650 allow udp from  any 53 to any

ipfw add 660 allow tcp from  any to any 21,20
ipfw add 670 allow tcp from  any 21,20 to any

ipfw add 680 allow tcp from any to any 110
ipfw add 690 allow tcp from  any 110 to any

ipfw add 700 allow tcp from  any to any 25
ipfw add 710 allow tcp from  any 25 to any

ipfw add 720 allow udp from  any to any 123
ipfw add 730 allow udp from  any 123 to any
#User Rules
ipfw add 900 allow all from any to ${local_net} via ${int_interface}
ipfw add 920 allow ip from 10.10.1.159 to any via ${int_interface}
ipfw add 930 allow ip from 10.10.1.11 to any via ${int_interface}
ipfw add 940 allow ip from 10.10.7.1 to any via ${int_interface}
ipfw add 950 allow ip from 10.10.1.72 to any via ${int_interface}
ipfw add 960 allow ip from ${ip_buh1} to any via ${int_interface}
ipfw add 970 allow ip from ${ip_buh2} to any via ${int_interface}
ipfw add 980 allow ip from ${ip_buh3} to any via ${int_interface}
ipfw add 990 allow ip from ${ip_buh4} to any via ${int_interface}
ipfw add 1000 allow ip from ${ip_buh5} to any via ${int_interface}
ipfw add 1100 allow all from ${ip_ext} to any 22,21,20,23,80,110,443 out via ${ext_interface}


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру