URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 90622
[ Назад ]

Исходное сообщение
"Форвард портов"

Отправлено Дмитрий , 26-Дек-10 00:33 
Добрый день!

подскажите... что-то никак понять н емогу как решить. Хочется сделать чтобы пакет посланный на порт 4406 приходил на 3306 (пусть к примеру на том же IP).

Делал так:

rc.conf:

firewall_enable="YES"                
firewall_type="/etc/ipfw.conf"        
natd_enable="YES"                    
natd_interface="nfe0"                
natd_flags="-f /etc/natd.conf"        


natd.conf

log yes                                
same_ports yes                        
use_sockets yes                        
redirect_port tcp 127.0.0.1:3306 4406  
                                      

ipfw.conf

00020     0        0 divert 8668 ip from any to me dst-port 4406
00050  9106 44615426 allow ip from any to me established        
00060     0        0 deny tcp from not me to me dst-port 3306 in
00100   102     6120 allow ip from any to any via lo0          
00240     0        0 allow ip from any to me                    
00250 31738 68877147 allow ip from me to any                    


и не работает ( ...

в /var/log/alias.log

PacketAlias/InitPacketAliasLog: Packet alias logging enabled.                          
icmp=0, udp=0, tcp=1, pptp=0, proto=0, frag_id=0 frag_ptr=0 / tot=1 (sock=0)            
icmp=0, udp=0, tcp=2, pptp=0, proto=0, frag_id=0 frag_ptr=0 / tot=2 (sock=0)            

то есть пакету до ната добираются... а вот что дальше происходит непонятно.

# telnet 127.0.0.1 4406      
Trying 127.0.0.1...                

и дальше нет ответа...

                                    


Содержание

Сообщения в этом обсуждении
"Форвард портов"
Отправлено PavelR , 26-Дек-10 07:51 
Как у вас всё интересно :-)

1) natd_interface="nfe0"  и  redirect_port tcp 127.0.0.1:3306 4406 и "пусть к примеру на том же айпи"

2) оригинальнейшее содержимое ipfw.conf. Положим, это вывод ipfw show, но тогда в нем очень явно видно
00020  0   0 divert 8668 ip from any to me dst-port 4406

3) Это не iptables, здесь надо мыслить совершенно по-другому. Забудьте про iptables/pf.
Здесь нужно четко понимать прохождение пакета, и в ту, и в обратную сторону.
В ваших правилах этого понимания не видно. (на natd надо заворачивать и ответные пакеты)


Структурируйте ваши мысли. Следите за прохождением пакетов через ipfw, добавляйте правила-счетчики с вашими условиями совпадения, и проверяйте, есть ли такие пакеты или нет. Получите понимание прохождения пакетов, получите работоспособность системы.


"Форвард портов"
Отправлено BlackJaguar , 27-Дек-10 09:59 
Закроем глаза на то, что Вы делаете с loopback.

1) Разрешите пакету приходить к Вам на внешний интерфейс
2) Сделайте divert (NAT) пакета на внутренний интерфейс (а Вы думали, зачем людям NAT?) и обратно.
3) Разрешите отNATеному пакету "гулять" до нужного IP:port и обратно.

Суть: пакет попадает в IPFW дважды, если только one_pass не включен (вроде). lissyara в свое время очень подробно жевал про пакеты.