Como se conectar à internet através de outro PC?

1

Eu tenho um pequeno cluster com vários nós. Apenas um nó (vamos chamá-lo root ), pode se conectar à internet. Todos os nós estão conectados, então podemos fazer ping de um para outro, mas não podemos acessar a Internet a partir do nó comum (ou seja, não raiz).

Nó raiz ifconfig output:

eth0      Link encap:Ethernet  HWaddr b8:27:eb:d8:53:25  
          inet addr:192.168.10.10  Bcast:192.168.10.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4084 errors:0 dropped:1295 overruns:0 frame:0
          TX packets:841 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:249141 (243.3 KiB)  TX bytes:87110 (85.0 KiB)

eth1      Link encap:Ethernet  HWaddr b8:8d:12:54:75:aa  
          inet addr:158.184.27.129  Bcast:158.184.27.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1647 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:229772 (224.3 KiB)  TX bytes:68634 (67.0 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:260 (260.0 B)  TX bytes:260 (260.0 B)

wlan0     Link encap:Ethernet  HWaddr 00:0f:13:39:02:c3  
          inet addr:158.196.122.94  Bcast:158.196.123.255  Mask:255.255.252.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:127 errors:0 dropped:0 overruns:0 frame:0
          TX packets:75 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:37269 (36.3 KiB)  TX bytes:27150 (26.5 KiB)

Nó raiz route -n output

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         158.184.27.1    0.0.0.0         UG    0      0        0 eth1
158.184.27.0    *               255.255.255.0   U     0      0        0 eth1
192.168.10.0    *               255.255.255.0   U     0      0        0 eth0

Nó comum ifconfig output:

eth0      Link encap:Ethernet  HWaddr b8:27:eb:b3:ed:0e  
      inet addr:192.168.10.11  Bcast:192.168.10.255  Mask:255.255.255.0
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:5078 errors:0 dropped:2249 overruns:0 frame:0
      TX packets:1502 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:287740 (280.9 KiB)  TX bytes:179477 (175.2 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:36 errors:0 dropped:0 overruns:0 frame:0
          TX packets:36 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:3590 (3.5 KiB)  TX bytes:3590 (3.5 KiB)

Nó comum route -n output:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.10.10   0.0.0.0         UG    0      0        0 eth0
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0

Você tem alguma ideia, como eu poderia me conectar à Internet a partir do nó comum através do nó raiz? Eu tenho muito pouco conhecimento sobre redes, então, por favor, tente explicar em detalhes.

EDITAR:

Considerando a resposta de Richard Neumann, habilitei o encaminhamento de IP no nó raiz. E eu acho que o nó raiz já está definido como o gateway padrão (consulte Nó Comum route -n output).

Mas a internet ainda não está funcionando ...

EDIT 2:

> traceroute 8.8.8.8
1 permonik0 (192.168.10.10) 0.972ms 0.957ms 0.922ms
2 * * *
...
30 * * *

EDIT 3:

Eu configurei o NAT de acordo com este artigo e agora posso até executar o ping 8.8.8.8 com êxito. Mas ainda assim, não consigo fazer ping em nenhum site, por isso, parece que há algum problema DNS restante agora.

    
por Eenoku 26.09.2017 / 16:20

2 respostas

3

Se a resposta de @Richard Neumann não funcionou, existe a possibilidade de ser uma questão de DNS.

echo "nameserver 8.8.8.8" >> /etc/resolv.conf

Configure o encaminhamento de IP e o mascaramento.

iptables -P FORWARD ACCEPT
iptables --table nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables --table nat --append POSTROUTING --jump MASQUERADE --source 192.168.10.10/24 
iptables-save > /root/clients.fw
echo "/sbin/iptables-restore < /root/clients.fw" >> /etc/rc.local

Esses comandos acima habilitarão o encaminhamento de IP e configurarão um firewall usando iptables , que permite que você acesse a Internet a partir do seu cliente.

    
por 26.09.2017 / 16:52
2

Seu nó raiz terá que atuar como roteador para os outros nós.

Você precisará ativar o encaminhamento de IP, no seu caso para IPv4, no roteador :

sysctl -w net.ipv4.ip_forward = 1

E para torná-lo persistente, edite /etc/sysctl.conf e defina:

net.ipv4.ip_forward=1

Você provavelmente também desejaria tornar o roteador o gateway padrão nos outros nós .

Se o próximo salto além do seu roteador não tiver conhecimento da rede 192.168.10.10/24, será necessário implementar Referência de endereços de rede ( NAT ).
Dê uma olhada na opção iptables e sua MASQUERADE .

Para possíveis problemas de DNS, consulte a resposta da @ Hunter.S.Thompson.

    
por 26.09.2017 / 16:24