reglas de iptables: entrada y salida

reglas de iptables: entrada y salida

Soy nuevo con Linux y iptables. Tengo una distribución de Ubuntu Server (12.04) en una PC que tiene 2 interfaces de red ( eth0y eth1). También tengo 2 portátiles, uno está conectado eth0y el otro eth1.

ipconfig del portátil1: 172.16.221.120 - 255.255.252.0 ipconfig del portátil2: 192.168.222.250 - 255.255.255.0

Quiero hacer ping a la computadora portátil2 desde la computadora portátil1 con éxito.

¿Tengo que crear INPUTreglas OUTPUT? ¿O también una FORWARDregla?

Intenté esto sin éxito:

iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

Respuesta1

Puedes utilizar tcpdumppara saber hasta dónde llegan tus pings:

tcpdump -i eth0 -n icmp
tcpdump -i eth1 -n icmp

Además, no basta con permitir pings en el servidor; las computadoras portátiles deben configurarse para que sepan que pueden comunicarse con la otra a través del servidor (enrutamiento).

Probablemente su firewall tenga una regla que permita paquetes que sean una respuesta. Si no, entonces también necesitas

iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

lo cual tiene sentido de todos modos, ya que probablemente desee permitir que ambas computadoras portátiles hagan ping a la otra. Sin embargo, puedes limitar esto a pings y pongs:

iptables -A FORWARD -i eth1 -o eth0 -p icmp --icmp-type echo-request -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -p icmp --icmp-type echo-reply -j ACCEPT

El último problema son los propios portátiles: si al menos uno de ellos tiene su propio firewall, puede bloquear los pings (en general o debido a la dirección de origen fuera de la red de interfaces).

Respuesta2

De forma predeterminada, no necesita ninguna regla ya que las cadenas de netfilter están vacías con una ACCEPTpolítica predeterminada. Si ya ha agregado reglas, para permitir el ping será necesario agregar reglas a la FORWARDcadena.

También deberá configurar el servidor como enrutador y asegurarse de que cada computadora portátil tenga el servidor como ruta predeterminada (o al menos tenga una ruta para la subred de la otra computadora portátil).

Para habilitar el enrutamiento (reenvío de IP), debe configurarlo /proc/sys/net/ipv4/ip_forwarden 1. Ubuntu debería tener /etc/sysctl.confun lugar donde puedas configurar elementos /proc/sysautomáticamente:

# Uncomment the next line to enable packet forwarding for IPv4
#net.ipv4.ip_forward=1

Si cambia esto, deberá cargar los cambios en el kernel:

sudo sysctl -p /etc/sysctl.conf

El cambio se cargará automáticamente en el próximo inicio, por lo que solo necesitará ejecutar este comando manualmente una vez después del cambio /etc/sysctl.conf.

información relacionada