ICQ + Kernel NAT + IPFW (отваливается аська)

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

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

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
bobbe
проходил мимо
Сообщения: 7
Зарегистрирован: 2010-11-26 13:27:11

ICQ + Kernel NAT + IPFW (отваливается аська)

Непрочитанное сообщение bobbe » 2010-11-26 13:57:40

Помогите пжлста разобраться с проблемой.
FreeBSD 7.3 R2.
Решил "намутить" Kernel Nat. Намутил :) После чего возникла следующая проблема: периодически отваливается ICQ (конкретно QIP) с интервалом минут в 5. И после нескольких "отваливаний" вообще при подключении ругается что "Превышен лимит подключений".
Инет, почта.. всё вроде бы работает нормально.
До кернел-ната был natd + точно такой же конфиг IPFW (за исклчюениум правил NAT конечно).

Подскажите, как/чем анализировать данную проблему :) Ну или просто решение подскажите :))

конфиг ядра

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

# IPFW
options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=100
options         IPFIREWALL_FORWARD
# PIPE
options         DUMMYNET
# NAT
options         IPFIREWALL_NAT
options         LIBALIAS
rc.conf

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

hostname="oldman.domain.local"
defaultrouter="xxx.xxx.x.xxx"
ifconfig_fxp0="inet aaa.aaa.a.aaa  netmask 255.255.255.240"
ifconfig_fxp1="inet 10.80.16.5 netmask 255.255.255.0"
gateway_enable="YES"
firewall_enable="YES"
firewall_script="/etc/rc.ipfw"
firewall_nat_enable="YES"
firewall_nat_interface="fxp0"
конфиг IPFW

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

ipfw -q -f flush

cmd="ipfw -q add"
skip="skipto 400"
ks="keep-state"

oif="fxp0"
oip="aaa.aaa.a.aaa"
iif="fxp1"
inet="10.80.16.0/24"
iip="10.80.16.5"

#####   RULES

	$cmd 010 allow all from any to any via $iif	

	$cmd 020 allow all from any to any via lo0	
	$cmd 030 deny ip from any to 127.0.0.0/8	
	$cmd 040 deny ip from 127.0.0.0/8 to any

#NAT in
	ipfw -q nat 1 config if $oif
	$cmd 060 nat 1 ip from any to any in via $oif

	$cmd 070 check-state

##### Outgoing #####
	
	$cmd 100 $skip icmp from any to any $ks
	
	$cmd 105 $skip udp from any to any 123 out via $oif $ks
	
	$cmd 110 $skip udp from any to any 53 out via $oif $ks
	$cmd 111 $skip tcp from any to any 53 out via $oif setup $ks

	$cmd 160 $skip all from $inet to any 25 out via $oif setup $ks		
	$cmd 170 $skip all from $inet to any 110 out via $oif setup $ks		
	$cmd 171 $skip tcp from $inet to any 5190 out via $oif setup $ks	
	$cmd 172 $skip tcp from $inet to any 443 via $oif setup $ks		
	$cmd 173 $skip tcp from $inet to any 9010 out via $oif setup $ks	
	$cmd 174 $skip tcp from $inet to any 21 out via $oif setup $ks		
	$cmd 175 $skip tcp from $inet to any 80 out via $oif setup $ks			
	
   #### FPSU/Klient-bank ####
	$cmd $skip udp from 10.80.16.25 1024-65535 to 194.186.207.189 out xmit $oif $ks
	
	$cmd 190 $skip all from $oip to any out via $oif setup $ks

	$cmd 360 allow all from any to any established	
	
##### Final #####

	$cmd 399 deny log logamount 1000 all from any to any	
	
### NAT	
	$cmd 400 nat 1 ip from any to any out via $oif		
	
	$cmd 410 allow all from any to any			
	$cmd 999 deny log all from any to any
Последний раз редактировалось hizel 2010-11-26 14:33:31, всего редактировалось 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/

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: ICQ + Kernel NAT + IPFW (отваливается аська)

Непрочитанное сообщение hizel » 2010-11-26 14:31:24

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

ipfw disable one_pass
Последний раз редактировалось hizel 2010-11-26 14:31:36, всего редактировалось 1 раз.
Причина: disable
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

bobbe
проходил мимо
Сообщения: 7
Зарегистрирован: 2010-11-26 13:27:11

Re: ICQ + Kernel NAT + IPFW (отваливается аська)

Непрочитанное сообщение bobbe » 2010-11-26 15:41:44

"Заработало!" :) Спасибо!
Но почему с natd в этом "one_pass" не было необходимости?
Объясните пжлста! Ну или подскажите где почичать об этом "one_pass". Чтоб абсолютно вкурить :)

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: ICQ + Kernel NAT + IPFW (отваливается аська)

Непрочитанное сообщение hizel » 2010-11-26 15:55:21

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

man ipfw
и медитация на тему прохождения пакетов по ipfw поможет ;-)

цимес в этом набросе:
To let the packet continue after being (de)aliased, set the sysctl variable net.inet.ip.fw.one_pass to 0.
one_pass и net.inet.ip.fw.one_pass одно и тоже
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

bobbe
проходил мимо
Сообщения: 7
Зарегистрирован: 2010-11-26 13:27:11

Re: ICQ + Kernel NAT + IPFW (отваливается аська)

Непрочитанное сообщение bobbe » 2010-12-09 15:35:55

hizel, подскажите еще пжлста по такому вопросу:

Вот вообщем теже правила, всё то же..

У машины 10.80.16.25 есть возможность подключения к 194.186.207.189.
Так же необходимо дать возможность этой машине подключаться "to any 8585 out via $oif" , грубо говоря.
если я добавляю после

#### FPSU/Klient-bank ####
$cmd $skip udp from 10.80.16.25 1024-65535 to 194.186.207.189 out xmit $oif $ks

$cmd $skip tcp from 10.80.16.25 1024-65535 to any 8585 out xmit $oif setup $ks

, то в логах наблюдаю примерно следующее:

...Deny TCP 10.80.16.25:4331 91.213.144.132:8585 out via fxp0

Почему такое происходит? Ведь разрешил же ж...

bobbe
проходил мимо
Сообщения: 7
Зарегистрирован: 2010-11-26 13:27:11

Re: ICQ + Kernel NAT + IPFW (отваливается аська)

Непрочитанное сообщение bobbe » 2010-12-09 15:44:41

Если добавляю это правило перед правилом ###FPSU/Klient-bank###, то оно работает, но перестает работать правило ##FPSU/Klient-bank##...

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: ICQ + Kernel NAT + IPFW (отваливается аська)

Непрочитанное сообщение hizel » 2010-12-09 15:51:46

лучше везде ставить номер правила и смотреть ipfw show и ipfw -d show
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

bobbe
проходил мимо
Сообщения: 7
Зарегистрирован: 2010-11-26 13:27:11

Re: ICQ + Kernel NAT + IPFW (отваливается аська)

Непрочитанное сообщение bobbe » 2010-12-09 16:08:22

Ну то есть мне сюда выложить ipfw -d show?

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: ICQ + Kernel NAT + IPFW (отваливается аська)

Непрочитанное сообщение hizel » 2010-12-09 17:40:55

ну не обязательно, можно и самому проанализировать
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

bobbe
проходил мимо
Сообщения: 7
Зарегистрирован: 2010-11-26 13:27:11

Re: ICQ + Kernel NAT + IPFW (отваливается аська)

Непрочитанное сообщение bobbe » 2010-12-13 15:14:29

Спасибо еще раз за помощь.
Вот может быть кому-то пригодится:
http://house.hcn-strela.ru/BSDCert/BSDA-course/ape.html
Ман по IPFW и не только. На доступном языке.