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

ipfw, kernel nat, проблемы

Добавлено: 2010-09-27 17:43:03
spacegap
Есть стенд на Vmware workstation, где я пытаюсь построить простейший шлюз.
OS FreeBSD 8.1-RELEASE, 64-bit
Ядро собрано с опциями:

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

options         IPFIREWALL           
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=100
options         IPFIREWALL_FORWARD
options         DUMMYNET
options         IPFIREWALL_NAT
options         LIBALIAS
Конфиг правил ipwf в попытках разобраться сократился до неприличия:

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

#!/bin/sh

FwCMD="/sbin/ipfw"
LanOut="em0"
LanIn="em1"
IpOut="192.168.7.50"
IpIn="192.168.20.1"
NetIn="192.168.20.0/24"

${FwCMD} -f flush
${FwCMD} -f pipe flush
${FwCMD} -f queue flush

${FwCMD} add check-state

${FwCMD} nat 100 config ip ${IpOut} reset same_ports
${FwCMD} add nat 100 ip from ${NetIn} to any
${FwCMD} add nat 100 ip from any to ${IpOut}

${FwCMD} add allow ip from any to any
Внутренняя сеть 192.168.20.0/24 (сервер 192.168.20.1), внешняя 192.168.7.0/24 (внешний адрес 192.168.7.50)

NAT работает, из внутренней сети всё уходит и т.п.
Однако, при попытке подключиться из внутренней сети по любому tcp порту (22, 80 и т.п.) к серверу по его внутреннему адресу, сервер валится в дамп и перезагружается. При попытке подключения к внешнему адресу этого не происходит.
Что бы это могло быть?

Re: ipfw, kernel nat, проблемы

Добавлено: 2010-09-27 18:02:25
hizel
rxcsum есть?

Re: ipfw, kernel nat, проблемы

Добавлено: 2010-09-27 19:20:00
spacegap
hizel писал(а):rxcsum есть?
Я пробовал эту схему с -rxsum на обоих интерфейсах, вместе и по отдельности. Ничего не меняет.

Re: ipfw, kernel nat, проблемы

Добавлено: 2010-09-27 19:36:33
hizel
а какие еще флажки есть?
снимите корку и отбэктрейсите, например

Re: ipfw, kernel nat, проблемы

Добавлено: 2010-09-27 23:29:48
spacegap
Сделал трейс, после него стало ясно, что нужно отключить txcsum на внутреннем интерфейсе.
На всякий случай, если кому-то будет полезно, то стенд крутится на Vmware Workstation 7.1.1, мастер-система Opensuse 11.3 64-bit, материнская плата с интегрированной сетевой картой Intel. По крайней мере, что-то похожее я нашёл именно в разборах по сетевухам Intel.

Re: ipfw, kernel nat, проблемы

Добавлено: 2010-09-28 9:38:12
hizel
а я тут http://www.freebsd.org/cgi/query-pr.cgi?pr=144869&cat= наступил

ae@ иногда на форуме светится ;]

Re: ipfw, kernel nat, проблемы

Добавлено: 2010-09-28 17:58:57
Laa
Попробуте, если получится обновить систему, вот-вот должны включить новые драйвера для карт Интел, а-то на старые еще до релиза народ жаловался, а у вас в добавок еще и виртуализация...

Re: ipfw, kernel nat, проблемы

Добавлено: 2010-10-01 22:04:49
spacegap
Laa писал(а):Попробуте, если получится обновить систему, вот-вот должны включить новые драйвера для карт Интел, а-то на старые еще до релиза народ жаловался, а у вас в добавок еще и виртуализация...
Да, спасибо. Но я скачал неделю назад последний релиз. Кроме того, это очевидно, проблемы эмуляции сетевой карты в виртуальной среде. Я выключил txcsum и всё работает. Большего мне не надо, поскольку то, что будет отработано на стенде, потом переедет на реальную машину.

Re: ipfw, kernel nat, проблемы

Добавлено: 2010-10-01 22:07:15
hizel
не обязательно, nat не особенно дружит с rxcsum и txcsum( предсказуемо, так как контрольные суммы меняются после nat преобразования)
моя проблема решилась после обновления до -stable

Re: ipfw, kernel nat, проблемы

Добавлено: 2010-10-01 22:26:15
spacegap
hizel писал(а):не обязательно, nat не особенно дружит с rxcsum и txcsum( предсказуемо, так как контрольные суммы меняются после nat преобразования)
моя проблема решилась после обновления до -stable
Ну что ж, хорошо, если так. Это мой первый опыт с FreeBSD после долгого перерыва и я даже поначалу подивился такой "хрупкости" системы. Но кроме этого, пока всё гладко и прекрасно.
Если не заленюсь тисну багрепорт.

Re: ipfw, kernel nat, проблемы

Добавлено: 2010-10-02 17:29:37
Alex Keda
лучше на реальной железке экспериментировать
ловить виртуальные глюки - не очень как-то =))