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.confy 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/passwdy poner shell al usuario nuevo:1miusuario:x:1000:1000::/home/miusuario:/bin/ash -
Ejecutar el comando
visudoy añadir la siguiente línea bajo la correspondiente a root:1miusuario 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-InputyAllow-ICMPv6-Forward - Pulsar el botón
Save & Applyabajo 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 -ey añadir la siguiente línea:10 */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-zonecrear 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
wancambiarInputyForwardadropy desmarcar los checksMasqueradingyMSS clamping. - En la zona
vpncambiarInputyForwardadropy marcar los checksMasqueradingyMSS clamping. - Pulsar el botón
Save & Apply. - Pulsar el botón
Editde la zonalan. -
En la sección
Inter-Zone Forwardingabrir el desplegableAllow forward to destination zonesy marcar la secciónvpny desmarcarwan.
-
Pulsar el botón
Save & Apply -
Pantallazo de cómo deberían de quedar las zonas:

-
Descargar de la sección "Downloads" de nuestro perfil en ProtonVPN y en apartado "Archivos de configuración de OpenVPN", el perfil
.ovpndeseado seleccionando como plataformaRoutery 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-passdejándola como sigue:1auth-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/openvpny 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 > LANy en el parámetroUse custom DNS serversdejar únicamente la IP10.8.8.1(en caso de utilizar OpenVPN por protocolo TCP usar10.7.7.1en 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 imagepulsar 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 > Interfacesy detener el interfazOPENVPNpulsando el botónStop:
-
Ir a
Network > Interfaces > LANy en el parámetroUse custom DNS serversponer las IPs de OpenDNS:208.67.222.222y208.67.220.220. -
Ir a
Network > Firewally editar la zonalanpara que haga forward a la zonawany no a lavpn:
-
En el listado de zonas firewall activar
MasqueradingyMSS clampingen la zonawande manera que quede así:
-
Reiniciar router.
Para volver a utilizar el VPN
-
Ir a
Network > Interfacesy conectar el interfazOPENVPNpulsando el botónConnect:
-
Ir a
Network > Interfaces > LANy en el parámetroUse custom DNS serversdejar únicamente la IP:10.8.8.1. -
Ir a
Network > Firewally editar la zonalanpara que haga forward a la zonavpny no a lawan:
-
En el listado de zonas firewall desactivar
MasqueradingyMSS clampingen la zonawande 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'