Estoy intentando configurar Debian Squeeze (como Dreamplug) como enrutador. Parece que no consigo que las piezas encajen.
ETH0: Upstream/Internet - Cliente DHCP
ETH1: Downstream/Lan - 192.168.0.1 Servidor DHCP
sudo vim /etc/network/interfaces
auto lo br0
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 192.168.0.1
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
iface br0 inet dhcp
bridge_ports eth0 eth1
sudo vim /etc/dhcp/dhcpd.conf
option domain-name "MyPlug.MyServer.com";
option domain-name-servers 8.8.8.8, 192.168.0.1;
default-lease-time 600000000;
max-lease-time 720000000;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.200;
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
}
sudo vim /etc/default/isc-dhcp-server
INTERFACES="eth1"
servicio de reinicio de red
servicio de reinicio del servidor isc-dhcp
Mi máquina con Windows 7 detecta una IP... DESPUÉS de forzar la liberación/renovación. Pude lograr que se conectara al servidor a través de PuTTY una vez.
¿Hay algún problema notable con mi configuración? o algo más que pueda buscar?
Respuesta1
No conecte sus interfaces internas y externas. Su caja es un enrutador, no un conmutador. Para convertir su máquina en un enrutador, debe decirle que "reenvíe" paquetes entre interfaces. Lo hago por echo 1>/proc/sys/net/ipv4/ip_forward
. IIRC, la forma (TM) de hacerlo es agregar una línea net.ipv4.ip_forward=1
a /etc/sysctl.conf y luego ejecutar /etc/init.d/procps restart
.
El sistema de archivos proc, generalmente montado en /proc, es una representación de la información y la configuración del kernel como archivos que se pueden leer y escribir. Al escribir 0 o 1 en /proc/sys/net/ipv4/ip_forward estamos deshabilitando o habilitando la función del kernel para reenviar paquetes IP entre interfaces. ¡Queremos que el kernel reenvíe paquetes!
Ahora su máquina es un enrutador pero también necesita maquillarse. Para hacer eso necesitas:
iptables -t nat -A POSTROUTING -i eth1 -o eth0 -j MASQUERADE
(verhttp://tldp.org/HOWTO/IP-Masquerade-HOWTO/si quieres saber más)
Mientras usemos IPv4: solo obtendrá una dirección IP de su ISP y todos sus clientes compartirán esta dirección cuando interactúen con sistemas en Internet. Masquerading se encarga de todo para manejar este intercambio de una dirección IP. El punto es que necesitamos decirle a iptables cuándo aplicar el enmascaramiento. Si iptables ya no acepta -i y -o, una regla de reemplazo adecuada es
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 ! -d 192.168.0.0/24 -j MASQUERADE
Es posible que deba reemplazar las definiciones de subred 192.168.0.0/24 (¡ambas!) con la subredtus clientes viven en. La regla dice "enmascarar todos los paquetes que se originan en la subred del cliente y se dirigen a hosts fuera de la subred del cliente".
No conozco Dreamplug, pero deberías tener algún archivo /etc/firewall* o /etc/iptables* donde puedas agregar esta declaración, para que se ejecute en cada reinicio. Consulte su documentación para conocer las "reglas de firewall" y dónde debe colocarlas.
Para su configuración de DHCP, sus tiempos de concesión parecen ridículamente altos. Quita 3-5 0 de descuento. También existe la posibilidad de que haya clientes que no puedan o no puedan manejar números tan grandes. También debe invertir el orden de los servidores de nombres de dominio. Los clientes preguntarán primero al primer servidor de la lista. Si su enrutador también actúa como servidor de nombres, lo más probable es que recuerde consultas anteriores durante algún tiempo. Esto significa que si sus Clientes solicitan la misma dirección por segunda vez, la respuesta es mucho más rápida, en comparación con preguntar a un servidor de nombres de Google.
Respuesta2
Retire el puente. Es inseguro en este tipo de arreglo.
En su lugar, instale el arno-iptables-firewall
paquete para configurar de forma fácil y segura una configuración de enrutador segura. Él hará el resto por ti.
De la descripción del paquete Debian:
A diferencia de otras interfaces lean de iptables en Debian, arno-iptables-firewall configurará y cargará un firewall seguro y restrictivo con solo hacer algunas preguntas. Esto incluye la configuración de redes internas para el acceso a Internet a través de NAT y posibles servicios de red (por ejemplo, http o ssh).
A menos que sepa cómo configurar iptables de forma segura por su cuenta, instale este paquete.