NanoPI R2S: Acceso remoto a la red de la máquina usando conexión a Internet en la misma red

Fecha publicación
Dificultad
Avanzado
#
8
3 more properties
Publicado
tags
i40sys, industry 4.0, industry40.systems, nanopi, r2s, openwrt, friendlywrt, zerotier, vpn, industrial, remote access, acceso remoto, plc, siemens, omron



Escenario de ejemplo:
Suponemos una empresa que tiene conectadas las máquinas en la misma red que tienen acceso a Internet. En ese caso colocaremos nuestro IoT GW como un dispositivo más de la red del cliente. En este escenario se supone que la dirección IP se obtiene por DHCP. Una vez nuestro dispositivo tenga la IP conectada tendrá visibilidad con el/los PLC que estarán en la misma red.

Configuración IP del IoT GW:
YAML
WAN: eth0
	IP: unmanaged (sin configuración IP)
LAN: eth1 -> sin uso, desconnectada
	IP: unmanaged (sin configuración IP)
MANTENIMENT: ztyou73qa2
	IP: unmanaged (sin configuración IP)
BRIDGE(BR0): br-br0 (MANTENIMENT + WAN)
	IP: DHCP Client

Tabla de Contenidos

Configuración del IoT GW basado en WRT:

La configuración es idéntica a:
A continuación solo mencionaremos las diferencias:

Interfaces


Shell
root@FriendlyWrt:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br-br0 state UP group default qlen 1000
    link/ether 02:19:ea:13:79:e2 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br-lan state UP group default qlen 1000
    link/ether 02:19:08:2a:58:f7 brd ff:ff:ff:ff:ff:ff
4: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 32:6b:1c:15:c2:eb brd ff:ff:ff:ff:ff:ff
5: ifb0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 32
    link/ether 2a:f9:b0:26:bd:84 brd ff:ff:ff:ff:ff:ff
6: ifb1: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 32
    link/ether 4a:4d:8c:d4:b2:68 brd ff:ff:ff:ff:ff:ff
7: gre0@NONE: <NOARP> mtu 1476 qdisc noop state DOWN group default qlen 1000
    link/gre 0.0.0.0 brd 0.0.0.0
8: gretap0@NONE: <BROADCAST,MULTICAST> mtu 1462 qdisc noop state DOWN group default qlen 1000
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
9: erspan0@NONE: <BROADCAST,MULTICAST> mtu 1450 qdisc noop state DOWN group default qlen 1000
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
10: br-br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 02:19:ea:13:79:e2 brd ff:ff:ff:ff:ff:ff
    inet 10.46.0.102/24 brd 10.46.0.255 scope global br-br0
       valid_lft forever preferred_lft forever
    inet6 fe80::19:eaff:fe13:79e2/64 scope link
       valid_lft forever preferred_lft forever
11: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 02:19:08:2a:58:f7 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.1/24 brd 192.168.2.255 scope global br-lan
       valid_lft forever preferred_lft forever
    inet6 fd5e:61a:a76e::1/60 scope global noprefixroute
       valid_lft forever preferred_lft forever
    inet6 fe80::19:8ff:fe2a:58f7/64 scope link
       valid_lft forever preferred_lft forever
17: ztc25nps2u: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 2800 qdisc pfifo_fast state UNKNOWN group default qlen 1000
    link/ether 12:0a:b7:9e:56:65 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.30/24 brd 10.0.0.255 scope global ztc25nps2u
       valid_lft forever preferred_lft forever
    inet6 fe80::100a:b7ff:fe9e:5665/64 scope link
       valid_lft forever preferred_lft forever
18: ztyou73qa2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 2800 qdisc pfifo_fast master br-br0 state UNKNOWN group default qlen 1000
    link/ether 2a:6a:88:e9:3d:70 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::286a:88ff:fee9:3d70/64 scope link
       valid_lft forever preferred_lft forever

Fichero de configuración de red /etc/config/network
Plain Text
config interface 'loopback'
	option ifname 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option ula_prefix 'fd5e:061a:a76e::/48'

config interface 'lan'
	option type 'bridge'
	option ifname 'eth1'
	option proto 'static'
	option ipaddr '192.168.2.1'
	option netmask '255.255.255.0'
	option ip6assign '60'

config interface 'wan'
	option ifname 'eth0'
	option proto 'none'
	option delegate '0'
	option force_link '1'

config interface 'br0'
	option proto 'static'
	option type 'bridge'
	option ipaddr '10.46.0.102'
	list dns '1.1.1.1'
	list dns '8.8.8.8'
	option netmask '255.255.255.0'
	option delegate '0'
	option broadcast '10.46.0.255'
	option gateway '10.46.0.1'
	option ifname 'eth0 ztyou73qa2'

config interface 'Manteniment'
	option ifname 'ztyou73qa2'
	option proto 'none'
	option force_link '1'
	option delegate '0'

Bridge


Plain Text
root@FriendlyWrt:~# brctl show
bridge name     bridge id               STP enabled     interfaces
br-br0          7fff.0219ea1379e2       no              eth0
                                                        ztyou73qa2
br-lan          7fff.0219082a58f7       no              eth1


Cambios a hacer para cada cliente

Cada vez que se conecte uno de estos equipos a un nuevo cliente deberemos ajustar las siguientes configuraciones:

1. Cambios de configuración en el IoT GW

2. Cambios en la WUI de ZeroTier

Hay que hacer 2 cambios:
(1) Poner la IP y la mascara de red de la red del cliente
(2) Poner la IP que tendrá el equipo que hará el acceso remoto