IPtables

De Jose Castillo Aliaga
Ir a la navegación Ir a la búsqueda

Filter

NAT

Casos resolts

Router simple

Si tenim dos xarxes i sols volem una comunicació entre elles sense NAT:

# sed -i -r 's/#(net.ipv4.ip_forward)/\1/' /etc/sysctl.conf 
# echo 1 > /proc/sys/net/ipv4/ip_forward

Després cal modificar les taules d'enrutament de les dues xarxes. Exemples en route i, més modern, ip route:

  1. route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.1.254
  2. ip route add 192.168.3.0/24 via 192.168.1.254 dev eth1

Router simple en NAT

Si volem connectar una xarxa interna a Internet, en IPv4 és normal que les direccions internes no siguen úniques en Internet. Per tant, cal emmascarar la nostra IP interna amb la IP externa que té el servidor que fa de router.

# sed -i -r 's/#(net.ipv4.ip_forward)/\1/' /etc/sysctl.conf 
# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE

Tot el que, després de decidir quin enrutament ha de tindre, va per la nic eth0, serà traduït per NAT.

Explicació de les Iptables: En aquest cas, estem modificant la taula de nat. Aquesta té 3 chains: PREROUTING, OUTPUT i POSTROUTING. Quant un paquet arriba al router però no està dirigit a la seua IP, ha de fer forward, és a dir, passar a través de dos targetes per tal de se encaminat a un altre router. Això es fa en la taula d'enrutament.

Entrada   +------------+         +------------+        +-------------+
--------> | PREROUTING | ----->  | Enrutament | -----> | POSTROUTING | ------> Eixida
          +------------+         +------------+        +-------------+  
                                       |                      ^              
                                       |                      |
                                       v                      |
                                 +--------------+        +-----------+
                                 | procés local | -----> |  OUTPUT   |
                                 +--------------+        +-----------+
Podem fer NAT en connexions entre xarxes internes. Però pot no ser necessari.

Router amb tallafocs i NAT

Zona desmilitaritzada

Enllaços

Capa de xarxa#Routers Configuració de la xarxa en Linux