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 cansado de tener que desconectar mi enrutador cada 10 días porque simplemente se cuelga
- Estoy cansado de comprar enrutadores solo para darme cuenta de que les falta algo crucial, como el reenvío de puertos o el direccionamiento IP estático (dhcp)
Preparar:
Finalmente, la conexión entrará en un módem y pasará directamente a mi servidor eth0
, luego se eth1
enviará a un conmutador de red al que todas las otras computadoras cliente se conectarán a través de cables de Ethernet (olvide la conexión inalámbrica por el momento). Actualmente, sin embargo, estoy en un edificio de oficinas, y tengo la conexión entrando en un módem, que entra en un enrutador, que entra en un conmutador de red, que luego entra eth0
como se especifica anteriormente.
Tutoriales actuales:
Miré algunos tutoriales (el tutorial de Ubuntu es el mejor), y he visto algunas de las preguntas del enrutador aquí (es decir, esta ), pero todas pasan por alto varios conceptos clave, como:
- ¿Cuál es
eth1
la relación coneth0
? En/etc/network/interfaces
qué tengo que decirleeth1
a utilizareth0
como elnetwork
(generalmente es la dirección real del router físico)? - ¿Tengo que hacer algo para instruir
eth1
a tomar el internet que entraeth0
y pasarlo a quien 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 funcionan 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 está asignando una dirección IP.
EDITAR: Aquí está el archivo de configuración isc-dhcp-server ubicado en el /etc/dhcp3/dhcpd.con
que copié principalmente de este 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 estoy perdiendo en esta configuración?
fuente
dhcp
(y por lo tantodhcpd
) no es obligatorio, y solo está destinado a centralizar todos los ips estáticos en el servidor (en lugar de cambiar el/etc/network/interfaces
archivo en cada host). Por lo tanto, he decidido no experimentar con eso hasta que esto funcione. Sin embargo, hedhcp3-server
instalado, así comoisc-dhcp-server
dhcpd.conf
archivo e indiqué que lo estoy usandoisc-dhcp-server
Respuestas:
Tengo que ir como Jack el destripador debido a varias cosas faltantes que tienes:
Si su cliente usará DHCP para obtener las IP, necesita un servidor 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.
Carece de servidores DNS configurados en los clientes. Debido a la falta de un servidor DHCP, o es posible que desee utilizar un servidor DNS local para toda su red.
No ofreció las
iptables
reglas (la salida desudo iptables -L
), pero podría suponer que no activó 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 red en sí, y la mayoría de los enrutadores / firewall simplemente se confunden cuando se usan . Cámbialo192.168.7.1
y la mayoría estará 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 viciosas. Los paquetes ARP a su enrutador nunca llegarán. Esto es lo que debes tener:
Siga estos y lo más probable es que tenga su enrutador funcionando.
fuente
sudo iptables -L
pregunta192.168.7.255
y línea 8subnet 192.168.7.0
.255
es la dirección de difusión utilizada normalmente, cualquier paquete enviado a esa dirección se enviará a todos los sistemas en las mismas subredes. Lo que significa que cualquier paquete enviado a 1.2.3.255 será recibido por cualquier sistema cuya IP comience con 1.2.3 ya que todos están en la misma subred en.wikipedia.org/wiki/Subnetwork#IPv4_subnettingdhcp
o la red. Hará una dirección IP estática para probar. para la IP estática en el cliente, ¿usoeth1
la dirección IP de la puerta de enlace?Braiam respondió mi pregunta, pero pensé que sería útil hacer un recorrido completo aquí. 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 ( no confunda esto con el/etc/networks
archivo).Para encontrar su
gateway
,broadcast
ynetwork
, siga estas instrucciones .Luego, ingrese al cliente y edite primero el archivo
/etc/network/interface
(nuevamente, no/etc/networks
) para la IP estática, para asegurarse de que al menos la tarjeta NIC esté funcionando.Cambie los valores para que coincidan con los valores anteriores. Si funciona, excelente, entonces use las instrucciones aquí pero sígalas exactamente , ya que hay varios
dhcp
archivos, así que no confunda la carpeta/etc/dhcp
con/etc/dhcp3
etc.fuente