Router Xiaomi MiWiFi 3G¶
Enlaces¶
- Serie de artículos de Carlos Monge sobre OpenWRT instalado en Xiaomi MiWiFi 3G
- Página del router en OpenWRT: Incluye instrucciones para debrick.
- Xiaomi WiFi Router 3G: Hilo del foro OpenWRT sobre el Xiaomi MiWiFi 3G router.
- Xiaomi Wifi Router 3G - 18.06.X / feedback and help: Hilo del foro OpenWRT sobre el firmware 18.06 en el Xiaomi MiWiFi 3G router.
- Things to do after installing Linux LEDE 17.01
Configuración desde cero¶
-
Instalar Luci:
1 2 3 4 5
# opkg update # opkg install luci # opkg install luci-ssl # /etc/init.d/uhttpd start # /etc/init.d/uhttpd enable
-
Descarga de paquetes por HTTPS:
-
Instalar:
1 2
# opkg update # opkg install ca-certificates
-
Editar el fichero
/etc/opkg/distfeeds.conf
y cambiar http por https.
-
-
Crear usuario normal y permitirle usar sudo:
-
Ejecutar:
1 2 3 4 5 6 7 8
# opkg update # opkg install shadow-useradd # useradd miusuario # passwd miusuario # mkdir /home # mkdir /home/miusuario # chown miusuario:miusuario /home/miusuario # opkg install sudo
-
Editar el fichero
/etc/passwd
y poner shell al usuario nuevo:1
miusuario:x:1000:1000::/home/miusuario:/bin/ash
-
Ejecutar el comando
visudo
y añadir la siguiente línea bajo la correspondiente a root:1
miusuario ALL=(ALL) ALL
-
-
Desactivar ping:
- En Luci ir a la ruta
Network > Firewall
- Abrir la solapa
Traffic Rules
- Desactivar las reglas (desmarcando el check)
Allow-Ping
,Allow-ICMPv6-Input
yAllow-ICMPv6-Forward
- Pulsar el botón
Save & Apply
abajo a la derecha
- En Luci ir a la ruta
-
Bloquear la publicidad desde el fichero hosts:
- Iniciar sesión SSH.
-
Hacer backup de fichero hosts:
1
$ sudo cp /etc/hosts /etc/hosts.bkp
-
Editar crontab de root con comando
sudo crontab -e
y añadir la siguiente línea:1
0 */12 * * * wget -O /etc/hosts https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews/hosts; cat /etc/hosts.bkp >> /etc/hosts
-
Hay varias configuraciones posibles para el fichero hosts descritas aquí.
Configuración de ProtonVPN¶
Siguiendo esta guía.
Antes de empezar es recomendable hacer un backup de la configuración del router por si es necesario volver a empezar.
-
Instalación de paquetes (el comando siguiente instala además los siguientes paquetes dependientes
kmod-tun liblzo zlib libopenssl
):1
$ sudo opkg install luci-app-openvpn openvpn-openssl
-
Creamos un nuevo interface para lo que en Luci vamos a
Network > Interfaces
. - Pulsamos el botón
Add new interface...
. -
En el formulario que aparece rellenamos los siguientes campos:
Name of the new interface
: openvpnProtocol of the new interface
: UnmanagedCover the following interface
: Custom Interface: "tun0"
-
Pulsar el botón
Submit
. - Seleccionar la pestaña
Advanced Settings
. - Marcar la opción
Bring up on boot
. - Seleccionar la pestaña
Firewall Settings
. - En el desplegable
Create / Assign firewall-zone
crear una zona con nombrevpn
. - Pulsar el botón
Save & Apply
. - Ir a la sección
Network > Firewall
. -
Los siguientes cambios son muy sensibles, por lo que muestro un pantallazo del estado de las zonas antes de los cambios:
-
En la zona
wan
cambiarInput
yForward
adrop
y desmarcar los checksMasquerading
yMSS clamping
. - En la zona
vpn
cambiarInput
yForward
adrop
y marcar los checksMasquerading
yMSS clamping
. - Pulsar el botón
Save & Apply
. - Pulsar el botón
Edit
de la zonalan
. -
En la sección
Inter-Zone Forwarding
abrir el desplegableAllow forward to destination zones
y marcar la secciónvpn
y desmarcarwan
. -
Pulsar el botón
Save & Apply
-
Pantallazo de cómo deberían de quedar las zonas:
-
Descargar el perfil
.ovpn
deseado de la sección "Downloads" de nuestro perfil en ProtonVPN seleccionando como plataformaRouter
y protocoloUDP
. Vamos a suponer que el fichero se llamais-es-01.protonvpn.com.udp.ovpn
. -
Editar el fichero y modificar la línea que contiene el parámetro
auth-user-pass
dejándola como sigue:1
auth-user-pass '/etc/openvpn/protonvpn/auth'
-
Transferir el fichero descargado al router y situarlo en la ruta
/etc/openvpn/protonvpn
(habrá que crear el directorioprotonvpn
). - Ir a la sección "Account" de nuestro perfil en ProtonVPN y tomar nota de los valores de "OpenVPN/IKEv2 Username" y "OpenVPN/IKEv2 Password".
- Crear en el router el fichero
/etc/openvpn/protonvpn/auth
, editarlo y escribir en la primera línea el username anterior y en la segunda el password. -
Editar en el router el fichero
/etc/config/openvpn
y añadir las siguientes líneas:1 2 3
config openvpn 'protonvpn' option config '/etc/openvpn/protonvpn/is-es-01.protonvpn.com.udp.ovpn' option enabled '1'
-
Reiniciar el servicio openvpn en el router:
1
$ sudo /etc/init.d/openvpn restart
-
Ir a
Network > Interfaces > LAN
y en el parámetroUse custom DNS servers
dejar únicamente la IP10.8.8.1
(en caso de utilizar OpenVPN por protocolo TCP usar10.7.7.1
en su lugar). - Pulsar el botón
Save & Apply
.
Para mantener acceso desde el exterior de la red, estudiar este artículo.
Actualización firmware¶
Siguiendo este artículo:
- Bajar el paquete pinchando uno de los enlaces siguientes según si se desea la versión de desarrollo o la estable de la página de soporte del router en OpenWRT:
- Estable: Firmware OpenWrt Upgrade URL
- Desarrollo: Firmware OpenWrt snapshot Upgrade URL
- En el interfaz web (Luci) acudir a la ruta
System > Backup / Flash Firmware
. - En la sección
Flash new firmware image
pulsar el botónExaminar...
y seleccionar el fichero .tar bajado en el punto anterior. - Pulsar el botón
Flash image...
. - En la siguiente página confirmar el flasheo comprobando si se quiere los checksums.
- Cuando termine el proceso habremos perdido los paquetes adicionales. También los ajustes hechos al usuario adicional (como el directorio home) por lo que seguramente habrá que repasar la mayoría de los ajustes hechos durante la configuración desde cero.
Desactivación VPN¶
Para poder salir directamente a través de la conexión WAN sin atravesar el VPN:
- Desmontar unidades NAS, apagar Raspis y NAS.
-
Ir a
Network > Interfaces
y detener el interfazOPENVPN
pulsando el botónStop
: -
Ir a
Network > Interfaces > LAN
y en el parámetroUse custom DNS servers
poner las IPs de OpenDNS:208.67.222.222
y208.67.220.220
. -
Ir a
Network > Firewall
y editar la zonalan
para que haga forward a la zonawan
y no a lavpn
: -
En el listado de zonas firewall activar
Masquerading
yMSS clamping
en la zonawan
de manera que quede así: -
Reiniciar router.
Para volver a utilizar el VPN
-
Ir a
Network > Interfaces
y conectar el interfazOPENVPN
pulsando el botónConnect
: -
Ir a
Network > Interfaces > LAN
y en el parámetroUse custom DNS servers
dejar únicamente la IP:10.8.8.1
. -
Ir a
Network > Firewall
y editar la zonalan
para que haga forward a la zonavpn
y no a lawan
: -
En el listado de zonas firewall desactivar
Masquerading
yMSS clamping
en la zonawan
de manera que quede así: -
Reiniciar router.
Cambio de perfil ProtonVPN¶
En el router hay instalados un par de perfiles (se descargan de aquí), los correspondientes a Suiza (ch) y a Islandia (is). Los perfiles están aquí:
edumoreno@OpenWrt:~$ cd /etc/openvpn/protonvpn
edumoreno@OpenWrt:/etc/openvpn/protonvpn$ ls -l
-rw-r--r-- 1 root root 24 Nov 24 2018 auth
-rw-r--r-- 1 edumoren edumoren 4479 Jan 25 15:16 ch-es-01.protonvpn.com.udp.ovpn
-rw-r--r-- 1 root root 4609 Nov 24 2018 is-es-01.protonvpn.com.udp.ovpn
Y se configuran al principio del fichero /etc/config/openvpn
:
config openvpn 'protonvpn'
option config '/etc/openvpn/protonvpn/ch-es-01.protonvpn.com.udp.ovpn'
option enabled '1'