Ядерный NAT + IPFW проблема с выходом в Интернет.

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
chipset
мл. сержант
Сообщения: 113
Зарегистрирован: 2012-05-12 11:24:30

Re: Ядерный NAT + IPFW проблема с выходом в Интернет.

Непрочитанное сообщение chipset » 2012-11-07 10:20:48

Попробуй заменить правило:

Код: Выделить всё

deny ip from any to any
на:

Код: Выделить всё

allow ip from any to any
И посмотри ходят ли пакеты.
Например выполни для этого:

Код: Выделить всё

ipfw add 65534 allow ip from any to any
А нат я предпочитаю делать на pf для него например такие правила можно использывать:

Код: Выделить всё

nat on rl1 from 10.*.*.*/24 to any -> 192.168.1.2
В примере rl1 сетевка с которой раздаются ip из подсети 10.*.*.*, а 192.168.1.2 это как и в вашем случае от роутера приходит.
И пробуй делать действия постепенно сначало в фаерволе разрешай все потом постепенно закрывай и проверяй работу.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
sadchok
сержант
Сообщения: 271
Зарегистрирован: 2011-10-13 10:40:54
Откуда: Алтайский край

Re: Ядерный NAT + IPFW проблема с выходом в Интернет.

Непрочитанное сообщение sadchok » 2012-11-07 12:42:39

Призрак писал(а):
sadchok писал(а):Начни все с начала.
Отключи фаервол, на сервере должен появится инет.
В настройках D-Link пропиши маршрут до подсети 192.168.10.0 , в ней должен появится инет (через NAT на D-Link).
Далее врубай фаервол и добавляй правила, отслеживай как ходят пакеты.
Делай все пошагово, так проще разгребать.
IPFW впаян в ядро, отключить его так невозможно, разве что оттуда выпаивать.

Код: Выделить всё

    #!/bin/sh
    ipfw -q -f flush
    inetif="em0"
    lanif="em1"
    cmd="ipfw -q -add"
    ks="keep-state"
    $cmd allow ip from any to any
The brain can not be found. Runs the software emulation

Призрак
рядовой
Сообщения: 33
Зарегистрирован: 2012-09-10 10:07:57

Re: Ядерный NAT + IPFW проблема с выходом в Интернет.

Непрочитанное сообщение Призрак » 2012-11-07 18:47:36

BirdGovorun писал(а):http://www.lissyara.su/articles/freebsd ... /ipfw_nat/ по этой статье за 10 минут
В rc.conf

Код: Выделить всё

gateway_enable="YES"
defaultrouter="ale0"

firewall_enable="YES"
firewall_nat_enable="YES"
firewall_nat_interface="ale0"
firewall_flags="unreg_only same_ports unregistered_only"
firewall_script="/usr/local/etc/rc.d/ipfw_rules"
ipfw_rules

Код: Выделить всё

#!/bin/sh

ipfw -q -f flush

ipfw nat 123 config log if ale0
ipfw add nat 123 all from any to any via ale0

ipfw -q add 1100 pass all from any to any 
Раздаю интернет компу жены, через свой, до этого был natd.
Заработало без проблем.
Провайдер выдаёт динамический IP.

Код: Выделить всё

ale0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=c319a<TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MCAST,WOL_MAGIC,VLAN_HWTSO,LINKSTATE>
        ether 00:1b:fc:fe:8a:9c
        inet 77.120.146.13 netmask 0xfffffe00 broadcast 77.120.147.255
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=2009<RXCSUM,VLAN_MTU,WOL_MAGIC>
        ether 00:d0:b7:0b:2e:6f
        inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
        inet6 fe80::2d0:b7ff:fe0b:2e6f%fxp0 prefixlen 64 scopeid 0xc 
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active

Код: Выделить всё

ipfw show
00100 4095 2200469 nat 123 ip from any to any via ale0
01100 2532 1415017 allow ip from any to any
65535   20    1740 deny ip from any to any
Я настроил все как вы написали заменив на свои интерфейсы. Только строчка

Код: Выделить всё

defaultrouter="ale0" (в моем случае em0!) 
не прокатила, пишет bad interface я пытался менять адреса шлюзов, бес-по-лез-но. Статистика идет, в логах сплошные надписи Accept, при выводе команды

Код: Выделить всё

ipfw nat 1 show
идет статистика похожая на вашу. Но по прежнему при пинге host is down и no route to host.

Аватара пользователя
vintovkin
ВДВ
Сообщения: 1291
Зарегистрирован: 2007-05-11 9:39:11
Откуда: CSKA

Re: Ядерный NAT + IPFW проблема с выходом в Интернет.

Непрочитанное сообщение vintovkin » 2012-11-07 19:00:19

Код: Выделить всё

netstat -rn
JunOS kernel based on FreeBSD UNIX.

Проходил мимо
проходил мимо

Re: Ядерный NAT + IPFW проблема с выходом в Интернет.

Непрочитанное сообщение Проходил мимо » 2012-11-07 22:00:21

Чтобы пакетики между интерфейсами перебрасывались нужно включать forwading.
Будем надеяться, что с этим у Вас порядок:

Код: Выделить всё

net.inet.ip.forwarding=1
или
net.inet.ip.fastforwarding=1

chipset
мл. сержант
Сообщения: 113
Зарегистрирован: 2012-05-12 11:24:30

Re: Ядерный NAT + IPFW проблема с выходом в Интернет.

Непрочитанное сообщение chipset » 2012-11-08 8:28:33

Проходил мимо писал(а):Чтобы пакетики между интерфейсами перебрасывались нужно включать forwading.
Будем надеяться, что с этим у Вас порядок:

Код: Выделить всё

net.inet.ip.forwarding=1
или
net.inet.ip.fastforwarding=1
Форвардинг будет включен потому что в /etc/rc.conf добавленно:

Код: Выделить всё

gateway_enable="YES"
Проверить можно так:

Код: Выделить всё

sysctl net.inet.ip.forwarding
Если всеже значение стоит 0 тогда включить:

Код: Выделить всё

sysctl net.inet.ip.forwarding=1
Но это сохранится только до ребута потому добавим в файл /etc/sysctl.conf строку:

Код: Выделить всё

net.inet.ip.forwarding=1

chipset
мл. сержант
Сообщения: 113
Зарегистрирован: 2012-05-12 11:24:30

Re: Ядерный NAT + IPFW проблема с выходом в Интернет.

Непрочитанное сообщение chipset » 2012-11-08 8:33:25

Покажи:

Код: Выделить всё

ifconfig -a

Код: Выделить всё

netstat -rn

Код: Выделить всё

/etc/rc.ipfw
Ну и на всякий случай:

Код: Выделить всё

/etc/rc.conf

Призрак
рядовой
Сообщения: 33
Зарегистрирован: 2012-09-10 10:07:57

Re: Ядерный NAT + IPFW проблема с выходом в Интернет.

Непрочитанное сообщение Призрак » 2012-11-08 18:25:50

chipset писал(а):Покажи:

Код: Выделить всё

ifconfig -a

Код: Выделить всё

netstat -rn

Код: Выделить всё

/etc/rc.ipfw
Ну и на всякий случай:

Код: Выделить всё

/etc/rc.conf
Вот:
ifconfig -a.png
Команда ifconfig -a
netstat -rn.png
Команда netstat-rn
netstat -rn.png (5.93 КБ) 1394 просмотра
etc rc.ipfw.png
Файл etc/rc.ipfw
etc rc.ipfw.png (7.04 КБ) 1394 просмотра
etc rc.conf.png
Файл etc/rc.conf

Призрак
рядовой
Сообщения: 33
Зарегистрирован: 2012-09-10 10:07:57

Re: Ядерный NAT + IPFW проблема с выходом в Интернет.

Непрочитанное сообщение Призрак » 2012-11-08 18:26:46

Проходил мимо писал(а):Чтобы пакетики между интерфейсами перебрасывались нужно включать forwading.
Будем надеяться, что с этим у Вас порядок:

Код: Выделить всё

net.inet.ip.forwarding=1
или
net.inet.ip.fastforwarding=1

Код: Выделить всё

net.inet.ip.forwarding=1
net.inet.ip.fastforwarding=0

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: Ядерный NAT + IPFW проблема с выходом в Интернет.

Непрочитанное сообщение FreeBSP » 2012-11-08 18:46:45

Призрак писал(а): IPFW впаян в ядро, отключить его так невозможно, разве что оттуда выпаивать.
> sysctl net.inet.ip.fw
net.inet.ip.fw.static_count: 18
net.inet.ip.fw.default_to_accept: 0
net.inet.ip.fw.tables_max: 128
net.inet.ip.fw.default_rule: 65535
net.inet.ip.fw.verbose_limit: 0
net.inet.ip.fw.verbose: 0
net.inet.ip.fw.autoinc_step: 100
net.inet.ip.fw.one_pass: 0
net.inet.ip.fw.enable: 1
net.inet.ip.fw.dyn_keepalive: 1
net.inet.ip.fw.dyn_short_lifetime: 5
net.inet.ip.fw.dyn_udp_lifetime: 10
net.inet.ip.fw.dyn_rst_lifetime: 1
net.inet.ip.fw.dyn_fin_lifetime: 1
net.inet.ip.fw.dyn_syn_lifetime: 20
net.inet.ip.fw.dyn_ack_lifetime: 300
net.inet.ip.fw.dyn_max: 4096
net.inet.ip.fw.dyn_count: 0
net.inet.ip.fw.curr_dyn_buckets: 256
net.inet.ip.fw.dyn_buckets: 256
дропаешь enable в ноль и "впаяный" файер перестает обрабатывать пакеты
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Призрак
рядовой
Сообщения: 33
Зарегистрирован: 2012-09-10 10:07:57

Re: Ядерный NAT + IPFW проблема с выходом в Интернет.

Непрочитанное сообщение Призрак » 2012-11-08 20:38:57

Сейчас я столкнулся с одним очень странным явлением, похоже вся вина лежит на виртуальной машине VirtualBox

В общем надоело мне, пересобрал я ядро заново, отключив опции включая Firewall и заметил одну прелюбопытнейшую вещь! Дело в том, что для экспериментов с NAT я сделал 2 сетевые виртуальные карты:

Код: Выделить всё

em0 адрес 192.168.1.4 Тип подключения сетевой мост
em1 адрес 192.168.10.4 Тип подключения внутренняя сеть
Так вот, при таком раскладе сеть пропадает напрочь, нет пингов и Интернета, даже без брандмауэра! И только в том случае, если я ставлю тип подключения для сетевой карты em1 как сетевой мост пинги проходят, и Интернет есть! Стоит мне только поставить em1 тип подключения Внутренняя сеть, как опять все пропадает!

К слову сказать, был у меня интересный глюк с сетевыми подключениями. Материнская плата у меня GIGABYTE GA-EP45-DS3. На этой плате есть 2 интегрированных сетевых карты. Схема подключения была та же самая, что и в моем первом посте. К первой сетевой карте кабель был подключен, ко второй нет (она без надобности). Так вот, до тех пор, пока я не выключил вторую сетевую карту (в конце концов я активировал на ней GreenLAN в BIOS чтобы она если не подключена не появлялась) то интернет на виртуальной фре так и не появился.

К слову сказать, модели виртуальных сетевых карт совершенно одинаковы, как и модели реальных сетевых карт материнской платы. Причем ко второй карте тоже никто не подключен. Может быть дело все в этом? Фря на манер Буриданова осла не знает к какой карте подключиться? К слову, если я поставлю тип подключения сетевой мост, то вторая виртуальная карта em1 становится активной (подключение установлено через адаптер на материнской плате GA-EP45-DS3).

И еще одна весьма странная вещь - когда я отключаю сетевую карту em0 на виртуальной машине VirtualBOX (снимаю галочку) то несмотря на то. что я комментирую строчку с интерфейсом em0 в /etc/rc.conf то фря загружается с сетевой картой em0! Но я ведь ее отключил и оставил em1 с типом подключения Внутренняя сеть!

Призрак
рядовой
Сообщения: 33
Зарегистрирован: 2012-09-10 10:07:57

Re: Ядерный NAT + IPFW проблема с выходом в Интернет.

Непрочитанное сообщение Призрак » 2012-11-10 22:24:44

В общем проблема решена. Спасибо всем огромное за участие!

В настройках сетевых карт VirtualBOX я вместо Intel Pro/1000 MT Server поставил Intel Pro/1000 MT Desktop и проблема исчезла сама собой. Если не хотите проблем, не используйте MT Server при настройке NAT на VirtualBOX на FreeBSD!

Аватара пользователя
vintovkin
ВДВ
Сообщения: 1291
Зарегистрирован: 2007-05-11 9:39:11
Откуда: CSKA

Re: Ядерный NAT + IPFW проблема с выходом в Интернет.

Непрочитанное сообщение vintovkin » 2012-11-11 19:07:14

это хорошо, а вот вы скрины с консоли выкладываете, почему ssh не настроите? удобней и проще))
JunOS kernel based on FreeBSD UNIX.

фывап
проходил мимо

Re: Ядерный NAT + IPFW проблема с выходом в Интернет.

Непрочитанное сообщение фывап » 2012-11-12 15:40:49

В настройках сетевых карт VirtualBOX я вместо Intel Pro/1000 MT Server поставил Intel Pro/1000 MT Desktop и проблема исчезла сама собой.
в вас же кидали ссылкой! надо только отключить rxcsum так как вплоть до 9.0 в драйвере em глюк.