Diferencia entre revisiones de «IPtables»

De Jose Castillo Aliaga
Ir a la navegación Ir a la búsqueda
Sin resumen de edición
Línea 1: Línea 1:
== Filter ==
== Filter ==
== NAT ==
== NAT ==
La taula NAT 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. Dins, pot decidir tractar el paquet en algun procés local o enviar-lo. En qualsevol cas, passa finalment per POSTROUTING. Si volem tradiur les direccions per tal de fer el NAT, s'ha de fer una vegada s'ha decidit a quina xarxa s'ha de reenviar el paquet, és a dir, en el POSTROUTING.
<pre>
Entrada  +------------+        +------------+        +-------------+
--------> | PREROUTING | ----->  | Enrutament | -----> | POSTROUTING | ------> Eixida
          +------------+        +------------+        +-------------+ 
                                      |                      ^             
                                      |                      |
                                      v                      |
                                +--------------+        +-----------+
                                | procés local | -----> |  OUTPUT  |
                                +--------------+        +-----------+
</pre>
NAT implica dos coses:
* Traduir les direccions internes de la xarxa en una direcció externa.
* Permetre que els paquets que arriben de l'exterior fins a la xarxa interna en una connexió ja establida siguen redireccionats al client que toca.
= Casos resolts =
= Casos resolts =
== Router simple ==
== Router simple ==
Línea 20: Línea 35:
Tot el que, després de decidir quin enrutament ha de tindre, va per la nic eth0, serà traduït per NAT.  
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.  
'''Explicació de les Iptables''': En aquest cas, estem modificant la taula de nat. Li afegim una regla al POSTROUTING de, tots els paquets que venen de la xarxa 192.168.2.0/24, passen per la taula d'enrutament i són encaminats a la nic eth0, fer un MASQUERADE, és a dir, traduir les direccions internes en la direcció externa del router.  
 
<pre>
Entrada  +------------+        +------------+        +-------------+
--------> | PREROUTING | ----->  | Enrutament | -----> | POSTROUTING | ------> Eixida
          +------------+        +------------+        +-------------+ 
                                      |                      ^             
                                      |                      |
                                      v                      |
                                +--------------+        +-----------+
                                | procés local | -----> |  OUTPUT  |
                                +--------------+        +-----------+
</pre>


{{nota|Podem fer NAT en connexions entre xarxes internes. Però pot no ser necessari.}}
{{nota|Podem fer NAT en connexions entre xarxes internes. Però pot no ser necessari.}}

Revisión del 12:20 2 dic 2016

Filter

NAT

La taula NAT 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. Dins, pot decidir tractar el paquet en algun procés local o enviar-lo. En qualsevol cas, passa finalment per POSTROUTING. Si volem tradiur les direccions per tal de fer el NAT, s'ha de fer una vegada s'ha decidit a quina xarxa s'ha de reenviar el paquet, és a dir, en el POSTROUTING.

Entrada   +------------+         +------------+        +-------------+
--------> | PREROUTING | ----->  | Enrutament | -----> | POSTROUTING | ------> Eixida
          +------------+         +------------+        +-------------+  
                                       |                      ^              
                                       |                      |
                                       v                      |
                                 +--------------+        +-----------+
                                 | procés local | -----> |  OUTPUT   |
                                 +--------------+        +-----------+

NAT implica dos coses:

  • Traduir les direccions internes de la xarxa en una direcció externa.
  • Permetre que els paquets que arriben de l'exterior fins a la xarxa interna en una connexió ja establida siguen redireccionats al client que toca.

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. Li afegim una regla al POSTROUTING de, tots els paquets que venen de la xarxa 192.168.2.0/24, passen per la taula d'enrutament i són encaminats a la nic eth0, fer un MASQUERADE, és a dir, traduir les direccions internes en la direcció externa del router.

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