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

IPFW + NATD

Добавлено: 2009-06-25 21:02:00
risk94
Топик заезженый, но походу не для меня.
Читал на сайте кучи вссего по сабжу - не помогло.
Собственно вот:

Машина с двумя сетевками. в локалке сервак. на ней крутися пяток сайтов и фтпшнег. необходимо выпустить все это наружу.
Делаю форвардинг порта натом:

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

cat /etc/natd.conf
log yes                                                                                                                      
log_denied no                                                                                                                
use_sockets yes                                                                                                              
same_ports yes                                                                                                               
unregistered_only yes                                                                                                        
redirect_port tcp 172.16.0.221:80 80
посоветуйте правильный пример фаервола, ибо то что есть у меня - загнало меня в тупик.
В определенной его конфиге наружу выпускает. Как бы все хорошо, НО, у меня есть еще машина, на ней тоже http, меняю в конфигах на ее ip-шник - и нифига не получается выпустить. ам шокед.
чтение манов и хауту с сайта просветления не дало. Буду очень благодарен, если ктонить сможет обьяснить мне мои ошибки и ткнуть где я плужу.
Спасибо. P.S. Подмогите нубу, plz!

Re: IPFW + NATD

Добавлено: 2009-06-25 22:26:04
hizel
а где ipfw show ? :-)

Re: IPFW + NATD

Добавлено: 2009-06-25 23:18:05
risk94
мдя-с. реально лопаетцо моск! :)

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

agw# ipfw show
00100    108    11884 pipe 1 tcp from 225.22.41.254 to any via nve0
00100    216    21986 allow ip from any to any via lo0
00200    101     7766 pipe 1 udp from 225.5.41.254 to any via nve0
00200      0        0 deny ip from any to 127.0.0.0/8
00300     22     1292 pipe 1 ip from 225.22.41.254 to any via nve0
00300      0        0 deny ip from 127.0.0.0/8 to any
00400      0        0 allow tcp from 172.16.100.100 1723 to any keep-state
00500      0        0 allow tcp from any to 172.16.100.100 dst-port 1723
00600      0        0 allow gre from any to any
00700    887    50780 allow tcp from any to me dst-port 22
00800    835   105719 allow tcp from me 22 to any established
00900      8      704 allow udp from any to any dst-port 53
01000     72    10913 allow udp from any 53 to any
01100   2024   161737 allow tcp from any to 172.16.0.221 dst-port 80 setup
01200     19      952 deny tcp from any to any dst-port 135,136,137,138,139 via nve0
01300   2227   174093 divert 8668 ip from any to 225.22.41.254 via nve0
01400   2266  2751101 divert 8668 ip from 172.16.0.0/16 to any via nve0
01500     27     1572 allow icmp from any to any
01600      0        0 deny icmp from any to any frag
01700      0        0 deny tcp from any to me dst-port 135,136,137,138,139 via nve0
01800    237    13928 allow tcp from any to any setup
01900   6656  5671339 allow tcp from any to any established
02000     10      759 deny ip from any to me
65535 266048 25183568 deny ip from any to any
Так вот, если я корректирую ip на который заворачиваем 80 порт то нифига не пашет, хотя на обеих машинах - работающие http!!! Как такое может быть?
:crazy:

Re: IPFW + NATD

Добавлено: 2009-06-26 0:25:21
schizoid
при корректировке ИПа 1100 правило тоже меняешь?
и шлюз по-умолчанию на втором компе тоже шлюз?

Re: IPFW + NATD

Добавлено: 2009-06-26 16:04:26
risk94
1100 правило меняю, а вот шлюз на втором сервакке другой. хм. походу из-за этого, но rinetd пробрасываетъ. только он реально не годится - жрет ресурсы проца под 100 через пару недель. Да и фтпшнег нужно пробросить исче. Все же странно. почему тогда пробрасывает rinetd ??

Re: IPFW + NATD

Добавлено: 2009-06-26 21:41:09
risk94
В общем пробрасываетсо.
Ниже выкладываю необходимую инфу для таких новичков как я. Т.к. Искал долго. Думаю пригодится.
И еще, может кто посмотреть на "нормальность" (правильность/корректность) моих правил фаервола? Хотелось бы выслушать рекламации профессионалов.

Опции ядра касаемо фаервола и форвардинга:

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

options         IPFIREWALL                                                                                                   
options         IPFIREWALL_VERBOSE                                                                                           
options         IPFIREWALL_VERBOSE_LIMIT=100                                                                                 
options         IPFIREWALL_FORWARD                                                                                           
options         IPDIVERT                                                                                                     
options         DUMMYNET                                                                                                     
options         TCP_DROP_SYNFIN 

# cat /etc/natd.conf

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

log                     yes                                                                                                  
log_denied              no                                                                                                   
use_sockets             yes                                                                                                  
same_ports              yes                                                                                                  
deny_incoming           no                                                                                                   
unregistered_only       yes                                                                                                  
redirect_port           tcp     172.16.0.221:80                       225.22.41.254:80                                              
redirect_port           tcp     172.16.0.221:20                       225.22.41.254:20                                              
redirect_port           tcp     172.16.0.221:21                       225.22.41.254:21                                              
redirect_port           tcp     172.16.0.221:50000-50100        225.22.41.254:50000-50100
Портов для фтпшника пробросил сотню - машинка не сильно нагружена. (на первое время хватит, хотя скорее даже много)

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

 oif="nve0"                                                                                                           
        onet="225.22.41.252"                                                                                                  
        omask="255.255.255.252"                                                                                              
        oip="225.22.41.254"                                                                                                   
                                                                                                                             
        iif="ste0"                                                                                                           
        inet="172.16.0.0"                                                                                                    
        imask="255.255.0.0"                                                                                                  
        iip="172.16.100.100"                                                                                                 
                                                                                                                             
        ${fwcmd} add check_state                                                                                             
                                                                                                                             
        ${fwcmd} add pipe 1 tcp from ${oip} to any via ${oif}                                                                
        ${fwcmd} add pipe 1 udp from ${oip} to any via ${oif}                                                                
        ${fwcmd} add pipe 1 ip from ${oip} to any via ${oif}                                                                 
        ${fwcmd} pipe 1 config bw 100Mbit/s                                                                                  
                                                                                                                             
        # VPN PPTP                                                                                                           
        ${fwcmd} add allow tcp from ${iip} 1723 to any keep-state                                                            
        ${fwcmd} add allow tcp from any to ${iip} 1723                                                                       
        ${fwcmd} add allow gre from any to any
        
        # SSH                                                                                                                
        ${fwcmd} add allow tcp from any to me 22                                                                             
        ${fwcmd} add allow tcp from me 22 to any established                                                                 
                                                                                                                             
        # DNS                                                                                                                
        ${fwcmd} add allow udp from any to any domain                                                                        
        ${fwcmd} add allow udp from any domain to any                                                                        
                                                                                                                             
        # HTTP                                                                                                               
        ${fwcmd} add allow log tcp from any to 172.16.0.221 80 in via ${oif} setup                                           
                                                                                                                             
        # NATD Rules                                                                                                         
        setup_loopback                                                                                                       
        
        ${fwcmd} add deny tcp from any to any 135,136,137,138,139 via ${oif}                                                 
                                                                                                                             
        ${fwcmd} add divert natd all from any to ${oip} via ${oif}                                                           
        case ${natd_enable} in                                                                                               
        [Yy][Ee][Ss])                                                                                                        
                if [ -n "${natd_interface}" ]; then                                                                          
                   ${fwcmd} add divert natd all from ${inet}:${imask} to any via ${natd_interface}                           
                fi                                                                                                           
                ;;                                                                                                           
        esac                                                                                                                 
                                                                                                                             
        # FTP                                                                                                                
        ${fwcmd} add allow all from any to 172.16.0.221 50000-50100 in via ${oif} setup                                      
        ${fwcmd} add allow tcp from any to me 20,21                                                                          
        ${fwcmd} add allow tcp from me 20,21 to any stablished                                                                                                                     
        #${fwcmd} add deny tcp from ${inet}:${imask} to any http,https via ${oif}                                            
                                                                                                                             
        ${fwcmd} add deny tcp from any to any 135,136,137,138,139 via ${oif}
        ${fwcmd} add pass ICMP from any to any # Razreshit ping                                                              
        ${fwcmd} add deny icmp from any to any frag # Zapretit fragmentirovanie paketi                                       
                                                                                                                             
        ${fwcmd} add deny tcp from any to me 135,136,137,138,139 via ${oif} # zapretit dostup k portam cherez vneshniy interf
                                                                                                                             
                                                                                                                             
        ${fwcmd} add pass tcp from any to any setup                                                                          
        ${fwcmd} add pass tcp from any to any established                                                                    
                                                                                                                             
        ${fwcmd} add deny all from any to me                                                                                 
        ;;
что-то он мне кажется сильно открытым... :sorry: