Veja como você pode configurar o compartilhamento de conexão IPv4 manualmente em uma máquina Linux. No roteador (desktop), habilite o encaminhamento de pacotes, configure masquerading na interface voltada para a Internet ( eth0
) e use um intervalo de IP privado na interface local ( eth1
). Execute estes comandos como root:
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
ifconfig eth1 up 10.1.1.1 broadcast 10.1.1.255 netmask 255.255.255.0
No laptop, você pode configurar um endereço estático e uma rota ( eth0
sendo a interface com fio):
ifconfig eth0 up 10.1.1.2 broadcast 10.1.1.255 netmask 255.255.255.0
route add -net 0.0.0.0/0 gw 10.1.1.1
Para evitar a necessidade de configurar algo especial no laptop, você pode executar um servidor DHCP na área de trabalho. Por exemplo, instale o dnsmasq e habilite seu servidor DHCP interno editando /etc/dnsmasq.conf
para incluir o seguinte linhas:
except-interface=eth0
dhcp-range=10.1.1.128,10.1.1.254,24h
Observe que o Network Manager pode interferir nessas instruções. Se você o estiver executando no roteador, pare-o ou leia a página de compartilhamento de conexão com a Internet da comunidade Ubuntu . (Network Manager no laptop não é um problema.)
Se você quiser que essas configurações persistam após a reinicialização, isso é um pouco dependente da distribuição. No Debian e nas distribuições derivadas, coloque a seguinte linha em /etc/sysctl.d/connection-sharing.conf
:
net.ipv4.ip_forward=1
e as seguintes linhas em /etc/network/interfaces
:
auto eth1
iface eth1 inet static
address 10.1.1.1
broadcast 10.1.1.255
netmask 255.255.255.0
post-up iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE