Страница 2 из 2

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

Добавлено: 2012-11-07 10:20:48
chipset
Попробуй заменить правило:

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

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 это как и в вашем случае от роутера приходит.
И пробуй делать действия постепенно сначало в фаерволе разрешай все потом постепенно закрывай и проверяй работу.

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

Добавлено: 2012-11-07 12:42:39
sadchok
Призрак писал(а):
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

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.

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

Добавлено: 2012-11-07 19:00:19
vintovkin

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

netstat -rn

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

Добавлено: 2012-11-07 22:00:21
Проходил мимо
Чтобы пакетики между интерфейсами перебрасывались нужно включать forwading.
Будем надеяться, что с этим у Вас порядок:

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

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

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

Добавлено: 2012-11-08 8:28:33
chipset
Проходил мимо писал(а):Чтобы пакетики между интерфейсами перебрасывались нужно включать 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

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

Добавлено: 2012-11-08 8:33:25
chipset
Покажи:

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

ifconfig -a

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

netstat -rn

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

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

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

/etc/rc.conf

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 КБ) 1387 просмотров
etc rc.ipfw.png
Файл etc/rc.ipfw
etc rc.ipfw.png (7.04 КБ) 1387 просмотров
etc rc.conf.png
Файл etc/rc.conf

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

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

Добавлено: 2012-11-08 18:46:45
FreeBSP
Призрак писал(а): 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 в ноль и "впаяный" файер перестает обрабатывать пакеты

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 с типом подключения Внутренняя сеть!

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!

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

Добавлено: 2012-11-11 19:07:14
vintovkin
это хорошо, а вот вы скрины с консоли выкладываете, почему ssh не настроите? удобней и проще))

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

Добавлено: 2012-11-12 15:40:49
фывап
В настройках сетевых карт VirtualBOX я вместо Intel Pro/1000 MT Server поставил Intel Pro/1000 MT Desktop и проблема исчезла сама собой.
в вас же кидали ссылкой! надо только отключить rxcsum так как вплоть до 9.0 в драйвере em глюк.