Pular para o conteúdo principal

Preparando um Raspberry Pi para ser usado como Gateway

Compartilhar a Internet Wi-Fi do Raspberry Pi com a Ethernet​

informação

Nesta etapa, o Raspberry Pi deve estar conectado à Internet via Wi-Fi e o PLC deve estar conectado ao Raspberry Pi pela conexão Ethernet.

Agora você configurará o Raspberry Pi para compartilhar a conexão de Internet Wi-Fi com a Ethernet. Execute os seguintes comandos no Raspberry Pi.

1. (Opcional) Atualize o Raspberry Pi:

sudo apt-get update
sudo apt-get upgrade

2. Para configurar o cliente DHCP, abra o arquivo de configuração

sudo vi /etc/dhcpcd.conf

e cole denyinterfaces eth0 no final do arquivo. Feche o arquivo de configuração (Esc, :w (Enter), :q (Enter)).

3. Em seguida, abra as interfaces de rede

sudo vi /etc/network/interfaces

e cole as seguintes linhas no final do arquivo:

auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.66.1
netmask 255.255.255.0
network 192.168.66.0
broadcast 192.168.66.255

Feche o arquivo de interfaces de rede (Esc, :w (Enter), :q (Enter)).

4. Instale e configure o serviço DHCP para atribuir automaticamente endereços IP a cada dispositivo na porta Ethernet. Instale o dnsmasq e crie uma nova configuração:

sudo apt-get install dnsmasq
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo vi /etc/dnsmasq.conf

Adicione as seguintes linhas ao arquivo

interface=eth0
listen-address=192.168.66.1
dhcp-range=192.168.66.50,192.168.66.100,12h
server=8.8.8.8
bind-interfaces
domain-needed
bogus-priv

e feche a configuração (Esc, :w (Enter), :q (Enter)).

5. Reinicie o Raspberry Pi.

sudo reboot

Depois disso, é necessário reabrir a conexão SSH.

6. Agora, encaminhamos a conexão de Internet do Wi-Fi para a porta Ethernet à qual o PLC está conectado, configurando o encaminhamento IPv4. Abra o arquivo /etc/systcl.conf file:

sudo vi /etc/sysctl.conf

Descomente a seguinte linha removendo o # (linha 28):

net.ipv4.ip_forward=1

Salve e feche o arquivo (Esc, :w (Enter), :q (Enter)).

7. Ative o encaminhamento IP executando o seguinte comando:

sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

8. Agora, instalamos o iptables e adicionamos regras de firewall. Execute os seguintes comandos um por vez:

sudo apt install iptables
sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
sudo iptables -A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT

9. Verifique se as alterações foram aplicadas e salve as regras:

sudo iptables -L -n -v
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

Para recarregar automaticamente essas regras após cada reinicialização, edite o arquivo /etc/rc.local:

sudo vi /etc/rc.local

Cole a seguinte linha antes de exit 0:

iptables-restore < /etc/iptables.ipv4.nat

Salve e feche o arquivo (Esc, :w (Enter), :q (Enter)).

10. Para verificar as configurações do firewall, execute

route

A tabela de roteamento deve ter a seguinte aparência:

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.2.1 0.0.0.0 UG 304 0 0 wlan1
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
192.168.2.0 * 255.255.255.0 U 304

Agora, você pode verificar no console do SDA se a conexão com o Gateway foi estabelecida e se o PLC está conectado.