
Actualmente, los puertos Ethernet del edificio en el que trabajo están inactivos, pero el Wi-Fi funciona. Tengo una computadora portátil con Wi-Fi (ubuntu 14.04LTS (Trusty Tahr)) y una estación de trabajo sin Wi-Fi (Debian 8(Jessie)) con solo un enchufe Ethernet.
¿Es posible conectar los dos mediante un cable Ethernet y poder obtener conectividad de red en la estación de trabajo?
Respuesta1
Sí, puedes hacer esto y ni siquiera es tan difícil. Tengo una computadora portátil con tarjeta inalámbrica y un puerto ethernet. Conecté un RapberryPi con Arch Linux, a través de un cable Ethernet "cruzado". Esto es algo especial que podría necesitar: no todas las tarjetas Ethernet pueden realizar una conexión directa de máquina a máquina.
La otra parte complicada es la dirección IP. Lo mejor es ilustrar esto. Aquí está mi pequeño guión de configuración. Nuevamente, enp9s0 es el puerto Ethernet de la computadora portátil y wlp12s0 es el dispositivo inalámbrico de la computadora portátil.
#!/bin/bash
/usr/bin/ip link set dev enp9s0 up
/usr/bin/ip addr add 172.16.1.1/24 dev enp9s0
sleep 10
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j MASQUERADE
iptables -A FORWARD -o enp9s0 -i wlp12s0 -s 172.16.1.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
dhcpd -cf /etc/dhcpd.enp9s0.conf enp9s0
El script establece una dirección IP estática para la tarjeta Ethernet, 172.16.1.1, luego configura NAT cargando un módulo del kernel. Activa el enrutamiento IP (en la computadora portátil), luego hace algo de iptables
magia para enrutar los paquetes desde la tarjeta inalámbrica hacia Ethernet y viceversa.
Lo estoy dhcpd
ejecutando en el puerto Ethernet para proporcionar direcciones IP porque eso es lo que quiere Raspberry Pi, pero podría crear una dirección estática en su estación de trabajo, junto con enrutamiento estático, servidor DNS y servidor NTP.
El archivo /etc/dhcpd.enp9s0.conf
se ve así, en caso de que siga esa ruta:
option domain-name "subnet";
option domain-name-servers 10.0.0.3;
option routers 172.16.1.1;
option ntp-servers 10.0.0.3;
default-lease-time 14440;
ddns-update-style none;
deny bootp;
shared-network intranet {
subnet 172.16.1.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
pool { range 172.16.1.50 172.16.1.200; }
}
}
La elección de la dirección IP es bastante crítica. Utilicé 172.16.1.0/24 para el cable ethernet que sale de la computadora portátil. La tarjeta inalámbrica de la computadora portátil termina con 192.161.1.0/24. Debe observar qué dirección IP tiene la conexión inalámbrica de la computadora portátil y elegir alguna otra subred para la tarjeta Ethernet. Además, debe elegir una de las redes "bogon" o "no enrutables". En mi ejemplo, 172.16.1.0/24 pertenece a los rangos oficiales de direcciones IP no enrutables, al igual que 192.168.1.0/24, y también lo es la dirección 10.0.0.3 dhcpd.enp9s0.conf
proporcionada para un servidor DNS y un servidor NTP. Tendrás que usar tu cabeza para descubrir qué es apropiado para tu configuración.
Respuesta2
¿Es posible? Absolutamente. Todo lo que necesita hacer es configurar el reenvío o enrutamiento de IP, o alguna otra forma (simple) de mover paquetes desde el puerto Ethernet de la computadora portátil al WiFi de la computadora portátil y viceversa. ¿Es una buena idea? Probablemente no: los administradores de su red podrían enfadarse un poco con usted.
Respuesta3
Según Wikipedia, si uno de los puertos Ethernet es gigabit, el cable normal funcionará, no es necesario cruzarlo, tengo gigabit en ambos lados y el cable normal funciona.
La pregunta se hizo en 2016, por lo que supongo que el administrador de red se está ejecutando en ambas máquinas Linux, puede usar su GUI para configurar ip-s, si no, probablemente realizó una configuración personalizada y sabe cómo configurar ip desde el símbolo del sistema, entonces Omito esos detalles.
Después de conectarse con el cable, obtendrá los nombres de las interfaces de red en la GUI relacionados con Ethernet en la computadora portátil y la estación de trabajo.
Suponiendo que no le importa conectar la estación de trabajo (y/o la computadora portátil mediante Ethernet) periódicamente a otros equipos de red, puede configurar una IP estática en ambas para las interfaces Ethernet.
Configure la subred de su IP estática que no sea la misma que para Wi-Fi, por ejemplo, si Wi-Fi es 192.168.1.0/16, configúrelo en 192.168.2.1 y 192.168.2.2, la máscara de subred es 255.255.255.0, ya que solo difiere el último 'número' de IP. , el DNS en la estación de trabajo debe configurarse en la misma IP DNS que para Wi-Fi en la computadora portátil para poder usar DNS (abrir sitios por nombre, no solo IP) en la estación de trabajo.
Debe habilitar el reenvío de IP en la computadora portátil:
sudo bash -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
Como es muy probable que el administrador de red de su computadora portátil considere que Ethernet es de mejor calidad que Wi-Fi, intentará enviarle todo de forma predeterminada y perderá Internet después de configurar Ethernet. Para volver a usar Wi-Fi, en la computadora portátil necesita en la sección [ipv4] del archivo relacionado con la conexión Ethernet (el nombre se ve en la GUI del administrador de red para Ethernet) en la ubicación, /etc/NetworkManager/
agregue la línea
never-default=true
(Si su GUI tiene algo así como la casilla de verificación "Usar solo para recursos en esta conexión" para Ethernet; en la mía está en la sección ip4 de propiedades de conexión, puede usarla en su lugar).
Y finalmente, suponiendo que las reglas de sus tablas IP se mantengan por defecto en ACEPTAR todo, sus paquetes desde la estación de trabajo irán a Internet, pero no encontrarán el camino de regreso viajando solo a la computadora portátil hasta que configure la regla NAT en la computadora portátil con un comando (donde eth0 debe ser el nombre). de su conexión wifi, puede averiguar el nombre mediante sudo ifconfig
):
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Si después de eso no funciona, intente reiniciar el administrador de red:
sudo service network-manager restart
Deberías estar listo.