2020-02-09 RG350 Conexión a internet

Vamos a ver en este artículo un par de posibilidades para conectar la consola RG350 a internet.

A través de cable USB

Cuando la RG350 se conecta por USB a través del puerto USB2 al ordenador, se monta como un adaptador de red nuevo en el PC con una configuración de punto a punto. Es decir, se define una nueva red entre los dos equipos, con sólo dos IPs posibles, 10.1.1.1 para el PC y 10.1.1.2 para la RG350.

Así es por ejemplo como se ve el adaptador desde la RG350:

usb0      Link encap:Ethernet  HWaddr 7E:5B:3B:17:C7:7A  
          inet addr:10.1.1.2  Bcast:0.0.0.0  Mask:255.255.255.252
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:62 errors:0 dropped:12 overruns:0 frame:0
          TX packets:37 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:9880 (9.6 KiB)  TX bytes:7153 (6.9 KiB)

Y así la contraparte en mi máquina Linux:

enp0s29u1u2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.1.1.1  netmask 255.255.255.252  broadcast 10.1.1.3
        inet6 fe80::fe3:ce72:8963:ca1  prefixlen 64  scopeid 0x20<link>
        ether 1e:fc:4d:c7:bd:b1  txqueuelen 1000  (Ethernet)
        RX packets 55  bytes 9539 (9.5 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 95  bytes 14091 (14.0 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Como vemos por la netmask sólo se dejan los dos últimos bits para definir direcciones, lo que sólo permite como IPs posibles las terminadas en 1 y 2 (0 es la dirección de red y 3 la de broadcast).

En lo que sigue, voy a ilustrar la situación con mi infraestructura, en la que mi PC sale a internet a través del adaptador wlan0 con la IP 192.168.1.40. Sustituir estos dos datos por los que corresponda.

RG350 esquema de red

Así las cosas, la RG350 no tiene salida a internet, ya que tenemos dos redes que no están interconectadas. Para conseguirla tenemos que establecer un puente entre las dos redes y configurar que se haga NAT para poder enviar los paquetes de una red a través de la otra. Es decir, en realidad tenemos que convertir el PC que hay entre la RG y la salida a internet en un router.

A continuación se describen los pasos para hacerlo. Desgraciadamente sólo he podido diseñar el procedimiento para un equipo con Linux, que es lo que yo uso. Los usuarios de Windows parece que pueden conseguir el mismo efecto por medio de la utilidad NAT32 tal y como se explica en este video.

  1. Activar el IP forward en el sistema:

    sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
    
  2. Configurar una regla en IPables para hacer NAT de la red entre la RG y el PC (sustituir wlan0 por el adaptador de red que dé salida a internet en el PC, en mi caso el adaptador Wifi, y la IP 192.168.1.40 por la que tenga dicho adaptador en el PC):

    sudo iptables -t nat -A POSTROUTING -s 10.1.1.0/2 -o wlan0 -j SNAT --to 192.168.1.40
    
  3. A partir de este momento ya tendremos salida a internet, pero no se resolverán los nombres de dominio ya que en la RG no hay definido ningún DNS. Para hacerlo crear el fichero /usr/local/etc/resolv.conf y definir dentro de él nuestros DNS preferidos, por ejemplo los de OpenDNS:

    nameserver 208.67.222.222
    nameserver 208.67.220.220
    

Los pasos 1 y 2 no son permanentes en el sistema, por lo que cuando reiniciemos se perderán. Si queremos que se mantengan entre reinicios habrá que escribirlos en un script que se ejecute durante el arranque (por ejemplo añadiéndolos en /etc/rc.local).

Ya podremos hacer cosas como ésta:

RG350:/media/data/local/home # wget apuntes.eduardofilo.es
--2020-02-09 02:31:03--  http://apuntes.eduardofilo.es/
Resolving apuntes.eduardofilo.es... 185.199.108.153, 185.199.109.153, 185.199.110.153, ...
Connecting to apuntes.eduardofilo.es|185.199.108.153|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 45544 (44K) [text/html]
Saving to: 'index.html'

100%[============================================================================================================>] 45,544       130KB/s   in 0.3s

2020-02-09 02:31:05 (130 KB/s) - 'index.html' saved [45544/45544]

A través de adaptador Wifi

También podemos conectar la consola a internet directamente y de forma inalámbrica insertando un adaptador Wifi en el puerto USB1. Hay que tener en cuenta que no sirve cualquiera, ya que el sistema operativo sólo da soporte a los adaptadores basados en los siguientes chips:

  • Realtek RTL8188EU 150Mb/s (BASE y ROGUE)
  • Realtek RTL8188FU 150Mb/s (sólo ROGUE)
  • Realtek RTL8192CU 300Mb/s (BASE y ROGUE)

Por ejemplo éste para el que necesitaremos además un adaptador para USB tipo C.

En el siguiente video puede verse cómo conectar y configurar el adaptador:

OPKManager

Una vez que contemos con salida a internet en nuestra RG350, una de las cosas que podemos hacer es utilizar aplicaciones como OPKManager, que podemos ver en acción en el siguiente vídeo:

Como explican en el vídeo, los controles X e Y están intercambiados respecto a lo que se ve en la leyenda inferior de la pantalla de la aplicación:

  • X: Delete
  • Y: Copy/install

OPKManager