Saltar al contenido principal

Preparación de una Raspberry Pi para su uso como Gateway

Compartir la conexión a Internet Wi-Fi de la Raspberry Pi con Ethernet​

información

En este paso, la Raspberry Pi debe estar conectada a Internet mediante Wi-Fi y el PLC debe estar conectado a la Raspberry Pi mediante la conexión Ethernet.

Ahora configurará la Raspberry Pi para compartir la conexión a Internet Wi-Fi con Ethernet. Ejecute los siguientes comandos en la Raspberry Pi.

1. (Opcional) Actualice la Raspberry Pi:

sudo apt-get update
sudo apt-get upgrade

2. Para configurar el cliente DHCP, abra el archivo de configuración

sudo vi /etc/dhcpcd.conf

y pegue denyinterfaces eth0 al final del archivo. Cierre el archivo de configuración (Esc, :w (Enter), :q (Enter)).

3. A continuación, abra las interfaces de red

sudo vi /etc/network/interfaces

y pegue las siguientes líneas al final del archivo:

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

Cierre el archivo de interfaces de red (Esc, :w (Enter), :q (Enter)).

4. Instale y configure el servicio DHCP para asignar automáticamente direcciones IP a cada dispositivo del puerto Ethernet. Instale dnsmasq y cree una nueva configuración:

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

Añada las siguientes líneas al archivo

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

y cierre la configuración (Esc, :w (Enter), :q (Enter)).

5. Reinicie la Raspberry Pi.

sudo reboot

Después, es necesario volver a abrir la conexión SSH.

6. Ahora, reenviamos la conexión a Internet desde el Wifi al puerto Ethernet donde está conectado el PLC, configurando el reenvío IPv4. Abra el archivo /etc/systcl.conf file:

sudo vi /etc/sysctl.conf

Descomente la siguiente línea eliminando el # (línea 28):

net.ipv4.ip_forward=1

Guarde y cierre el archivo (Esc, :w (Enter), :q (Enter)).

7. Active el reenvío de IP ejecutando el siguiente comando:

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

8. Ahora, instalamos iptables y añadimos reglas de firewall. Ejecute los siguientes comandos uno por uno:

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. Compruebe que se realizaron los cambios y guarde las reglas:

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

Para recargar automáticamente estas reglas después de cada reinicio, edite el archivo /etc/rc.local:

sudo vi /etc/rc.local

Pegue la siguiente línea antes de exit 0:

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

Guarde y cierre el archivo (Esc, :w (Enter), :q (Enter)).

10. Para comprobar la configuración del firewall, ejecute

route

La tabla de enrutamiento debería tener este aspecto:

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

Ahora puede consultar la consola de SDA para comprobar si se estableció la conexión con el Gateway y si el PLC está conectado.