- natd рубит пакет, daloman, 15:42 , 02-Янв-09 (1)
>[оверквотинг удален] >${ipfw} add divert natd ip from any to ${ip_out} in via ${interf_out} > >${ipfw} add allow all from any to any > >rc.conf > >firewall_type="/etc/rc.firewall" >natd_enable="YES" >natd_interface="rl0" >natd_flags="-f /etc/natd.conf" Посмотрите внимательней, что у Вас есть что: ${intf_out} - что за интерфейс? ${interf_out} - что за интерфейс? Не мучьте себя, замените одним правилом:
${ipfw} add divert natd ip from any to any via ${внешний_интерфейс}
Если хотите получать доступ по ssh извне к своей машине, добавляете правилом выше (перед NAT):
${ipfw} add allow all from any to me 22 in via ${внешний_интерфейс}
А как у Вас выглядит rc.firewall?
- natd рубит пакет, scayn, 03:45 , 03-Янв-09 (2)
${intf_out} и ${interf_out} - это один внешний интерфейс (ссори за опечатку, торопился)rc.firewall так и выглидит: ${ipfw} add allow ip from any to any via lo0 ${ipfw} add divert natd ip from ${lan_in}/24 to any out via ${interf_out} ${ipfw} add divert natd ip from any to ${ip_out} in via ${interf_out} ${ipfw} add allow all from any to any ну плюс еще описание переменных. На самом деле меня больше интересует не поиск альтернатив, а сама суть: почему не работает традиционным способом, где я мог ошибиться или же это случайный глюк. доступ по ссх рубит 3-е правило. daloman за совет спасибо, как закончатся выходные (машина на работе) обязательно испытаю.
- natd рубит пакет, Michael, 13:58 , 03-Янв-09 (3)
переменная net.inet.ip.forwarding установлена?
- natd рубит пакет, scayn, 21:58 , 04-Янв-09 (4)
>переменная net.inet.ip.forwarding установлена? Установлена и равна "1"
- natd рубит пакет, daloman, 00:26 , 05-Янв-09 (5)
>[оверквотинг удален] > >${ipfw} add divert natd ip from any to ${ip_out} in via ${interf_out} > >${ipfw} add allow all from any to any >ну плюс еще описание переменных. > >На самом деле меня больше интересует не поиск альтернатив, а сама суть: >почему не работает традиционным способом, где я мог ошибиться или же >это случайный глюк. >доступ по ссх рубит 3-е правило.Собственно, все верно, если у Вас демон natd запускается с ключем -d или, как мне думается, конкретно у Вас в /etc/natd.conf указана опция
deny_incoming yes
Правило заворачивает все пакеты демону natd, а тот обрабатывает пакеты только от тех адресов, на которые он до этого уже обрабатывал исходящие пакеты и "знает" внутреннюю таблицу трансляции адресов. Если же соединение устанавливается с внешнего адреса, то он отвергает его. Если Вы установите эту опцию в значение "No", тогда демон будет создавать запись в своей локальной таблице трансляции адресов для IP-адреса, которому предназначен пакет, и соответственно - передавать его по назначению. Об этом можете более подробно почитать в man natd. Если же указывать ключ -d для демона, тогда нужно отдельным правилом выше этого:
${ipfw} add divert natd ip from any to ${ip_out} in via ${interf_out}
разрешать входящие пакты необходимых протоколов, таких как ssh, smtp и т.д.
- natd рубит пакет, scayn, 09:59 , 05-Янв-09 (6)
Собственно проблема даже не в том, что закрывается доступ по ssh, это я могу победить, а втом, что все пакеты вообще где то теряются. складывается такое ощушение что, интерфейс смотрящий в интернет блокируется правилом: >${ipfw} add divert natd ip from any to ${ip_out} in via ${interf_out}притом опция deny_incoming yes не указана (пробовал даже устанавливать deny_incoming no). Меня всё чаще посещают мысли о переустановки фри, но это не спортивно. в общем ни чего из вышеописанного не помогает :(
- natd рубит пакет, daloman, 14:23 , 05-Янв-09 (7)
>Собственно проблема даже не в том, что закрывается доступ по ssh, это >я могу победить, а втом, что все пакеты вообще где то >теряются. складывается такое ощушение что, интерфейс смотрящий в интернет блокируется правилом: > >>${ipfw} add divert natd ip from any to ${ip_out} in via ${interf_out} > >притом опция deny_incoming yes не указана (пробовал даже устанавливать deny_incoming no). >Меня всё чаще посещают мысли о переустановки фри, но это не спортивно. >в общем ни чего из вышеописанного не помогает :( Не только не спортивно, но и очень вредно. Давайте попробуем разобраться где затык. Можете прислать мне на почту или полностью процитировать здесь файлы конфигурации: 1. /etc/rc.conf 2. /etc/rc.firewall 3. /etc/natd.conf а также, привести полный вывод команд:
# uname -a # ipfw show что валит в консоль:
# /etc/netstart И желательно, файл конфигурации ядра, если пересобирали его. Если хотите, стучитесь в асю - 273222596
- natd рубит пакет, daloman, 21:06 , 05-Янв-09 (8)
>Собственно проблема даже не в том, что закрывается доступ по ssh, это >я могу победить, а втом, что все пакеты вообще где то >теряются. складывается такое ощушение что, интерфейс смотрящий в интернет блокируется правилом: > >>${ipfw} add divert natd ip from any to ${ip_out} in via ${interf_out} > >притом опция deny_incoming yes не указана (пробовал даже устанавливать deny_incoming no). >Меня всё чаще посещают мысли о переустановки фри, но это не спортивно. >в общем ни чего из вышеописанного не помогает :( И, кстати, о птичках, чтобы подтвердить или опровергнуть ощущения, посмотрите, правило вообще отрабатывает? Например, если включена опция логгирования для ядра, перед этим правилом добавьте следующее:
${ipfw} add divert natd log logamount 2000 ip from any to ${ip_out} in via ${interf_out} и посмотрите, что пишется в логи, когда пытаетесь установить соединение извне к этой машине:
# tail -f /var/log/security Также, можно поглядеть пакеты tcpdump'ом (можно очень много информации собрать), или, к примеру, утилитой trafshow. Я на виртуалках эмулирую ситуацию - все проходит именно так как я и описывал. И кстати, еще как вариант, родился вопрос, а перед внешним интерфейсом, случайно не стоит какая-нибудь железяка, на которой рубятся пакеты? они доходят до внешнего интерфейса машины? Желательно посмотреть логи пакетного фильтра.
|