Motivación:
Quiero usar mi servidor Linux en lugar del enrutador inalámbrico promedio por varias razones
- Quiero aprender a configurar un servidor más completo en Linux.
- No quiero tener un módem, conectado a un enrutador, conectado a un conmutador de red
- Estoy harto y cansado de tener que desconectar mi enrutador cada 10 días porque simplemente se cuelga
- Estoy harto y cansado de comprar enrutadores sólo para darme cuenta de que les falta algo crucial, como el reenvío de puertos o la dirección IP estática (DHCP).
Configuración:
En última instancia, la conexión llegará a un módem y directamente a mi servidor a través de eth0
, luego eth1
saldrá a un conmutador de red al que se conectarán todas las demás computadoras cliente mediante cables Ethernet (olvídese de la conexión inalámbrica por el momento). Sin embargo, actualmente estoy en un edificio de oficinas y tengo la conexión ingresando a un módem, que va a un enrutador, que va a un conmutador de red, que luego ingresa eth0
como se especifica anteriormente.
Tutoriales actuales:
Miré algunos tutoriales (tutorial de ubuntues el mejor), y he analizado algunas de las preguntas sobre enrutadores aquí (es decir.Éste), pero todos pasan por alto varios conceptos clave, como:
- ¿Cuál es
eth1
la relación coneth0
? ¿/etc/network/interfaces
Tengo que indicareth1
que se useeth0
comonetwork
(generalmente es la dirección física real del enrutador)? - ¿Tengo que hacer algo para indicarle
eth1
que tome el Internet que ingresaeth0
y se lo pase a quien lo quiera en el conmutador de red?
Enfoque actual:
Aquí está mi /etc/network/interfaces
archivo en el servidor:
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.70
netmask 255.255.255.0
broadcast 192.168.1.255
network 192.168.1.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8
auto eth1
# iface eth1 inet dhcp
iface eth1 inet static
address 192.168.7.0
netmask 255.255.255.0
broadcast 192.168.1.255
network 192.168.1.0
Y ifconfig
me dice que ambas NIC están funcionando bien:
eth0 Link encap:Ethernet HWaddr 20:cf:30:55:a0:5f
inet addr:192.168.1.70 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::22cf:30ff:fe55:a05f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:11297 errors:0 dropped:0 overruns:0 frame:0
TX packets:16639 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:948633 (948.6 KB) TX bytes:1274685 (1.2 MB)
eth1 Link encap:Ethernet HWaddr 00:11:95:f7:f4:6d
inet addr:192.168.7.0 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::211:95ff:fef7:f46d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:243 errors:0 dropped:0 overruns:0 frame:0
TX packets:3231 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:29934 (29.9 KB) TX bytes:213055 (213.0 KB)
Interrupt:21
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:5348 errors:0 dropped:0 overruns:0 frame:0
TX packets:5348 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:470737 (470.7 KB) TX bytes:470737 (470.7 KB)
wlan0 Link encap:Ethernet HWaddr bc:f6:85:f8:70:5c
UP BROADCAST MULTICAST MTU:1500 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:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Y esto es lo que hay route -n returns
en el servidor:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.7.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
Luego en el cliente tengo
auto lo
iface lo inet loopback
iface eth0 inet dhcp
Pero no se le asigna una dirección IP.
EDITAR:Aquí está el archivo de configuración del servidor isc-dhcp ubicado en /etc/dhcp3/dhcpd.con
el cual copié principalmente desdeeste sitio.
# Sample /etc/dhcpd.conf
# (add your comments here)
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-name "mydomain.example";
subnet 192.168.7.0 netmask 255.255.255.0 {
range 192.168.7.10 192.168.7.25;
}
EDITAR:Salida desudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere
LOG all -- anywhere anywhere LOG level warning
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Pregunta:
¿Qué pasos/componentes cruciales me faltan en esta configuración?
Respuesta1
Tengo que ir como Jack el Destripador por varias cosas que te faltan:
Si su cliente utilizará DHCP para obtener las IP, necesitará un servidor DHCP.
iface eth0 inet dhcp
En los clientes esto indica que obtendrán sus IP de un servidor DHCP, si no configuró un servidor DHCP, debe usar IP fijas o instalar un servidor DHCP.
Faltan servidores DNS configurados en los clientes. Ya sea debido a la falta de un servidor DHCP, o es posible que desee utilizar un servidor DNS local para toda su red.
No ofreciste las
iptables
reglas (la salida desudo iptables -L
) pero puedo suponer que no activaste las reglas de Masquerade, ni el reenvío de IP.como se describe.eth1
No se recomienda la dirección IP de . Cualquier IP terminada0
suele ser la propia red, yla mayoría de los enrutadores/firewall simplemente se confunden cuando se usan. Cámbialo192.168.7.1
y estarás prácticamente bien.Su
broadcast
valor en laeth1
interfaz no es correcto. Está enviando paquetes a ninguna parte. El valor correcto (teniendo en cuenta otros valores de la interfaz) es192.168.7.255
.Sus opciones en el servidor DHCP son crueles. Los paquetes ARP a su enrutador nunca llegarán. Esto es lo que deberías tener:
default-lease-time 600; max-lease-time 7200; option subnet-mask 255.255.255.0; option broadcast-address 192.168.7.255; option routers 192.168.7.1; ## This should be the same value of the step 4 option domain-name-servers 8.8.8.8; subnet 192.168.7.0 netmask 255.255.255.0 { range 192.168.7.10 192.168.7.25; }
Siga estos y lo más probable es que su enrutador funcione.
Respuesta2
Braiam respondió a mi pregunta, pero pensé que sería útil incluir aquí un recorrido completo. Actualice esto si he cometido algún error.
Primero asegúrese de tener dos tarjetas Ethernet (NIC) y actualice el /etc/network/interfaces
archivo como tal (nonoconfunda esto con el /etc/networks
archivo).
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.70
netmask 255.255.255.0
broadcast 192.168.1.255
network 192.168.1.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8
auto eth1
iface eth1 inet static
address 192.168.7.1
netmask 255.255.255.0
broadcast 192.168.7.255
network 192.168.1.0
Para encontrar tu gateway
, broadcast
y network
, sigueestas instrucciones.
A continuación, vaya al cliente y edite /etc/network/interface
(nuevamente,no /etc/networks
) primero el archivo para IP estática, para asegurarse de que al menos la tarjeta NIC esté funcionando.
iface eth0 inet static
address 192.168.7.75
netmask 255.255.255.0
network 192.168.7.0
broadcast 192.168.7.255
gateway 192.168.7.1
Cambie los valores para que coincidan con los valores anteriores. Si funciona, genial, entonces sigue las instrucciones.aquípero síguelosexactamente, ya que hay varios dhcp
archivos, así que no confunda la carpeta /etc/dhcp
con /etc/dhcp3
etc.