[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Jaleo tremendo con un Router casero



Ipsissima verba Chainy:
> Tengo una conexión a internet que únicamente me deja conectar un
> ordenador, detecta la dirección mac de la tarjeta y solo deja
> conectarse a una IP.
> 
> El caso es que tengo un ordenador con Debian y dos tarjetas de red.
> 
> Una la conecto a la red exterior:
> 
> eth0
> IP:  35.234.45.8  (ip requerida por el proveedor)
> NM: 255.255.255.240
> GW: 35.234.45.1
> 
> Y la otra a una red interna en casita con mi switch:
> 
> eth1
> IP: 192.1.1.1
> NM: 255.255.255.0

No no no, esa no es una dirección apropiada para uso privado.  Los
rangos que debes usar para este fin son:

  10.0.0.0 - 10.255.255.255
  172.16.0.0 - 172.31.255.255
  192.168.0.0 - 192.168.255.255

> (Que por cierto he intentado buscar el archivo /etc/init.d/network
> donde se supone que se tienen que inicializar las conexiones de red
> con ifconfig según la ayuda de debian y no lo he podido encontrar)

No sé qué ayuda hayas leido, pero te agradecería que nos dijeras, para
pedirle al responsable que la corrija.

El archivo de configuración de interfaces para uso de ifupdown(8) es
/etc/network/interfaces.  Está documentado en el manual interfaces(5).

> Con el simple objetivo de montar un router con mi ordenador para que
> varios pcs se pudiesen conectar.
> 
> Me he estado leyendo la network-administration-guide y la ayuda de
> debian pero me han dejado muchas dudas.
> 
> Alguien conoce algun howto que me pueda resolver la vida?

Seguramente.  Alguien más te dirá.  Ten presente que la administración
de estas cosas cambió radicalmente en el kernel 2.2, y luego otra vez
en el kernel 2.4 (y un poco más en el 2.6, aunque nada tan violento).
O sea, ten cuidado de no estar leyendo información obsoleta.  Si el
HOWTO usa ipfwadm o ipchains, por ejemplo, mejor bótalo.

Enseguida te diré lo que yo haría.  Esto funciona en mi laptop (un
híbrido Sarge/Sid con kernel 2.6), tu kilometraje por litro puede
variar.  Asumo que tu dirección interna será 192.168.1.1, no la que
tienes ahorita.

Primero, edita /etc/network/options para que se lea así:

------------------------------------------------------------------------
ip_forward=yes
spoofprotect=yes
syncookies=no
------------------------------------------------------------------------

Luego, /etc/network/interfaces:

------------------------------------------------------------------------
auto lo
iface lo inet loopback

iface eth0 inet static
        address 33.234.45.8
        netmask 255.255.255.240
        network 33.234.45.0
        broadcast 33.234.45.15
        gateway 33.234.45.1

iface eth1 inet static
        address 192.168.1.1
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 192.168.1.255
------------------------------------------------------------------------

Luego desactiva cualquier configuración parcial de iptables que tengas
por ahí:

  iptables -t filter -F
  iptables -t nat -F

Agrega la regla que necesitas:

  iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0\
   -j SNAT --to-source 33.234.45.8

 (Esto se suele hacer con masquerade cuando la dirección en tu
 interfaz externa es dinámica, pero la tuya es estática.  El manual
 iptables(8) recomienda SNAT en este caso.  Si te interesa, para
 masquerade habrías hecho algo como "iptables -t nat -A POSTROUTING \
 -s 192.168.1.0/24 -o eth0 -j MASQUERADE")

Luego guarda la configuración:

  /etc/init.d/iptables save active

Finalmente, reinicia el subsistema de red:

  /etc/init.d/networking restart

Recuerda configurar el resto de las máquinas en tu red casera para
usar como gateway la máquina 192.168.1.1.  Si tienes muchas máquinas,
quizá te convenga instalar un "forwarder" de DNS, y un caché de web.

Espero que algo de esto te sirva.

 -CR

-- 
Ceterum censeo: SCO delenda est.



Reply to: