
Atualmente as portas Ethernet do prédio em que trabalho estão desligadas, mas o Wi-Fi funciona. Eu tenho um laptop habilitado para Wi-Fi (Ubuntu 14.04LTS (Trusty Tahr)) e uma estação de trabalho não habilitada para Wi-Fi (Debian 8(Jessie)) com apenas um plugue Ethernet.
É possível conectar os dois por meio de um cabo Ethernet e obter conectividade de rede na estação de trabalho?
Responder1
Sim, você pode fazer isso e nem é tão difícil. Eu tenho um laptop com placa wireless e uma porta Ethernet. Conectei um RapberryPi rodando Arch Linux nele, através de um cabo Ethernet "crossover". Essa é uma coisa especial que você pode precisar - nem todas as placas Ethernet podem fazer uma conexão direta entre máquinas.
A outra parte complicada é o endereçamento IP. É melhor ilustrar isso. Aqui está meu pequeno script de configuração. Novamente, enp9s0 é a porta Ethernet do laptop e wlp12s0 é o dispositivo sem fio do laptop.
#!/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
O script define um endereço IP estático para a placa Ethernet, 172.16.1.1, e então configura o NAT carregando um módulo do kernel. Ele ativa o roteamento IP (no laptop) e, em seguida, faz alguma iptables
semi-mágica para que os pacotes sejam roteados da placa sem fio para a Ethernet e vice-versa.
Estou dhcpd
executando na porta Ethernet para fornecer endereços IP porque é isso que o Raspberry Pi deseja, mas você pode criar um endereço estático em sua estação de trabalho, junto com roteamento estático, servidor DNS e servidor NTP.
O arquivo /etc/dhcpd.enp9s0.conf
fica assim, caso você siga esse caminho:
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; }
}
}
A escolha do endereço IP é bastante crítica. Usei 172.16.1.0/24 para o cabo Ethernet que sai do laptop. A placa wireless do laptop termina com 192.161.1.0/24 . Você precisa verificar qual endereço IP a rede sem fio do laptop possui e escolher alguma outra sub-rede para a placa Ethernet. Além disso, você precisa escolher uma das redes "bogon" ou "não roteáveis". No meu exemplo, 172.16.1.0/24 pertence aos intervalos oficiais não roteáveis de endereços IP, assim como 192.168.1.0/24, e o endereço 10.0.0.3 também é dhcpd.enp9s0.conf
fornecido para um servidor DNS e um servidor NTP. Você terá que usar a cabeça para descobrir o que é apropriado para sua configuração.
Responder2
É possível? Absolutamente. Tudo o que você precisa fazer é configurar o encaminhamento IP, ou roteamento, ou alguma outra maneira (simples) de mover pacotes da porta Ethernet do laptop para o WiFi do laptop e vice-versa. É uma boa ideia? Provavelmente não - seus administradores de rede podem ficar um pouco chateados com você.
Responder3
De acordo com a Wikipedia, se uma das portas Ethernet for gigabit, o cabo comum funcionará, não há necessidade de cross, tenho gigabit em ambos os lados e o cabo comum funciona.
A pergunta foi feita em 2016, então presumo que o gerenciador de rede esteja rodando em ambas as máquinas Linux, você pode usar sua GUI para definir ip-s, caso contrário, você provavelmente fez uma configuração personalizada e sabe como configurar o ip no prompt de comando, então Omiti esses detalhes.
Depois de conectar com o cabo, você obterá nomes de interfaces de rede na GUI relacionados à Ethernet no laptop e na estação de trabalho.
Supondo que você não se preocupe em conectar estações de trabalho (e/ou laptop por Ethernet) periodicamente a outros equipamentos de rede, você pode configurar IP estático em ambos para interfaces Ethernet.
Defina a mesma sub-rede do seu IP estático para wi-fi, por exemplo, se o wi-fi for 192.168.1.0/16, defina como 192.168.2.1 e 192.168.2.2, a máscara de sub-rede é 255.255.255.0, pois apenas o último 'número' de IP é diferente , o DNS na estação de trabalho deve ser definido com o mesmo IP DNS do Wi-Fi no laptop para poder usar DNS (sites abertos por nome, não apenas IP) na estação de trabalho.
Você precisa ativar o encaminhamento de IP no laptop:
sudo bash -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
Como muito provavelmente o seu gerente de rede no laptop considera a Ethernet de melhor qualidade do que o wi-fi, ele tentará enviar tudo para ele por padrão e você perderá internet após configurar a Ethernet. Para voltar a usar o wi-fi, no laptop você precisa na seção [ipv4] do arquivo relacionado à conexão ethernet (nome que você vê na GUI do gerenciador de rede para ethernet) no local /etc/NetworkManager/
adicionar linha
never-default=true
(se sua GUI tiver algo como a caixa de seleção "Usar apenas para recursos nesta conexão" para Ethernet - na minha, está na seção ip4 das propriedades da conexão, você pode usá-la).
E, finalmente, supondo que as regras das tabelas IP permaneçam por padrão ACEITAR tudo, seus pacotes da estação de trabalho irão para a Internet, mas não encontrarão o caminho de volta, viajando apenas para o laptop até que você configure a regra NAT no laptop por um comando (onde eth0 deve ser o nome da sua conexão wi-fi, você pode descobrir o nome por sudo ifconfig
):
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Se não funcionar depois disso, tente reiniciar o gerenciador de rede:
sudo service network-manager restart
Você deve estar tudo pronto.