Нужна помощь. Netams + kernel_nat.

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
qwl
рядовой
Сообщения: 49
Зарегистрирован: 2008-12-30 14:55:24

Нужна помощь. Netams + kernel_nat.

Непрочитанное сообщение qwl » 2009-08-20 11:52:04

Доброго времени суток.
Пытаюсь и не получается в ipfw настроить сбор в netams.
Имеем: шлюз FreeBSD 7.2 + ipfw + apache + mysql.
При правилах в rc.ipfw все работает:

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

${FwCMD} nat 123 config ip ${IPOut} same_ports log 
${FwCMD} add nat 123 all from ${NetIn} to any 
${FwCMD} add nat 123 all from any to ${IPOut}
при обертывании kernet_nat:

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

${FwCMD} nat 123 config ip ${IPOut} same_ports log 
${FwCMD} add divert 199 ip from ${NetIn} to any out xmit ${LanOut} (1) 
${FwCMD} add nat 123 all from ${NetIn} to any <- это правило менялось по разному 
${FwCMD} add nat 123 all from any to ${IPOut} <- это правило менялось по разному 
${FwCMD} add divert 199 ip from any to ${NetIn} in recv ${LanOut} (2)
по 1 divert-у покеты проходят, а по 2му нет.
проверял с natd:

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

${FwCMD} add divert 199 ip from ${NetIn} to any out xmit ${LanOut} 
${FwCMD} add divert natd ip from ${NetIn} to any out xmit ${LanOut} 
${FwCMD} add divert natd ip from any to ${IPOut} in recv ${LanOut} 
${FwCMD} add divert 199 ip from any to ${NetIn} in recv ${LanOut}
все хорошо работает.
Заранее благодарю.

Хостинговая компания 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: Нужна помощь. Netams + kernel_nat.

Непрочитанное сообщение terminus » 2009-08-20 12:01:48

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

sysctl -a | grep one_pass
:unknown:
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

qwl
рядовой
Сообщения: 49
Зарегистрирован: 2008-12-30 14:55:24

Re: Нужна помощь. Netams + kernel_nat.

Непрочитанное сообщение qwl » 2009-08-20 12:20:52

sysctl -a | grep one_pass:

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

net.inet.ip.fw.one_pass: 1
я этот параметр менял на 0 результата не принесло.

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

Re: Нужна помощь. Netams + kernel_nat.

Непрочитанное сообщение terminus » 2009-08-20 12:55:46

Надо выставить в 0 и пробовать при нем - результат должен быть.
Если one_pass=1 то после прохода через правило с натом, трафик будет выходить из ipfw и до правила с дивертом не дойдет.
Попробуйте выставить в 0, перезапустить ipfw (а лучше сам комп целиком), и потом смотрите на счетчики на

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

ipfw -d show
будет видно через какие правила пакетики ходят.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

qwl
рядовой
Сообщения: 49
Зарегистрирован: 2008-12-30 14:55:24

Re: Нужна помощь. Netams + kernel_nat.

Непрочитанное сообщение qwl » 2009-08-22 7:54:39

рекомендации применил.
sysctl.conf:

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

net.inet.ip.fw.one_pass=0
sysctl -a | grep one_pass:

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

net.inet.ip.fw.one_pass: 0
rc.ipfw:

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

${FwCMD} add divert 199 ip from ${NetIn} to any out xmit ${LanOut}
${FwCMD} nat 123 config ip ${IPOut} same_ports log                
${FwCMD} add nat 123 all from ${NetIn} to any                     
${FwCMD} add nat 123 all from any to ${IPOut}                     
${FwCMD} add divert 199 ip from any to ${NetIn} in recv ${LanOut} 
ipfw -d show:

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

00100    0      0 check-state                                          
00200    0      0 allow ip from any to any via lo0                     
00300    0      0 deny not icmp from table(0) to me                    
00400    0      0 deny ip from any to 127.0.0.0/8                      
00500    0      0 deny ip from 127.0.0.0/8 to any                      
00600 1466  65099 divert 199 ip from 192.168.1.0/24 to any out xmit vr0
00700 1764  97808 nat 123 ip from 192.168.1.0/24 to any                
00800   28   1761 nat 123 ip from any to 192.168.0.33                  
00900    0      0 divert 199 ip from any to 192.168.1.0/24 in recv vr0 
65535 2104 130896 allow ip from any to any                             
нужен ваш совет.

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

Re: Нужна помощь. Netams + kernel_nat.

Непрочитанное сообщение terminus » 2009-08-22 8:57:33

:unknown: А если так:

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

${FwCMD} add divert 199 ip from ${NetIn} to any out xmit ${LanOut}
${FwCMD} nat 123 config ip ${IPOut} same_ports log                
${FwCMD} add nat 123 all from any to any via ${LanOut}
${FwCMD} add divert 199 ip from any to ${NetIn} in recv ${LanOut}
И еще вопросик - там у вас check-state откуда-то - вы все правила из rc.ipfw и вывода ipfw -d show показали?
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

qwl
рядовой
Сообщения: 49
Зарегистрирован: 2008-12-30 14:55:24

Re: Нужна помощь. Netams + kernel_nat.

Непрочитанное сообщение qwl » 2009-08-22 9:55:07

такое правило даже не принялось:

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

00100   0     0 check-state                                          
00200   0     0 allow ip from any to any via lo0                     
00300   0     0 deny not icmp from table(0) to me                    
00400   0     0 deny ip from any to 127.0.0.0/8                      
00500   0     0 deny ip from 127.0.0.0/8 to any                      
00600 176  7834 divert 199 ip from 192.168.1.0/24 to any out xmit vr0
00700   0     0 divert 199 ip from any to 192.168.1.0/24 in recv vr0 
65535 345 24650 allow ip from any to any                             
полный rc.ipfw:

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

${FwCMD} -f flush                                                 
${FwCMD} -f pipe flush                                            
${FwCMD} -f queue flush                                           
${FwCMD} -f table 0 flush                                         
                                                                  
${FwCMD} add check-state                                          
                                                                  
${FwCMD} add allow ip from any to any via lo0                     
${FwCMD} add deny not icmp from "table(0)" to me                  
                                                                  
${FwCMD} add deny ip from any to 127.0.0.0/8                      
${FwCMD} add deny ip from 127.0.0.0/8 to any                      
                                                                  
${FwCMD} add divert 199 ip from ${NetIn} to any out xmit ${LanOut}
${FwCMD} nat 123 config ip ${IPOut} same_ports log                
${FwCMD} add nat 123 all from to any via ${LanOut}                
${FwCMD} add divert 199 ip from any to ${NetIn} in recv ${LanOut} 

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

Re: Нужна помощь. Netams + kernel_nat.

Непрочитанное сообщение terminus » 2009-08-22 10:29:17

не принялось из-за опечатки, наверное:

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

${FwCMD} add nat 123 all from to any via ${LanOut}  
так правильно:

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

${FwCMD} add nat 123 all from any to any via ${LanOut}  
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

qwl
рядовой
Сообщения: 49
Зарегистрирован: 2008-12-30 14:55:24

Re: Нужна помощь. Netams + kernel_nat.

Непрочитанное сообщение qwl » 2009-08-22 10:45:55

что то не так:

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

00100    0      0 check-state                                          
00200    0      0 allow ip from any to any via lo0                     
00300    0      0 deny not icmp from table(0) to me                    
00400    0      0 deny ip from any to 127.0.0.0/8                      
00500    0      0 deny ip from 127.0.0.0/8 to any                      
00600  490  22554 divert 199 ip from 192.168.1.0/24 to any out xmit vr0
00700   89   9052 nat 123 ip from any to any via vr0                   
00800    8    961 divert 199 ip from any to 192.168.1.0/24 in recv vr0 
65535 1691 153136 allow ip from any to any                             
по 600 пакеты бегут, я по 700 и 800 пробегает два покета за одну задачу и в переиод когда эта задача сообщает об отказе выполнения.

qwl
рядовой
Сообщения: 49
Зарегистрирован: 2008-12-30 14:55:24

Re: Нужна помощь. Netams + kernel_nat.

Непрочитанное сообщение qwl » 2009-08-22 11:46:32

у все заработало :)

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

${FwCMD} nat 123 config if ${LanOut} same_ports reset unreg_only  
${FwCMD} add divert 199 ip from ${NetIn} to any out xmit ${LanOut}
${FwCMD} add nat 123 all from ${NetIn} to any out via ${LanOut}   
${FwCMD} add nat 123 all from any to ${IPOut} in via ${LanOut}    
${FwCMD} add divert 199 ip from any to ${NetIn} in recv ${LanOut} 

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

Re: Нужна помощь. Netams + kernel_nat.

Непрочитанное сообщение terminus » 2009-08-22 12:35:44

:Search: в чем же косяк то был? машину перезапустили и только тогда завелось?
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.