Configurar NAT en la PC del enrutador

3

Tengo un problema con la configuración de NAT. Hice que mi computadora portátil fuera un enrutador, usando Ubuntu 12.04. En la terminal, escribí:

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

pero el cliente aún no ha podido conectarse a Internet, al conectar el enrutador (mi computadora portátil) a un cliente utilizando un cable LAN. Pero el cliente puede hacer ping al enrutador.

¿Cómo puedo resolver el problema?

Elpin Permana
fuente

Respuestas:

1

Su regla de firewall NAT está bien, pero por defecto ubuntu no reenvía paquetes, por lo que debe habilitarlo con:

echo 1 > /proc/sys/net/ipv4/ip_forward

Para hacerlo automático, puede usar un script como este (guardar en /etc/init.d/your-script):

#!/bin/sh
# turn ip_forward on/off

case "$1" in
'start')
        echo 1 > /proc/sys/net/ipv4/ip_forward
        ;;
'stop')
        echo 0 > /proc/sys/net/ipv4/ip_forward
        ;;
*)
        echo "Usage: $0 { start | stop }"
        ;;
esac
exit 0

Y hazlo ejecutable y ejecuta en el arranque con:

sudo chmod +x /etc/init.d/your-script
sudo update-rc.d your-script defaults

Habilitar: sudo /etc/init.d/your-script starty sudo /etc/init.d/your-script stopdeshabilitar.

ACTUALIZACIÓN: Como Paul comentó, si lo prefiere, para que sea permanente (o si se siente cómodo editando el archivo conf para activar / desactivar esta función), puede modificar /etc/sysctl.confy descomentar la línea net.ipv4.ip_forward=1para habilitar y comentar para deshabilitar.

Laurent
fuente
3
Por favor, no hagas un guión para hacer esto, solo edita /etc/sysctl.confy descomentanet.ipv4.ip_forward=1
Paul
Seguro para la configuración permanente, sysctl.conf es mejor, pero eso depende del uso, si quiere poder encenderlo y apagarlo (ya que es una computadora portátil y es posible que no quiera reenviarlo a todas partes), un script es más fácil ( y tiene la opción de no habilitarlo en el arranque también si lo desea).
Laurent
Claro, para completar, ¿por qué no editar e incluir la opción sysctl y la opción de script?
Paul
Lo he intentado pero el cliente todavía no puede conectarse a Internet
Elpin Permana
¿Es ppp0 la interfaz conectada a Internet y ha configurado el firewall de la computadora portátil para aceptar y reenviar todo (o menos si lo necesita, pero al menos lo que se recibe en el puerto 80) en la interfaz local?
Laurent