Como compartilhar uma conexão de internet da LAN para outra LAN?

2

EutenhoumRaspberryPiconectadoaumroteador(Roteador1)comconexãoàInternetemen0,comIP192.168.1.110,noentanto,tenhoaportawifidomeuRPi(wlan0)conectadaaoutroroteador(Roteador2)comIP172.31.198.123(outraredeLAN).

AgorameuMacbookestáconectadoaoRoteador2(porexemplo,comIP172.31.198.100)eeuqueroalcançaraInternetatravésdomeuRaspberryPi(talvezconfigurandoumservidorVPNoualgoparecidonoPi).

Somentequandoeupegomeucabo(en0),possofazerpingatravésde172.31.198.123domeuMac.Casocontrário,oPiusaráen0enãopossofazerpingatravésde172.31.198.123.

Alguémpoderiamedizercomofazerisso?

autoloifaceloinetloopbackautoeth0allow-hotplugeth0ifaceeth0inetstaticaddress192.168.1.110netmask255.255.255.0broadcast192.168.1.255gateway192.168.1.1autowlan0allow-hotplugwlan0ifacewlan0inetmanualwpa-conf/etc/wpa_supplicant/wpa_supplicant.confautowlan1allow-hotplugwlan1ifacewlan1inetmanualwpa-conf/etc/wpa_supplicant/wpa_supplicant.conf~$sudocat/etc/wpa_supplicant/wpa_supplicant.confctrl_interface=DIR=/var/run/wpa_supplicantGROUP=netdevupdate_config=1network={ssid="XXXX-WiFi"
    key_mgmt=NONE
}
    
por HRLTY 07.06.2015 / 04:18

2 respostas

0

Qualquer máquina com várias interfaces de rede deve ter várias rotas, especificamente, você precisa ter três em três rpi e dois no mac, ou seja, uma para cada sub-rede e uma rota padrão. (supondo que você está apenas usando o segundo roteador como uma ponte, o que parece ser o caso)

Agora aqui está a questão interessante, por que as rotas não são configuradas automaticamente? Eu suspeito que o primeiro problema é que o roteador2 está rodando um servidor dhcp e que o rpi está usando esse servidor dhcp (que tecnicamente não é um problema, se você sabe exatamente o que você está fazendo) e que sua configuração de rede ferramenta que você está usando o rpi é um melhor tipo de cliente (use apenas a melhor rede) e você está tentando usá-lo como um cliente duplo (conectado a duas ou mais redes ao mesmo tempo, não encaminha pacotes entre interfaces) ou como um roteador (conectado a duas ou mais redes ao mesmo tempo, encaminha pacotes entre interfaces). Se você está tentando conectar o mac à internet através do rpi, você precisará especificar o rpi como o gateway padrão para o mac, e habilitar o encaminhamento de pacotes.

    
por 07.06.2015 / 06:16
0

Acho que sua melhor abordagem é o mascaramento (mais comumente conhecido como NAT dinâmico) usando o iptables.

No seu rasperry pi, faça o seguinte:

  1. carrega o módulo NAT do iptables: modprobe iptable_nat (esta etapa pode falhar se o módulo já estiver ativo, então tente continuar de qualquer forma)
  2. Ativar o encaminhamento de ip: echo 1 > /proc/sys/net/ipv4/ip_forward
  3. Configure uma regra de mascaramento em seus iptables:

    iptables -A POSTROUTING -t nat -o wlan0 -s 172.31.198.0/24 -d 0/0 -j MASQUERADE
    
  4. Adicione as regras a seguir para garantir que o iptables não solte esses pacotes em um estágio anterior da filtragem:

    iptables -A FORWARD -t filter -o wlan0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
    
    iptables -A FORWARD -t filter -i wlan0 -m state --state ESTABLISHED,RELATED -j ACCEPT
    

Agora, você precisará fazer com que o tráfego que vai para a internet chegue ao pi de framboesa para seu roteamento adicional. Você tem duas opções para fazer isso:

  1. Em seu roteador (roteador2), defina o endereço IP do pi do raspberry (na placa wifi) como o GW padrão.
  2. Altere o GW padrão do mac para o IP do raspberry pi. Você pode fazer isso com os seguintes comandos:

    route del default
    route add default 1.2.3.4
    

    Quando 1.2.3.4 é o endereço IP em sua placa de rede raspberri pi wifi.

    Você pode querer mantê-lo como um script para poder executá-lo toda vez que se conectar a essa rede.

Naturalmente, se possível, a opção 1 é melhor. Ele roteará todos os dispositivos conectados a ele à Internet (mas, como você disse nos comentários, pode não ser o que você quer) e não tem a desvantagem de ter que definir uma rota estática em seu mac (você também pode precisar para removê-lo quando se conectar a outras redes).

Isso deve dizer ao seu dispositivo rasppi para encaminhar todos os pacotes provenientes do roteador2 para a Internet, alterando seu endereço IP src no cabeçalho para o da NIC externa no pi pi de framboesa. Quando uma resposta chegar para essas conexões, o pi de framboesa saberá para onde direcioná-las de volta. Este é, em suma, o processo de mascaramento.

Você pode ver mais detalhes sobre isso aqui: link Ch14 : _ Linux_Firewalls_Using_iptables # Masquerading_.28Many_to_One_NAT. 29

    
por 08.06.2015 / 14:27