iproute2: Como faço para conectar uma máquina à internet por meio de outra

0

Eu tenho a seguinte configuração:

A > 169.254.8.125/16 < - (ad-hoc) - > 169.254.9.109/16 < B > 192.168.178.21 / 24 < - (wifi) - > 192.168.178.1/24 < AP / roteador > internet

Eu quero conectar A à internet via B. Até agora, a tabela de roteamento de A se parece com isso:

default via 169.254.6.109 dev eth0 
169.254.0.0/16 dev eth0  proto kernel  scope link  src 169.254.8.125

A tabela de roteamento de B se parece com isso:

default via 192.168.178.1 dev wlan0  proto static 
169.254.0.0/16 dev eth0  proto kernel  scope link  src 169.254.6.109  metric 1 
192.168.178.0/24 dev wlan0  proto kernel  scope link  src 192.168.178.21  metric 2

Na máquina B, habilitei o encaminhamento de IP fazendo sysctl net.ipv4.ip_forward=1 e Eu adicionei uma regra de NAT ao iptables: iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

Estou ciente de que ainda não tenho nenhum DNS para A.

Eu posso pingar B de A e vice-versa. Isso não deveria dar acesso à Internet ou pelo menos permitir o ping do roteador? O que estou perdendo?

    
por rausch 07.09.2014 / 10:05

1 resposta

1

Você está perdendo a regra de encaminhamento.

sudo iptables -A FORWARD -i wlan0 -o eth0 -m estado -o estado RELACIONADO, ESTABELECIDO -j ACEITAR
sudo iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT

    
por 10.09.2014 / 17:51