ipfw + kernel nat = проблемы

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
fulltux
проходил мимо
Сообщения: 3
Зарегистрирован: 2008-12-08 14:36:14

ipfw + kernel nat = проблемы

Непрочитанное сообщение fulltux » 2008-12-08 14:49:44

Добрый день!

Поставил в офисе на роутер фряху 7.0. Пересобрал ядро с опциями

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

options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_FORWARD
options IPFIREWALL_NAT
options LIBALIAS
options IPSTEALTH
настроил фаерволл :

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

#!/bin/sh

ipfw -fq flush
ipfw -q add 1 allow all from any to any via lo0
ipfw -q add 4 allow ip from any to any via vr0
ipfw -q add 5 allow ip from any to any via gif0


ipfw nat 123 config ip 217.112.210.70 log
ipfw -q add 10 nat 123 ip from 192.168.3.0/24 to any out via rl0
ipfw -q add 20 nat 123 ip from any to xxx.xxx.xxx.xxx in via rl0

ipfw -q add 30 allow ip from any to 192.168.3.0/24 in via rl0

ipfw -q add check-state

ipfw -q add 500 allow tcp from any to any 22 via rl0 setup keep-state


ipfw -q add 900 allow icmp from any to any icmptypes 0,8

ipfw -q add 1000 allow tcp from any to any 80 out via rl0 setup keep-state
ipfw -q add 1010 allow tcp from any to any 443 out via rl0 setup keep-state
ipfw -q add 1020 allow tcp from any to any 110 out via rl0 setup keep-state
ipfw -q add 1030 allow tcp from any to any 25 out via rl0 setup keep-state
ipfw -q add 1040 allow tcp from any to any 143 out via rl0 setup keep-state
ipfw -q add 1050 allow tcp from any to any 5190 out via rl0 setup keep-state
ipfw -q add 1060 allow tcp from any to any 21,20,49152-65535 out via rl0 setup keep-state
ipfw -q add 1070 allow tcp from any to any 465,995 out via rl0 setup keep-state


ipfw -q add 1010 allow udp from any to any 53 out via rl0 keep-state

ipfw -q add 50000 deny log ip from any to any

Короче настроил нат на уровне ядра. Все работает. Все вроде нормально. НО! Стало наблюдатся что некоторые программы (работающие через иннет) стали дико тормозить. Причем временами. Тоесть минуту все отлично работает - две минуты тормозит.

В логе ipfw видно, что блокируются порта выше 2000-го. Из-за этого и тормоза


Подскажите как можно обойти данное ограничение кернела ната?
Последний раз редактировалось zingel 2008-12-08 18:00:42, всего редактировалось 1 раз.
Причина: юзайте кнопку [code][/code]

Хостинговая компания 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/

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

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

Непрочитанное сообщение terminus » 2008-12-08 16:46:36

ipfw nat 123 config ip 217.112.210.70 log reset same_ports
Что если добавить?
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

fulltux
проходил мимо
Сообщения: 3
Зарегистрирован: 2008-12-08 14:36:14

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

Непрочитанное сообщение fulltux » 2008-12-08 16:50:47

в смысле? мир пересобрать надо?

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

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

Непрочитанное сообщение terminus » 2008-12-08 16:52:43

опции nat
NETWORK ADDRESS TRANSLATION (NAT)
The nat configuration command is the following:

nat nat_number config nat-configuration

The following parameters can be configured:

ip ip_address
Define an ip address to use for aliasing.

if nic Use ip addres of NIC for aliasing, dynamically changing it if
NIC's ip address change.

log Enable logging on this nat instance.

deny_in
Deny any incoming connection from outside world.

same_ports
Try to leave the alias port numbers unchanged from the actual
local port numbers.

unreg_only
Traffic on the local network not originating from an unregistered
address spaces will be ignored.

reset Reset table of the packet aliasing engine on address change.

reverse
Reverse the way libalias handles aliasing.

proxy_only
Obey transparent proxy rules only, packet aliasing is not per-
formed.

To let the packet continue after being (de)aliased, set the sysctl vari-
able net.inet.ip.fw.one_pass to 0. For more information about aliasing
modes, refer to libalias(3) See Section EXAMPLES for some examples about
nat usage.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

fulltux
проходил мимо
Сообщения: 3
Зарегистрирован: 2008-12-08 14:36:14

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

Непрочитанное сообщение fulltux » 2008-12-08 17:18:33

:smile: вроде помогло

большое спасибо!