Mientras Hacia la ruta Cusco– Echarati; un amigo me pidió postear un pequeño manual de cómo crear un Router en una PC desde Linux .  Cabe recalcar que este procedimiento es antiguo pero muy útil y algunos comandos varían depende la distribución. Actualmente existen distros  como Clearos, Endian, Pfsense .. etc  que fácilmente podrían ser instalados y este a su vez brindar muchísimas opciones para convertirse en potentes servidores  Firewall/Proxy.

Para este procedimiento se va a necesitar contar una tarjeta de Red adicional a la que ya tenemos.

  • Eth0 para salida a INTERNET  y Eth1 para la LAN.
  • Voy a utilizar una distribución mínima Debian8.

La instalación del sistema Operativo lo haré en otro momento .

IP wan o ISP  Movistar (eth0): 192.168.1.1
IP LAN (eth1): 192.168.2.1

Una vez instalado el SO en la maquina nos aseguramos que tenemos las dos tarjetas de red instalados con el Sgte comando:

 root@debian8:~# lspci | grep -i ethernet
 01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)
 02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06)

Verificamos la direccion IP .

root@debian8:~# ifconfig
 eth0                     Link encap:Ethernet HWaddr d8:cb:8a:1e:a2:56
                              inet addr:192.168.1.14 Bcast:192.168.1.255 Mask:255.255.255.0
                              inet6 addr: fe80::dacb:8aff:fe1e:a256/64 Scope:Link
                              UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
                              RX packets:2687 errors:0 dropped:0 overruns:0 frame:0
                              TX packets:2514 errors:0 dropped:0 overruns:0 carrier:0
                              collisions:0 txqueuelen:1000
                              RX bytes:2135080 (2.0 MiB) TX bytes:429734 (419.6 KiB)

lo                          Link encap:Local Loopback
                              inet addr:127.0.0.1 Mask:255.0.0.0
                              inet6 addr: ::1/128 Scope:Host
                              UP LOOPBACK RUNNING MTU:65536 Metric:1
                              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
                              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
                              collisions:0 txqueuelen:0
                               RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Seguramente al momento de la instalación elegimos la configuración por DHCP, apartir de ahora (en mi caso) pasaran hacer direcciones estáticas.

A Continuación editaremos las interfaces eth0 y agregamos eth1 en etc/network/interfaces

 root@debian8:~# vi /etc/network/interfaces

y lo dejamos como muestra a continuacion.

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

#ETH0 SALIDA A INTERNET
auto eth0
iface eth0 inet static
                                        address 192.168.1.100
                                        netmask 255.255.255.0
                                        network 192.168.1.0
                                        gateway 192.168.1.1



#ETH1 RED INTERNA
auto eth1
iface eth1 inet static
                                         address 192.168.2.1
                                         netmask 255.255.255.0
                                         network 192.168.2.0
                                         broadcast 192.168.2.255

Guardamos y reiniciamos las interfaces con estos comandos.

root@debian8:~# /etc/init.d/networking restart 
root@debian8:~# service networking restart

 

Activamos IP_FORWAR

Editando /etc/sysctl.conf

root@debian8:~# vi /etc/sysctl.conf  

buscamos #net.ipv4.ip_forward=0 

descomentamos (quitamos #numeral) y reemplazamos el 0 por el 1 quedando de la siguiente manera:

net.ipv4.ip_forward=1

 

Para permitir  las salida de internet con IPTABLES deste la interface eth0 ejecutamos este comando

 root@debian8:~# iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE

Una vez definido, para que todas las reglas de iptables carguen automaticamente cada vez que se inicie el servidor realizamos estos pasos , copiamos el contenido de iptables al archivo firewall.conf con este comando.

root@debian8:~# iptables-save > /etc/firewall.conf 

luego creamos el archivo /etc/network/if-up.d/iptables con nuestro editor e insertamos

root@debian8:~# vi /etc/network/if-up.d/iptables

#!/bin/sh

iptables-restore < /etc/firewall.conf
Guardamos
Y ahora lo hacemos ejecutable con este comando
root@debian8:~# chmod +x /etc/network/if-up.d/iptables
Para finalizar reiniciamos el servidor.
Como último paso es conectar un cable de red de la interface eth1 a la Pc y hacer las configuracion de IP.
Apartir de ahora cada vez que queramos agregar una regla editamos el archivo etc/firewall.conf o guardamos las reglas con iptablessave > /etc/firewall.conf .

 

Anuncios