Hlava Tady je Ozzyzlakovo
novinky | úvod | o mně | trocha humoru | fotoalbum | software | konfigurace v Linuxu | poslat email | trocha poezie | CZFree.Net | PGP klíč | TCP/IP tools | škola | FZ6 Fazer | Daytona 675 | YZF-R6 | GSX-R 1000 | no a co na závěr ?
DVB-T soubor pro Prahu
Vypalovani pod linuxem
Postfix konfigurace
IBM ThingPad 570 E a linux
IP Masquarading iptables
IP Masquarading ipchains
IP Masquarading ipfwadm
Sendmail konfigurace
PPP daemon a konfigurace na pevné lince
PPP daemon jako dial-up server
Fetchmail, stahování pošty pomocí pop3 na Linux
Vgetty aneb voice pod linuxem
Network Ups Tools upsky pod linuxem howto
Sensors aneb měření teploty




Zprovoznění NATu pod Linuxem (ipchains)

* Návod je psán pro distribuci Debian verze 2.1. V jiných distribucích může být poněkud jiné pojmenování souborů.
* Návod popisuje konfiguraci ip masquaradingu (NATu) pro počítač který dělá rozhraní mezi Internetem a lokální sítí postavené na privátních IP adresách:
10.0.0.0/255.0.0.0
172.16.0.0/255.240.0.0
192.168.0.0/255.255.0.0
* Popis si klade za cíl čistě zprovoznění masquaradingu a týká se varianty ipchains (jádra 2.2.xx a patchovaná 2.0.xx).
* Více informací viz man ipchains.

Předpoklady

  • Mít přeložené jádro s podporou masquaradingu
  • Zkonfigurovat skripty

Konfigurace:

Startovací skripty jsou u debianu v /etc/init.d/


/etc/init.d/ipchains
Soubor do kterého lze přidat obsluhu pro Masquarading.

#! /bin/sh

# Script to control packet filtering.
# If no rules, do nothing.

     [ -f /etc/ipchains.rules ] || exit 0

     case "$1" in
         start)
             echo -n "Turning on packet filtering:"
             grep -v '#' /etc/ipchains.rules | /sbin/ipchains-restore || exit 1
             echo 1 > /proc/sys/net/ipv4/ip_forward                
             echo "."                              
             ;;      
         stop)
             echo -n "Turning off packet filtering:"
             echo 0 > /proc/sys/net/ipv4/ip_forward 
             /sbin/ipchains -X                     
             /sbin/ipchains -F
             /sbin/ipchains -P input ACCEPT
             /sbin/ipchains -P output ACCEPT
             /sbin/ipchains -P forward ACCEPT
             echo "."                        
             ;;      
         *)
             echo "Usage: /etc/init.d/ipchains {start|stop}"
             exit 1                                         
             ;;    
     esac
         
     exit 0


/etc/ipchains.rules
A zde jsou vlastní pravidla. Je vidět že pro vnitřní síť je použito IP adres 10.0.0.0/255.255.255.0 a pro vnější 194.213.228.220. Takto nakonfigurované spustí čistě NAT.

-F
-X
:input ACCEPT
:forward ACCEPT
:output ACCEPT
-A forward -s 10.0.0.0/24 -j MASQ

Nyní zde uvedu složitější příklad kdy na routeru běží zároveň serverové služby které musí být přístupné zvenku (DNS, WWW, SMTP) a veškerá další komunikace dovnitř je blokována kromě odpovědí na požadavky zevnitř. Do internetu se 'dívá' rozhraní Eth0 s ipadresou 62.44.1.16 a uvnitř jsou použity adresy 192.168.1.0/255.255.255.0.
-F
-X
:forward ACCEPT
:input DENY
### input je standardne zakázán
:output ACCEPT
-A input -s 0.0.0.0/0 -d 0.0.0.0/0 -i lo -j ACCEPT
### povolen jakýkoli provoz na loopback
-A input -s 192.168.1.0/24 -d 0.0.0.0/0 -i eth1 -j ACCEPT
### povoleny jakekoli pakety z vnitrni site
-A input -s 0.0.0.0/0 -d 62.44.1.16/32 -i eth0 -p icmp -j ACCEPT
### povolen prichod ICMP paketu zvenku
-A input -s 0.0.0.0/0 -d 62.44.1.16/32 -p udp -i eth0 -j ACCEPT
### povolen prichod UDP paketu zvenku (kuli fungovani DNS pro vnitrni pocitace)   
-A input -s 0.0.0.0/0 -d 62.44.1.16/32 -i eth0 -p tcp ! -y -j ACCEPT
### povolen prichodjakychkoli TCP paketu ktere nenavazuji spojeni (odpovedi serveru)
-A input -s 0.0.0.0/0 ftp-data -d 62.44.1.16/32 -p tcp -i eth0 -j ACCEPT
### povolen prichod paketu z portu ftpdata na jakykoli port (kvuli funkci akt ftp)
-A input -s 0.0.0.0/0 -d 62.44.1.16/32 smtp -p tcp -i eth0 -j ACCEPT
### povoleno navazovani spojeni zvenku (fungovani posty) na port 25
-A input -s 0.0.0.0/0 -d 62.44.1.16/32 domain -p tcp -i eth0 -j ACCEPT
### povoleno navazovani spojeni zvenku (fungovani DNS) na port 53
-A input -s 0.0.0.0/0 -d 62.44.1.16/32 www -p tcp -i eth0 -j ACCEPT
### povoleno navazovani spojeni zvenku (fungovani www) na port 80
-A forward -s 192.168.1.0/24 -d 0.0.0.0/0 -j MASQ
### pakety z vnitrni site masquaraduj
-A input -s ! 192.168.1.0/24 -d 0.0.0.0/0 -i eth1 -j DENY
-A input -s 192.168.1.0/24 -d 0.0.0.0/0 -i eth0 -j DENY  
### antispoofingova pravidla, zevnitr smi prijit jen paket pochazejici z rozsahu 
### vnitrni site zvenku jakykoli krome adres vnitrni site
-M -S 3600 0 0
### zmena timeoutu masquarady
Soubor musí končit právě jedním prázdným řádkem !
/etc/modules
Do souboru je třeba přidat loadování modulu pro fungování FTP a dalších služeb přes IPmasq.

ip_masq_cuseeme
ip_masq_irc        
ip_masq_raudio     
ip_masq_ftp     
ip_masq_quake      
ip_masq_vdolive


Pak už jen stačí zajistit startování skriptu například takto:

ln -s /etc/init.d/ipchains /etc/rc2.d/S20ipchains




ml@czech.net 991109

bla
fotka (c) Martin Lipinský 1997 - 2024