- Acceso a la CLI y comandos básicos
- Configuración inicial del EdgeRouter
- Hardening del dispositivo
- Firewall EdgeRouter
- [LLDP]
- [Habilitar servicio LLDP]
- Routing
- LAN
- Añadir listas de seguridad al firewall
- Certificado localhost
- OpenVPN
- Squidguard
- Syslog
- WireGuard
- Diagnóstico de red
- Unifi
- Conclusión
Recordar que los pasos aquí expuestos son orientativos.
Recomiendo su lectura y compresión antes de aplicarlo sobre un entorno de producción.
Writen by Juan 👌🏻
Los lectores aprenderán cómo conectarse y configurar un EdgeRouter por primera vez. Hay muchos entornos diferentes en los que es posible que sea necesario realizar ajustes específicos. Este artículo muestra un escenario de instalación común, pero no es necesario aplicarlo en todos los entornos de red.
commit:
para activar los cambios.commit-confirm:
Este comando reinicia el dispositivo en 10 minutos (puedes personalizar este valor) a menos que el commit sea confirmado con el comando confirm
. Esto es útil cuando estás haciendo cambios en un dispositivo remoto y no quieres arriesgarte a perder el acceso a él.save:
para almacenar la configuración "activa" en la configuración de inicio.compare:
Para ver qué cambios se han realizado en la configuración.configure:
modo configuración.show:
mostrar -> Ejemplo: show firewallset:
establecer configuración. -> Ejemplo: set firewall name TEST default-action dropedit:
Para crear la misma acción y reducir la cantidad de repeticiones en la sintaxis completa. -> Ejemplo: edit firewall name TESTup:
Para subir un nivel de edición -> Ejemplo: volver al set de configuración anteriortop:
Para volver al nivel de edición superior -> Ejemplo: Volver al ser de configuración incialdiscard:
para deshacer los cambios no confirmadoscopy:
Para crear una nueva acción existente -> Ejemplo: copy name WAN1_LOCAL to name WAN2_LOCALrename:
Para cambiar el nombre de la nueva acción -> Ejemplo: rename name WAN2_LOCAL to name WAN2_INload:
cargar configuración.? o tecla de tab:
para mostrar opciones para el nivel de edición especificadowq
Guardar y salir.:q!
Salir sin guardar.u
Deshace última acción.i
modo inserción por la izquierda.a
modo inserción por la derecha.dd
Elimina la línea actual.p
Copia la palabra actual.A
Pone le puntero al final de la línea.w
Salta de palabra en palabra.D
Borra desde el puntero hacia el final de la línea.o
Agrera una línea debajo de la actual.O
Agrega una línea encima de la actual.P
Copia la palabra pegada.gw
Copia la palabra actual.help
Ayuda.Mediante un navegador, accedemos a https://192.168.1.1
. Cargara una web donde deberemos introducir unas credenciales. En este caso las que vienen de fábrica.
La contraseña por defecto:
Usuario:
ubntContraseña:
ubntUna vez introducidas las credenciales, se cargará la web de gestión del EdgeRouter.
- Acceda a la interfaz de usuario web de EdgeRouter
- Navegue a la parte superior derecha de la interfaz de usuario web.
En los comandos de OpenSSL a continuación, reemplace los nombres de archivo en TODAS LAS MAYÚSCULAS con las rutas y nombres de archivo reales con los que está trabajando.
Cuando intentamos acceder vía web, nos indica que el certificado es inválido al ser autofirmado:Podemos ver el contenido del archivo de certificado .PEM
:
openssl x509 -in CERTIFICATE.pem -text -noout
Para poder solucionar, debemos descargar el certificado del navegador. Nos descarga un archivo .pem
:
Una vez descargado tenemos que cambiar el .pem
a .crt
con OpenSSL:
openssl x509 -outform der -in CERTIFICATE.pem -out CERTIFICATE.crt
Despues de haber cambiado el formato, procedemos a instalar el certificado en la raiz de confianza:
Una vez importado el certificado y borrado las cookies, ya no nos indicará que el certificado no es de confianza.
Tambien podemos migrar el .pem
a .pfx
con OpenSSL:
openssl pkcs12 -export -in CERTIFICATE.pem -inkey CERTIFICATE.key -out CERTIFICATE.pfx
Para ello necesitas la private key del certificado.
La configuración inicial del EdgeRouter implica la configuración básica del dispositivo para que pueda conectarse a Internet y administrar el tráfico de red.
El EdgeRouter se puede restablecer a los valores predeterminados de fábrica utilizando un hardware o software método de restablecimiento
Hardware Reset: Borra todos los archivos de configuración y del sistema, restableciendo el dispositivo al estado predeterminado de fábrica. Software Reset: Solo borra la configuración y deja intactos los demás archivos del sistema.
Realización de un restablecimiento de hardware :
- Verifique que EdgeRouter esté completamente iniciado.
- Mantenga presionado el reinicio.
- Los LED del puerto comenzarán a encenderse en secuencia, comenzando por el puerto 1 y terminando en el último puerto.
- Continúe presionando el botón de reinicio durante aproximadamente 10 segundos hasta que el LED del puerto 1 se encienda nuevamente.
- Suelte el botón de reinicio.
- El EdgeRouter se reiniciará.
- Espere a que se complete el reinicio.
- Conéctese al eth0 y administre el dispositivo abriendo un navegador y navegando a la
https://192.168.1.1
dirección IP predeterminada.
- Desconecte el cable de alimentación del EdgeRouter.
- Mientras vuelve a conectar el cable de alimentación al EdgeRouter, mantenga presionado el reinicio .
- Los LED del puerto comenzarán a encenderse en secuencia, comenzando por el puerto 1 y terminando en el último puerto.
- Continúe presionando el botón de reinicio durante aproximadamente 10 segundos hasta que el LED del puerto 1 se encienda nuevamente.
- Suelte el botón de reinicio.
- El EdgeRouter se reiniciará.
- Espere a que se complete el reinicio.
- Conéctese al eth0 y administre el dispositivo abriendo un navegador y navegando a la
https://192.168.1.1
dirección IP predeterminada.
Realización de un reinicio de software:
- Acceda a la interfaz de usuario web de EdgeRouter.
- Navegue a la Sistema en la parte inferior izquierda de la interfaz de usuario web.
- Restablezca la configuración a los valores predeterminados presionando el Restablecer a los valores predeterminados en la Restablecer predeterminados .
- El EdgeRouter solicitará que se reinicie el dispositivo para completar el restablecimiento.
- Espere a que se complete el reinicio.
- Conéctese al eth0 y administre el dispositivo abriendo un navegador y navegando a la
https://192.168.1.1
dirección IP predeterminada
- acceda a la interfaz de línea de comandos de EdgeRouter.
- Sobrescriba el archivo de inicio actual
config.boot
con el archivo de inicio predeterminadoconfig.boot.default
.
sudo cp /opt/vyatta/etc/config.boot.default /config/config.boot
reboot
Proceed with reboot? [confirm]
https://192.168.1.1
dirección IP predeterminada
Antes de realizar cualquier cambio o configuración en los equipos Ubiquiti EdgeMax debe contar con la última versión del Firmware.
- Pueden buscar en la web de descargas de Ubiquiti:
- Pueden buscar en la web de lanzamientos de Ubiquiti:
Y seguir la guía que indica fabricante: Cómo actualizar el firmware de EdgeOS
Opción 1:
- Conecte un cable Ethernet desde el puerto Ethernet del ordenador al puerto eth0 del EdgeRouter.
- Configure el adaptador de Ethernet en su sistema host con una dirección IP estática en la subred
192.168.1.x
. - Inicie el explorador web. Escriba
https://192.168.1.1
en la barra de direcciones. Pulse Intro (PC) o Retorno (Mac). - Introduzca ubnt en los campos de nombre de usuario y contraseña. Lea el acuerdo de licencia de Ubiquiti y marque la casilla junto a I agree to the terms of this License Agreement (Acepto los términos de este acuerdo de licencia) para aceptarlo. Haga clic en Login (Inicio de sesión).
Opción 2:
- Conecte un cable Ethernet de eth1 en el EdgeRouter a un segmento de LAN que ya tiene un servidor DHCP.
- Para comprobar la dirección IP del EdgeRouter, utilice uno de los métodos siguientes:
- 2.1 Configure el servidor DHCP para que proporcione una dirección IP específica al EdgeRouter en función de su dirección MAC (en la etiqueta).
- 2.2 Deje que el EdgeRouter obtenga una dirección IP y luego compruebe el servidor DHCP para ver qué dirección IP se asignó.
Realizar una copia de seguridad y restaurar el archivo de configuración de un EdgeRouter.
Realización copia de seguridad y restauración vía GUI:
- Navegue al sistema en la parte inferior izquierda de la GUI para descargar el archivo de configuración de la copia de seguridad.
**Sistema** > **Gestión de configuración** y **mantenimiento de dispositivos** > **Back Up Config**
- Navegue al sistema en la parte inferior izquierda de la GUI para descargar el archivo de configuración de la copia de seguridad.
**Sistema** > **Gestión de configuración** y **mantenimiento de dispositivos** > **Restore Config**
Para realizar o restaurar vía UNMS deben seguir los pasos de este artículo:
- Tambien hay un contenedor docker unms en el enlace:Github
Realización copia de seguridad y restauración vía CLI:
1. Puede hacerlo usando el botón CLI en la GUI o usando el terminal Linux.
2. Ingrese al modo de configuración y asegúrese de que todos los cambios en las configuraciones actualmente activas/en funcionamiento se guarden en la arranque/inicio.
commit ; save
3. Guarde el archivo de configuración config.boot
en una máquina remota mediante una de estas opciones: TFTP, SCP, FTP o SFTP.
scp://<user>:<passwd>@<host>/<file> Save to file on remote machine
sftp://<user>:<passwd>@<host>/<file> Save to file on remote machine
ftp://<user>:<passwd>@<host>/<file> Save to file on remote machine
tftp://<host>/<file> Save to file on remote machine
Y con el comando save tftp://host/config.boot
guardamos el archivo de configuración.
4. Verifique el contenido de la configuración de inicio abriendo el config.boot
con un editor de texto y compare con el del equipo que se haya exportado correctamente.
cat /config/config.boot
1. Puede hacerlo usando el botón CLI en la GUI o usando un programa como PuTTY.
2. Compare las diferencias entre la respaldo/funcionamiento y la activa.
3. Guarde el archivo de configuración config.boot
en una máquina remota mediante una de estas opciones: TFTP, SCP, FTP o SFTP.
scp://<user>:<passwd>@<host>/<file> Load from file on remote machine
sftp://<user>:<passwd>@<host>/<file> Load from file on remote machine
ftp://<user>:<passwd>@<host>/<file> Load from file on remote machine
http://<host>/<file> Load from file on remote machine
tftp://<host>/<file> Load from file on remote machine
Y con el comando load tftp://host/config.boot
guardamos el archivo de configuración.
4. Verifique que la restauración ha sido correcta y con el contenido de la configuración del config.boot
con un editor de texto y compare con el del equipo que se haya importado correctamente.
cat /config/config.boot
y con el comando compare
5. Una vez asegurado de que todos los cambios en las configuraciones actualmente activas/en funcionamiento son correctas se procede a guardar en el arranque/inicio.
commit ; save
- También hay una opción que nos indican Ubiquiti, ellos la llaman desinfectar o limpiar las configuraciones de EdgeRouter para eliminar toda la información personal y confidencial. Ubiquiti nos dedica un articulo muy detallado para esta opción. Esta opción de desinfectar es cuando necesitas ayuda y quieres enviar la plantilla o "cachos" de la plantilla al foro o fabricante.
En esta sección, describiré cómo configurar una copia de seguridad diaria programada de la configuración del Edgerouter a través de SFTP a otro Linux.
Primero necesitamos generar un par de claves públicas en nuestro Edgerouter. Esto es mucho más seguro que usar una contraseña para la autenticación.
sudo bash
mkdir /config/ssh-keys
cd /config/ssh-keys
ssh-keygen -f backup -C "SSH key for backup" -N ""
cat backup.pub
La última línea imprime nuestra clave pública. Esta clave es necesaria en nuestro servidor de respaldo. Una clave podría verse así:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCjsIf2CJz7cM5axHSsm+Zj1HvfAdbgVFvoWcGEw4rfKo+sRY/QQjNZfFCQyBRLzY5MBBnPrk1y75iILddaLVQvSm/3gSj6ZrEGH1ZS5mxznnwIovrROZ9tJeCPiS/1QDMMZDbTRR+Ez+eQVnaWdIhLGBhBEjj13VFAyV33QVzaaBc0SbtpzfbmUAVFHIjBXuUHoRTw0uZlvEg1GD68Mp7GhC6f1YeNU+zt2pA+6KRP9rZvshLfvAH9IP6uzgu17o2cDowF3tZmlhCFnr062ptbfDSnTO6ywEyzCIue85H6hEItmC3VBdnx SSH key for backup
Ahora vamos a nuestro servidor que recibirá las copias de seguridad y creamos un usuario para este fin:
adduser backupuser
su backupuser
mkdir /home/backupuser/.ssh
mkdir /home/backupuser/edge-backups
vi /home/backupuser/.ssh/authorized_keys
La última línea edita el archivo "authorized_keys"
, donde debe pegar la clave pública generada en Edgerouter.
Ahora crea este script "/config/scripts/backup-remote.sh" y chmod 755:
#!/bin/bash
sftp_host=192.168.X.X
sftp_user=backupuser
sftp_folder=/home/backupuser/edge-backups
sftp_key=/config/ssh-keys/backup
now=$(date +%d%m%y-%H%M)
tar -cf - /config | gzip | \
curl -k --key $sftp_key --pubkey $sftp_key.pub \
-u $sftp_user: -T - sftp://$sftp_host$sftp_folder/backup-$now.tar.gz
Ahora debe probar si los scripts funcionan ejecutándolos. Si es así, debe agregar las siguientes líneas a su configuración de Edgerouter para que el script se ejecute diariamente:
set system task-scheduler task backup-conf executable path /config/scripts/backup-remote.sh
set system task-scheduler task backup-conf interval 1d
Puede administrar el dispositivo mediante el UISP, que le permite configurar, supervisar, actualizar y realizar copias de seguridad de sus dispositivos a través de una sola aplicación.
- Para empezar, vaya a UISP - Guía de instalación
- Despues logarse en la web de UISP uisp.ui.com
- Pueden utilizar la aplicación móvil, enlace de configuración: UISP-Mobile-App
Una consola en la nube de UISP gratuita requiere al menos 10 dispositivos Ubiquiti activos en total después del día 30 de la configuración.
El hardening del dispositivo Edgerouter se refiere a la aplicación de medidas de seguridad para proteger y fortalecer la configuración del enrutador Edgerouter.
Esto incluye medidas de seguridad como cambiar las contraseñas predeterminadas de inicio de sesión, asegurarse de que la última versión del firmware esté instalada, deshabilitar los servicios no utilizados, como SSH o Telnet, y configurar el firewall para bloquear tráfico no deseado que configuraremos en el siguiente punto.
Primero una pequeña configuración general importante del sistema
set system host-name mynameedge
set system domain-name mydomain.com
set system name-server 1.1.1.1
set system time-zone Europe/Madrid
Offloading se utiliza para ejecutar funciones del enrutador usando el hardware directamente, en lugar de un proceso de funciones de software. El beneficio de la descarga en EdgeOS es un mayor rendimiento y rendimiento al no depender de la CPU para las decisiones de reenvío. Enlace a la web oficial de Ubiquiti: EdgeRouter-Hardware-Offloading
UTILIZAR CON CUIDADO LA FUNCION DE RENDIMIENTO.
Hay dos plataformas que utilizan diferentes modelos de EdgeRouter. Cada plataforma tiene su propio soporte de descarga y comandos únicos para habilitar la funcionalidad. Las plataformas son:
CPU fabricante | Modelos EdgeRouter |
---|---|
MediaTek | ER-X, ER-10X, ER-X-SFP, EP-R6 |
Cavium | ERLite-3, ERPoE-5, ER-8, ERPro-8, EP-R8, ER-4, ER-6P, ER-12, ER-12P, ER-8-XG |
configure
set system offload hwnat enable
set system offload ipsec enable
commit ; save
Para todos los demás modelos de Edgerouter
configure
set system offload ipv4 forwarding enable
set system offload ipv4 gre enable
set system offload ipv4 pppoe enable
set system offload ipv4 vlan enable
set system offload ipv6 forwarding enable
set system offload ipv6 pppoe enable
set system offload ipv6 vlan enable
set system offload ipsec enable
commit ; save
Usar una herramienta como iPerf/iPerf3 es una forma común de generar y probar el rendimiento. Es importante no utilizar EdgeRouter como servidor o cliente para iPerf al ejecutar la prueba, ya que los enrutadores están diseñados para enrutar/reenviar tráfico y no para generarlo.
Antes de eliminar el usuario por defecto, crear un usuario, en la GUI en la pestaña USERS o por CLI:
set system login user <user>
set system login user <user> level admin
set system login user <user> authentication plaintext-password <contraseña>
set system login user <user> full-name <Nombre>
commit ; save
La contraseña se encripta una vez introducida en texto plano
Despues eliminarmos el usuario por defecto
configure
delete system login user ubnt
commit ; save
PD: Si creas un usuario como operador, no tiene acceso por ssh.
This account is currently not available.
Connection to 192.168.1.1 closed.
Para poder generar una clave pública SSH RSA.
ssh-keygen -t rsa -b 4096
ssh-copy-id -i ~/.ssh/mykey USER@IP_EDGEROUTER
Accedemos al equipo y configuramos la clave pública generada:
configure
loadkey <user> /tmp/id_rsa.pub
sudo chown -R <user> /home/<user>
commit ; save
$ ssh USER@IP_EDGEROUTER
exit
Si puede iniciar sesión con éxito en el EdgeRouter, un paso para reforzar la seguridad de su EdgeRouter es eliminar la opción de utilizar una contraseña de texto simple.
configure
set service ssh disable-password-authentication
commit ; save
Pueden asegurar el acceso al ssh o gui con vuestro rango de IPs, es opcional, pero seguro. (opcional)
configure
set service gui listen-address <lan ip address/range>
set service ssh listen-address <lan ip address/range>
commit ; save
Recomendado, cambiar el puerto de ssh y habilitar V2
configure
set service ubnt-discover disable
set service ssh protocol-version v2
set service ssh port <port>
delete service telnet
commit ; save
OPCIONAL
: Un factor adicional pero recomendado, agregar el autenticador de Google para SSH
El uso de certificados para la autenticación es un buen paso adelante. Pero, ¿qué pasa si mi máquina con mi certificado se ve comprometida? Luego está el acceso al Edgerouter 24/7. Una contramedida podría ser usar Google Authenticator en mi teléfono. Luego, el atacante necesita mi certificado en mi PC y mi teléfono.
Primero descargamos e instalamos el paquete debian de Google Authenticator
sudo -i
apt-get install libqrencode3 -y
cd ~ && mkdir ./downloaded-packages && cd downloaded-packages
curl -O http://ftp.us.debian.org/debian/pool/main/g/google-authenticator/libpam-google-authenticator_20170702-1_mips.deb
dpkg --force-all -i libpam-google-authenticator_20170702-1_mips.deb
exit
Nota: Para versiones pequeñas de Edgerouter lite, use "libpam-google-authenticator_20160607-2_mips.deb" en su lugar... No tienen la arquitectura de 64 bits.
Ahora ejecutamos el autenticador para que nos dé una clave privada para nuestro teléfono.
google-authenticator
Do you want authentication tokens to be time-based (y/n) y
Do you want me to update your "/home/$USER/.google_authenticator" file (y/n): y
Do you want to disallow multiple uses of the same authentication token? This restricts you to one login about every 30s, but it increases your chances to notice or even prevent man-in-the-middle attacks (y/n): y
By default, tokens are good for 30 seconds. In order to compensate for possible time-skew between the client and the server, we allow an extra token before and after the current time. If you experience problems with poor time synchronization, you can increase the window from its default size of +-1min (window size of 3) to about + 4min (window size of 17 acceptable tokens). Do you want to do so? (y/n): y
If the computer that you are logging into isn't hardened against brute-force login attempts, you can enable rate-limiting for the authentication module. By default, this limits attackers to no more than 3 login attempts every 30s. Do you want to enable rate-limiting (y/n): y
Simplemente responda afirmativamente a todas las preguntas. Esto arrojaría una clave privada que puede escribir en la aplicación de autenticación. Si ha instalado el paquete apt "libqrencode3", obtendrá un enorme código QR en la pantalla que puede escanear con el teléfono.
Ahora necesitamos configurar PAM en Linux para usar Google Authenticator. También deshabilitamos la autenticación de contraseña.
sudo -i
echo "auth required pam_google_authenticator.so" >> /etc/pam.d/sshd
sed -i -e 's/@include common-auth/#@include common-auth/g' /etc/pam.d/sshd
sed -i -e 's/ChallengeResponseAuthentication no/ChallengeResponseAuthentication yes/g' /opt/vyatta/etc/ssh/sshd_config
sed -i -e 's/PasswordAuthentication yes/PasswordAuthentication no/g' /opt/vyatta/etc/ssh/sshd_config
echo "AuthenticationMethods publickey,keyboard-interactive" >> /opt/vyatta/etc/ssh/sshd_config
En este punto sería inteligente probarlo. Guarde la configuración con el comando "guardar" y luego reinicie el dispositivo con el comando "reiniciar".
Edgerouter se puede administrar desde cualquier lugar. Esto solo debe permitirse desde redes internas.
configure
set service gui listen-address <lan ip address>
set service ssh listen-address <lan ip address>
commit ; save
exit
El Firewall EdgeRouter es conocido por su potencia y flexibilidad. Se basa en una plataforma de hardware de alto rendimiento que puede manejar grandes cantidades de tráfico de red con un bajo impacto en el rendimiento del sistema. Además, el Firewall EdgeRouter es altamente configurable y se puede ajustar para satisfacer las necesidades específicas de una organización o aplicación.
El Firewall EdgeRouter admite varias funciones avanzadas de firewall, como reglas de filtrado de paquetes, filtrado de contenido, prevención de intrusiones y detección de tráfico anómalo, entre otras. También tiene la capacidad de crear VLANs y segmentar la red en zonas separadas para una mayor seguridad.
-
Para poder añadir una regla, deben saber que hay 3 WAN en Ubiquiti:
WAN_IN
= es para paquetes externos que llegan a su enrutador y se dirigen a su LAN. Deje el destino en blanco. Solo debe preocuparse por el grupo de direcciones de origen BlockedIP. Coloque la regla DESPUÉS de que los dos primeros normales acepten establecidos/relacionados y eliminen los no válidos.WAN_LOCAL
= es para paquetes externos que llegan a su enrutador y se dirigen a su propio enrutador. El origen debe volver a ser el grupo de direcciones BlockedIP y dejar el destino vacío. También ponga después de las mismas dos reglas que arriba.WAN_OUT
= Para bloquear el saliente, debe crear un nuevo conjunto de reglas y adjuntarlo como OUT a ethX con la aceptación predeterminada. Luego agregue una sola regla para colocar con el grupo de direcciones de destino BlockedIP y nada en el origen.
-
Tipos de LAN
LAN_IN
= Todo lo que ingresa al enrutador desde su LAN que está destinado a otro lugar WAN u otra LAN. En una configuración SMB o SOHO, esto probablemente sea explícitamente permisivo. En un entorno empresarial, esto puede ser permisivo o no (por ejemplo, bloquear todo el tráfico saliente excepto SFTP en un puerto no estándar)LAN_LOCAL
= Todo lo que ingresa al enrutador desde su LAN destinado al enrutador.
Las reglas se añaden en las WAN
, dependiendo del sentido que queramos hacer.
Si desea bloquear el entrante y saliente, debemos de añadir en la IN u OUT, y en el LOCAL para bloquear los accesos hacia el sentido del router.
Ejemplo para una WAN
con pppoe,
- Indicamos la interfaz a la WAN_IN la pppoe en modo
IN
- Indicamos la interfaz a la WAN_LOCAL la pppoe en modo
LOCAL
- Indicamos la interfaz a la WAN_IN la pppoe en modo
OUT
.- No olvidar poner la acción por defecto en ACCEPT, o denegará todo el tráfico desde la red interna.
- Añadiríamos la regla en la IN u OUT y en el LOCAL.
- Despues realizar una prueba para comprobar la acción deseada.
En EdgeMax no es necesario añadir la misma regla en IN y OUT. Denegará o permitirá la acción deseada en cualquiera de ellas.
El EdgeRouter utiliza un cortafuegos de estado, lo que significa que las reglas del cortafuegos del router pueden coincidir en diferentes estados de conexión. Los estados de tráfico son:
new
Los paquetes entrantes proceden de una nueva conexión.established
Los paquetes entrantes están asociados a una conexión ya existente.related
Los paquetes entrantes son nuevos, pero están asociados a una conexión ya existente.invalid
Los paquetes entrantes no coinciden con ninguno de los otros estados. Utilizando estos estados de cortafuegos, el router puede aceptar/rechazar tráfico en diferentes direcciones dependiendo del estado de la conexión. Por ejemplo:- En ejemplo, el router puede bloquear todo el tráfico de WAN a LAN, a menos que sea tráfico de retorno asociado a una conexión ya existente. El asistente de configuración básica de EdgeOS añade las siguientes reglas de cortafuegos al router.
Aquí viene la parte más difícil. Si anteriormente no te has peleado con un Firewall algunos conceptos te serán extraños, pero intentare explicar cada paso con algún ejemplo, haciéndolo mas fácil de entender.
- Configuración básica del firewall. Asignar la interfaz de la WAN que vayan a utilizar:
configure
set firewall name WAN_IN default-action drop
set firewall name WAN_IN description 'WAN to internal'
set firewall name WAN_IN rule 10 action accept
set firewall name WAN_IN rule 10 description 'Allow established/related'
set firewall name WAN_IN rule 10 state established enable
set firewall name WAN_IN rule 10 state related enable
set firewall name WAN_IN rule 20 action drop
set firewall name WAN_IN rule 20 description 'Drop invalid state'
set firewall name WAN_IN rule 20 state invalid enable
set firewall name WAN_LOCAL default-action drop
set firewall name WAN_LOCAL description 'WAN to router'
set firewall name WAN_LOCAL rule 10 action accept
set firewall name WAN_LOCAL rule 10 description 'Allow established/related'
set firewall name WAN_LOCAL rule 10 state established enable
set firewall name WAN_LOCAL rule 10 state related enable
set firewall name WAN_LOCAL rule 20 action drop
set firewall name WAN_LOCAL rule 20 description 'Drop invalid state'
set firewall name WAN_LOCAL rule 20 state invalid enable
set interfaces ethernet eth0 firewall in name WAN_IN
set interfaces ethernet eth0 firewall local name WAN_LOCAL
commit ; save
1. Lo primero es entrar en la web de gestión del Edgerouter y pulsar en la pestaña Wizards de la parte superior derecha. Esto nos cargara un grupo de asistentes de configuración en la parte izquierda. Pulsamos sobre el que se llama WAN + +2LAN2. Esto nos cargara un formulario que deberemos rellenar con los datos de acuerdo a nuestras necesidades.
2. Internet port: En esta sección definiremos como está conectado nuestro Edgerouter al router HGU de Movistar/O2.
Port
: En el menú despegable seleccionamos el puerto de ethernet con el que está conectado al router HGU de Movistar o O2, etho o eth4.
Internet connection type
: Aquí seleccionamos PPPoE y rellenamos los campos de ls siguiente manera:
Account name: adsl@telefonicapa
Password: adslppp
VLAN ID: 6
3. LAN ports: Desplegando está sección podremos configurar la IP que tendrá nuestro router y habilitaremos el DHCP por defecto para que asigne IPs a aquellos equipos que se conecten al router.
Tener en cuenta que el rango de IP debe ser distinto al que esta nuestro Edgerouter con el router HGU de Movistar o O2. La opción de DHCP viene habilitada por defecto, así que no la tocamos y la dejamos como está.4. User setup: Por último, es recomendable cambiar la contraseña del usuario ubnt que viene por defecto por otra más segura.
Para aplicar la configuración definida, pulsamos sobre Apply.
Recordar que los pasos aquí expuestos son orientativos. Utilízalos como una guía, ya que la configuración de vuestra red puede diferir con la de aquí expuesta. Pudiendo causar un mal funcionamiento de vuestra red.
Recomiendo su lectura y compresión antes de aplicarlo sobre un entorno de producción.
Puedes asignar la MAC del HGU a la WAN:
El cortafuegos para IPv6 es independiente del cortafuegos de IPv4 y actualmente debe configurarse mediante la CLI ("establecer el nombre de ipv6 del cortafuegos...", etc.). O el árbol de configuración en la interfaz de usuario web, por lo que deberá crear reglas de IPv6 por separado y aplicarlas a la interfaz/dirección adecuada.
Primero, es importante que configuremos el firewall ya que la política predeterminada es "aceptar" y sus clientes de LAN tendrán IP enrutables.
En comparación con nuestras reglas de firewall IPv4, hay una diferencia importante: debemos permitir ICMPv6 y DHCP para que DHCPv6-PD funcione.
- Cree una política para clientes WAN->LAN:
edit firewall ipv6-name WAN6_IN
set default-action dropset rule 10 action accept
set rule 10 description "allow established"
set rule 10 protocol all
set rule 10 state established enable
set rule 10 state related enableset rule 20 action drop
set rule 20 description "drop invalid packets"
set rule 20 protocol all
set rule 20 state invalid enableset rule 30 action accept
set rule 30 description "allow ICMPv6"
set rule 30 protocol icmpv6
top
- Ahora cree una política para WAN->Router (también conocido como local):
edit firewall ipv6-name WAN6_LOCAL
set default-action dropset rule 10 action accept
set rule 10 description "allow established"
set rule 10 protocol all
set rule 10 state established enable
set rule 10 state related enableset rule 20 action drop
set rule 20 description "drop invalid packets"
set rule 20 protocol all
set rule 20 state invalid enableset rule 30 action accept
set rule 30 description "allow ICMPv6"
set rule 30 protocol icmpv6set rule 40 action accept
set rule 40 description "allow DHCPv6 client/server"
set rule 40 destination port 546
set rule 40 source port 547
set rule 40 protocol udp
top
- Ahora adjunte las políticas a su interfaz WAN:
set interfaces ethernet eth1 firewall in ipv6-name WAN6_IN
set interfaces ethernet eth1 firewall local ipv6-name WAN6_LOCAL
- Ahora solicitaremos direcciones IPv6 a nuestro ISP. Es posible que deba descubrir manualmente la longitud del prefijo que proporciona su ISP. Las dos longitudes más comunes son /56 y /64.
Nota: Usaremos SLAAC (Configuración automática de direcciones sin estado) en lugar de DHCP con estado (que es como funciona DHCP IPv4).
edit interfaces ethernet eth1
set dhcpv6-pd pd 0 prefix-length /64
set dhcpv6-pd pd 0 interface eth0 host-address ::1
set dhcpv6-pd pd 0 interface eth0 prefix-id :0
set dhcpv6-pd pd 0 interface eth0 service slaac
top
En resumen, le estamos diciendo a eth1 (WAN) que proporcione delegación de prefijo a eth0 (LAN). Si también está usando eth2 para un segundo puerto LAN, necesitará usar el prefijo-id:1 para esa interfaz.
Para cualquiera que use vlans, lo siguiente también funciona:
set interfaces ethernet eth2 vif 17 ipv6 router-advert prefix ::/64
-
Para hacerlo vía GUI. No lo recomiendo.
-
Información
Este cortafuegos básico permite a los usuarios hacer ping a un dispositivo IPv6 desde Internet. El resto del tráfico hacia el dispositivo está bloqueado (acción por defecto drop).
set firewall ipv6-name ipv6-fw default-action drop
set firewall ipv6-name ipv6-fw description 'IPv6 firewall'
set firewall ipv6-name ipv6-fw rule 1 action accept
set firewall ipv6-name ipv6-fw rule 1 log disable
set firewall ipv6-name ipv6-fw rule 1 protocol icmpv6
set firewall ipv6-name ipv6-fw rule 1 description 'allow ICMPv6 traffic'
set firewall ipv6-name ipv6-fw rule 10 action accept
set firewall ipv6-name ipv6-fw rule 10 state established enable
set firewall ipv6-name ipv6-fw rule 10 state related enable
set firewall ipv6-name ipv6-fw rule 4 action accept
set firewall ipv6-name ipv6-fw rule 4 description 'allow access to host x'
set firewall ipv6-name ipv6-fw rule 4 destination address '2001:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxx
set load-balance group LB-GROUP interface eth3 failover-only
set load-balance group LB-GROUP interface eth3 route-test initial-delay 60
set load-balance group LB-GROUP interface eth3 route-test interval 10
set load-balance group LB-GROUP interface eth3 route-test type ping target 1.1.1.1
set load-balance group LB-GROUP interface pppoe0 route-test initial-delay 60
set load-balance group LB-GROUP interface pppoe0 route-test interval 10
set load-balance group LB-GROUP interface pppoe0 route-test type ping target 1.1.1.1
set load-balance group LB-GROUP lb-local enable
set load-balance group LB-GROUP lb-local-metric-change disable
NAT (Network Address Translation) es una técnica utilizada en redes informáticas para permitir que varios dispositivos en una red privada se conecten a Internet utilizando una dirección IP pública única. NAT traduce las direcciones IP privadas de los dispositivos en la red privada en una dirección IP pública antes de enviar los paquetes a Internet y viceversa, cuando los paquetes regresan a la red privada.
Las reglas NAT de origen se pueden utilizar para muchas aplicaciones diferentes. Un uso popular de NAT Masquerade es traducir un rango de direcciones privadas a una única dirección IP pública. Esto permite que los hosts detrás de EdgeRouter se comuniquen con otros dispositivos en Internet.
En la GUI se configura en: Firewall/NAT > NAT > Add Source NAT Rule
Masquerade Rule Masquerade, también conocido como NAT de muchos a uno, PAT o sobrecarga de NAT. Un uso popular de NAT Masquerade es traducir un rango de direcciones privadas a una única dirección IP pública.
set service nat rule 5010 description 'masquerade for WAN'
set service nat rule 5000 log disable
set service nat rule 5010 outbound-interface eth0
set service nat rule 5010 type masquerade
set service nat rule 5010 protocol all
Source NAT rule Source NAT se usa para proporcionar una traducción 1:1
set service nat rule 5000 description 'source NAT for 192.168.1.10'
set service nat rule 5000 outbound-interface eth0
set service nat rule 5000 type source
set service nat rule 5000 protocol all
set service nat rule 5000 outside-address address 203.0.113.2
set service nat rule 5000 source address 192.168.1.10
EL destination NAT y el Port Forwarding tienen el mismo propósito y se pueden usar para reenviar puertos a un host interno detrás de NAT. Destination NAT, también conocido como DNAT, es otra variante de NAT en la que se utiliza una dirección IP pública única para traducir las direcciones IP de destino de los paquetes que se envían desde Internet hacia la red privada.
En la GUI se configura en: Firewall / NAT > NAT > +Add Destination NAT Rule
set service nat rule 1 description https443
set service nat rule 1 destination address 203.0.113.1
set service nat rule 1 destination port 443
set service nat rule 1 inbound-interface eth0
set service nat rule 1 inside-address address 192.168.1.10
set service nat rule 1 inside-address port 443
set service nat rule 1 log disable
set service nat rule 1 protocol tcp
set service nat rule 1 type destination
Las reglas de firewall y NAT coinciden en orden de preferencia. Las reglas con un ID más bajo se comparan antes que las reglas con un ID más alto.
NAT y firewall se pueden reordenar desde la CLI usando el comando de cambio de nombre . Siga los pasos a continuación para reordenar las reglas: CLI: acceda a la interfaz de línea de comandos. Puede hacerlo usando el botón CLI en la GUI o usando un programa como PuTTY.
Para las reglas de firewall, edite el subárbol de configuración de firewall específico para cambiar el número de regla:
configure
edit firewall name <name>
rename rule 10 to rule 20
exit
commit ; save
Para las reglas de NAT, edite el subárbol de configuración de NAT para cambiar el número de regla:
configure
edit service nat
rename rule 5010 to rule 5020
exit
commit ; save
NOTE: La CLI también le permite cambiar el nombre de las reglas de firewall modificadas que se usan para el enrutamiento basado en políticas y el equilibrio de carga.
GUI: acceda a la interfaz de usuario web de EdgeRouter .
- Navegue a la pestaña Firewall/NAT para modificar la política de firewall existente.
Cortafuegos/NAT > Políticas de cortafuegos > Nombre de la política > Acciones > Editar
- Arrastre y reordene las reglas del cortafuegos en el orden deseado.
- Guarde el nuevo orden de reglas.
Las reglas NAT se reordenan utilizando un método muy similar. Navegue a la pestaña Firewall/NAT > NAT y arrastre las reglas al orden deseado. Finalmente guarde el nuevo orden de reglas.
Seleccione las interfaces WAN y LAN que se utilizarán para el reenvío de puertos.
- Pueden realizar el procedimiento mediante la GUI o mediante CLI.
- Mediante CLI: Firewall/NAT > Port Forwarding
configure
set port-forward auto-firewall enable
set port-forward hairpin-nat enable
set port-forward wan-interface eth0
set port-forward lan-interface eth1
set port-forward rule 1 description https
set port-forward rule 1 forward-to address 192.168.1.10
set port-forward rule 1 forward-to port 443
set port-forward rule 1 original-port 443
set port-forward rule 1 protocol tcp
commit ; save
Para aquellos de ustedes que desean usar la GUI para habilitar/deshabilitar ICMP en una de sus interfaces WAN de EdgeRouter.
- inicie sesión en su EdgeRouter.
- haga clic en la pestaña
Firewall/NAT
. - haga clic en la pestaña
Firewall Policies
. - localice el conjunto de reglas llamado
WAN_LOCAL
, aquí es donde permitiremos hacer ping. edite el conjunto de reglas. - haga clic en el botón
Agregar nueva regla
. Aquí es donde agrega una nueva regla. - En la descripción, coloque algo como Permitir ping o denegar ping.
- En
Acción
, haga clic en Aceptar o Denegar. - En Protocolo, seleccione Elija un protocolo por nombre y luego seleccione
icmp
en el menú desplegable. - Haga clic en la pestaña Destino y luego seleccione su Interfaz WAN del menú desplegable Dirección de interfaz.
- Haga clic en Guardar
Ahora su EdgeRouter responderá/denegará a las solicitudes de ping en la interfaz WAN que seleccionó.
Para otros que utilizan este método, también ayuda especificar más el tipo de ICMP dentro de la regla. El método GUI no tiene esta opción cuando establece la regla. Sin embargo, es fácil agregarlo en la pestaña Árbol de configuración
.
- Haga clic en la pestaña
Árbol de configuración
- Debajo del panel
Configuración
a la izquierda, expanda el nodofirewall
, expanda el nodonombre
, expanda el nodo deWAN_LOCAL
(donde hayan creado la regla icmp) y expanda el nodo deregla
. - Una vez expanda el nodo
regla
, expanda la regla que hayan creado la regla ICMP. (cualquiera que sea el último, que debería ser la regla que acaba de establecer) - Una vez sepan la regla buscar el apartado
icmp
. - Ingrese el número de tipo de icmp como el valor de
tipo
. - Haga clic en Vista previa y haga clic en Aplicar en el cuadro de diálogo de configuración emergente.
set firewall name WAN_LOCAL rule 21 icmp type 8
En la siguiente tabla aparece una recopilación de los tipos de paquetes más importantes basados en el Internet Control Message Protocol:
Tipo ICMP | Tipo ICMPv6 | Nombre del tipo | Descripción |
---|---|---|---|
0 | 129 | Echo Reply | Respuesta a un ping de red para comprobar la accesibilidad |
3 | 1 | Destination Unreachable | Mensaje ICMP que informa acerca de, por ejemplo, la accesibilidad de red de los componentes del campo “Código” (red, protocolo, puerto, host), sobre problemas de enrutamiento o sobre el bloqueo por parte de los cortafuegos |
5 | 137 | Redirect Message | Mensaje sobre el redireccionamiento de un paquete para la red indicada (0), para el host escogido (1), para el servicio especificado y para la red (2) o para el servicio y host especificados (3) |
8 | 128 | Echo Request | Ping de red |
9 | 134 | Router Advertisement | Lo utilizan los routers para informarse acerca de los diferentes clientes de red |
11 | 3 | Time Exceeded | Informe de estado que o bien indica que el tiempo de vida (Time to Live, TTL) de un paquete (0) o el tiempo de espera para el ensamblaje de paquetes IP (1) ha expirado |
13 | 13 | Timestamp | Dota al paquete IP de una marca de tiempo que se corresponde con el momento del envío y que es de utilidad para la sincronización de dos ordenadores |
14 | - | Timestamp Reply | Mensaje de respuesta a una petición de marca de tiempo enviado por el destinatario tras la recepción de la misma |
30 | - | Traceroute | Tipo de mensaje ICMP obsoleto que se utilizaba para el seguimiento de la ruta de un paquete de datos en la red. Hoy en día se utilizan “Echo Request” y “Echo Reply” para estos fines |
En este punto vamos habilitar el Protocolo de Descubrimiento de Capa de Enlace (LLDP) en las interfaces de EdgeRouter.
En el EdgeRouter, es tan sencillo como entrar por cli, de esta forma lo habilitamos para todos los interfaces de red
configure
set service lldp interface all
commit ; save
O si queremos en algun interface concreto
configuration
set service lldp interface ethX
commit ; save
Estos procediminetos son muy extensos y para que el README no sea muy extenso, añado el enlace a la web donde se configura. Están muy bien explicados y redactados.
Acabo de comprar un punto de acceso WiFi y lo conecté a eth3. Esta red no está etiquetada y se usa para que el AP se conecte a su controlador si es necesario. Es solo para fines administrativos y no fluirá tráfico real en esta red.
set interfaces ethernet eth3 poe output 24v
set interfaces ethernet eth3 address 192.168.20.1/24
set interfaces ethernet eth3 description "WIFI AP management"
set service dhcp-server shared-network-name vlan20 subnet 192.168.20.1/24 default-router 192.168.20.1
set service dhcp-server shared-network-name vlan20 subnet 192.168.20.1/24 dns-server 192.168.20.1
set service dhcp-server shared-network-name vlan20 subnet 192.168.20.1/24 start 192.168.20.10 stop 192.168.20.100
set service dhcp-server shared-network-name vlan20 subnet 192.168.20.1/24 unifi-controller 192.168.100.10
set service dns forwarding listen-on eth3
Ahora creamos un par de redes que deben transmitirse en el AP. Planeo usar vlan 30 como red confiable y vlan 40 como red de invitados. El tráfico a estas dos redes se envía como tráfico etiquetado al AP. El AP se encargará de colocar cada VLAN en su propio SSID.
set interfaces ethernet eth3 vif 30 address 192.168.30.1/24
set interfaces ethernet eth3 vif 30 description "WIFI trusted"
set service dhcp-server shared-network-name vlan30 subnet 192.168.30.1/24 default-router 192.168.30.1
set service dhcp-server shared-network-name vlan30 subnet 192.168.30.1/24 dns-server 192.168.30.1
set service dhcp-server shared-network-name vlan30 subnet 192.168.30.1/24 start 192.168.30.10 stop 192.168.30.100
set service dns forwarding listen-on eth3.30
set interfaces ethernet eth3 vif 40 address 192.168.40.1/24
set interfaces ethernet eth3 vif 40 description "WIFI guest"
set service dhcp-server shared-network-name vlan40 subnet 192.168.40.1/24 default-router 192.168.40.1
set service dhcp-server shared-network-name vlan40 subnet 192.168.40.1/24 dns-server 192.168.40.1
set service dhcp-server shared-network-name vlan40 subnet 192.168.40.1/24 start 192.168.40.10 stop 192.168.40.100
set service dns forwarding listen-on eth3.40
Recordar que los pasos aquí expuestos son orientativos. Solo mira esto como un ejemplo y utilízalos como una guía, ya que la configuración de vuestra red puede diferir con la de aquí expuesta. Pudiendo causar un mal funcionamiento de vuestra red. Las redes podrían haberse creado en cualquier interfaz para cualquier tipo de propósito, con o sin etiquetas.
Recomiendo su lectura y compresión antes de aplicarlo sobre un entorno de producción.
Ahora que tenemos un par de redes, el objetivo es aislar algunas de ellas. Como ejemplo, nos aseguraremos de que la red invitada (vlan 40)
pueda conectarse a Internet, pero bajo ninguna circunstancia conectarse a nuestras otras redes internas, por ejemplo, vlan 30
. Hacemos esto haciendo algunas reglas de propósito general que pueden ser reutilizadas si decidimos hacer otras redes protegidas.
El primer conjunto de reglas permite que todo el tráfico ingrese a través de la interfaz, excepto las nuevas conexiones a nuestras redes internas (192.168.0.0/16).
set firewall name PROTECT_IN default-action accept
set firewall name PROTECT_IN rule 10 action drop
set firewall name PROTECT_IN rule 10 description "Drop new connecions to LAN"
set firewall name PROTECT_IN rule 10 destination address 192.168.0.0/16
set firewall name PROTECT_IN rule 10 state new enable
set firewall name PROTECT_IN rule 10 protocol all
Nuevamente, necesitamos crear un conjunto de reglas que elimine todo lo destinado a la interfaz, excepto DNS y DHCP.
set firewall name PROTECT_LOCAL default-action drop
set firewall name PROTECT_LOCAL rule 10 action accept
set firewall name PROTECT_LOCAL rule 10 description "Allow DNS"
set firewall name PROTECT_LOCAL rule 10 destination port 53
set firewall name PROTECT_LOCAL rule 10 protocol udp
set firewall name PROTECT_LOCAL rule 20 action accept
set firewall name PROTECT_LOCAL rule 20 description "Accept DHCP"
set firewall name PROTECT_LOCAL rule 20 destination port 67
set firewall name PROTECT_LOCAL rule 20 protocol udp
Ahora solo necesitamos vincular estos conjuntos de reglas generales a nuestra interfaz vlan de invitados. – o cualquier otra interfaz que no queramos conectar a nuestra red interna.
set interfaces ethernet eth3 vif 40 firewall in name PROTECT_IN
set interfaces ethernet eth3 vif 40 firewall local name PROTECT_LOCAL
configure
set interfaces ethernet eth1 description LAN
set interfaces ethernet eth1 address 192.168.1.1/24
set service dhcp-server disabled false
set service dhcp-server shared-network-name LAN authoritative enable
set service dhcp-server shared-network-name LAN subnet 192.168.1.0/24 default-router 192.168.1.1
set service dhcp-server shared-network-name LAN subnet 192.168.1.0/24 dns-server 192.168.1.1
set service dhcp-server shared-network-name LAN subnet 192.168.1.0/24 lease 86400
set service dhcp-server shared-network-name LAN subnet 192.168.1.0/24 start 192.168.1.38 stop 192.168.1.243
set service dns forwarding listen-on eth3
commit ; save
Lo primero es acceder a la web de gestión a la web de gestion del router. Una vez dentro en tramos en la pestaña Services
y después en la sub-pestaña DHCP Server
. Aquí se podrán ver los servicios DHCP
que tenemos en marcha, si es la primera este listado estará vacío por lo que pulsamos en el botón + Add DHCP Server
.
Nos aparecerá un formulario que deberemos rellenar con los datos adecuados a nuestras necesidades.
DHCP Name
: Podremos darle un nombre al servicio pero eso si, no se pueden utilizar espacios.
Subnet
: Definimos la subred que ya tengamos configurada en alguna interfaz de nuestro router.
Range Start
: metemos la dirección IP por la que empezara el rango que queremos que sirva nuestro DHCP.
Range Stop
: la dirección IP fin del rango de direcciones a repartir.
Router
: Este sería el Gateway, es decir, la salida a otras redes de nuestra LAN, ya sea internet o aotras redes.
DNS 1
: Dirección IP del servidor DNS primario.
DNS 2
:: Dirección IP del servidor DNS secundario.
:Enable
:* Marcamos este checkbox para que una vez pulsemos el botón Save, se guarde la configuración y esta empiece a funcionar. Si no lo marcamos, la configuración se guardará pero esta no estará habilitada, así que el servicio no empezara a repartir direcciones IP.
Por ultimo pulsamos en el botón Save
. Desde ese mismo momento cualquier dispositivo que se conecte a la red de nuestro router y solicite una dirección IP, el servicio que acabamos de configurar le asignara una del rango predefinido.
Ahora que está en marcha podemos interactuar con el servicio pudiendo cambiar su configuración o viendo el estado de asignaciones (leases)
de direcciones IP.
Para ello en basta con pulsar en el menú desplegable Actions
y después en View Details
.
Se nos cargara las características del servicio pudiendo cambiarlas si es que lo deseamos. También aparecerá un resumen del estado del servicio, como la cantidad de IPs tiene de para repartir, cuantas estas asignadas, cuantas dispone para repartir etc.
También hay opción de asignar una dirección del rango de manera estática a un dispositivo de nuestra red. Bastara con pulsar en Create New Mapping
y asignar un IP del rango a la dirección MAC del dispositivo.
En la pestaña Leases
nos encontraremos con aquellas direcciones que ya están asignadas a algún dispositivo. Pudiendo ver cuánto tiempo les queda de asignación y pudiendo asignar de manera estática la IP que ya tienen asignada.
- Vía CLI:
show dhcp leases
muestre la dirección IP, la dirección MAC, el grupo y el nombre del cliente
set service dhcp-server shared-network-name MGMT-VLAN subnet 10.10.99.0/24 static-mapping cgn-monitor ip-address 10.10.99.11
set service dhcp-server shared-network-name MGMT-VLAN subnet 10.10.99.0/24 static-mapping cgn-monitor mac-address '52:54:xx:xx:xx:xx'
El router también puede actuar como un conmutador. Aquí hay un ejemplo:
set interfaces switch switch0 address 172.22.1.1/24
set interfaces switch switch0 mtu 1500
set interfaces switch switch0 switch-port interface eth2
set interfaces switch switch0 switch-port interface eth3
set interfaces switch switch0 switch-port interface eth4
set interfaces switch switch0 switch-port vlan-aware disable
Mediante interfaz GUI:
- Estando dentro de la web de gestión entramos en la pestaña
Service
y a continuación enDNS
. Por ultimo en la sección Dynamic DNS pulsamos el botón+ Add DDNS Interface
. - Se cargará un formulario vació que deberemos rellenar con los datos adecuados:
Interface:
Aquí hay que seleccionar la interfaz en la que está configurada nuestra IP pública.Service:
En el menú desplegable hay varios servicios ya pre-configurados, pero entre ellos al no estar DuckDNS optamos por la opción custom.Hostname:
Aquí hay que meter el subdominio DuckDNS que queremos asignar a nuestro router. Solamente el subdominio, no hace falta meter .duckdns.org
Login:
poniendo nouser servirá, ya que nos identificaremos mediante nuestro Token.Password:
Aquí deberemos introducir el Token de nuestra cuenta dyndns2.Protocol:
Seleccionamos el protocolo.Server:
por último metemos la url del servidor de DuckDNS, www.duckdns.org.- Para terminar pulsamos en Apply para guardar todo lo que hemos metido.
Mediante interfaz CLI:
Esto podemos realizarlo conectando al router mediante el protocolo SSH o usando el intérprete CLI incorporado en la propia web de gestión. En todo caso ya sea mediante un método u otro, deberemos iniciar sesión utilizando las mismas credenciales que usamos para acceder vía web.
- Accedemos por ssh o cli web.
- Configuramos lo siguiente y con atención: :warning: ATENCIÓN: Teneis que cambiar el "SUBDMIONIO", "TOKEN" y la "INTERFAZ".
configure
set service dns dynamic interface INTERFAZ service custom-duckdns
set service dns dynamic interface INTERFAZ service custom-duckdns host-name SUBDMIONIO
set service dns dynamic interface INTERFAZ service custom-duckdns login nouser
set service dns dynamic interface INTERFAZ service custom-duckdns password TOKEN
set service dns dynamic interface INTERFAZ service custom-duckdns protocol dyndns2
set service dns dynamic interface INTERFAZ service custom-duckdns server www.duckdns.org
commit ; save
- Periódicamente el router ira actualizando nuestra IP pública en el DNS de DuckDNS. En caso de querer forzar la actualización, se puede realizar lanzando el siguiente comando.
update dns dynamic interface INTERFAZ
show dns dynamic status
interface : INTERFAZ
ip address : xxx.xxx.xxx.xxx
host-name : SUBDOMINIO
last update : Tue Jun 23 16:28:09 2024
update-status: good
Si en el apartado update-status:
vemos que aparece good
es que todo está funcionando perfectamente.
Mediante interfaz CLI: Configuración de un servicio de DNS dinámico personalizado
En este ejemplo, se utiliza el servicio DNS dinámico de Cloudflare.
Antes de comenzar a configurar, vamos a configurar primero el panel de Cloudflare: 1. Creamos en el panel de/dns/records
creamos un subdominio que usaremos. En IP usar por ejemplo la localhost, luego Cloudflare la actualizará.
- Creamos un Token API, tomen ejemplo de la imagen. Para acceder es en
/profile/api-tokens
- Para la password de configuración se usa la Global KEY.
- Ingrese al modo de configuración.
configure
- Configure el nombre de host de DNS dinámico.
set service dns dynamic interface pppoe0 service custom-cloudflare host-name subdomain.domain.com
- Defina las credenciales de DNS dinámico.
set service dns dynamic interface pppoe0 service custom-cloudflare login user@domain.com
set service dns dynamic interface pppoe0 service custom-cloudflare password your_cloudflare_global_API_key
NOTA: La clave API de Cloudflare se utiliza en Ubiquiti la Global KEY. Esta clave se puede encontrar en su perfil de Cloudflare indicado anteriormente.
- Defina el protocolo DNS dinámico y el servidor a conectar.
set service dns dynamic interface pppoe0 service custom-cloudflare protocol cloudflare
set service dns dynamic interface pppoe0 service custom-cloudflare server api.cloudflare.com/client/v4/
- Especifique un nombre de dominio para la zona de Cloudflare.
set service dns dynamic interface pppoe0 service custom-cloudflare options zone=domain.com
Si desea establecer múltiples opciones, debe usar comillas dobles. Ejemplo:
"zone=yourdomain.com use=web ssl=yes ttl=1"
Si desea establecer opciones y no saben el significado, acceder al siguiente link:
NOTA: Si se establece un subdominio, también debe existir en el portal de Cloudflare. El comando anterior solo actualizará un dominio existente.
- Confirme los cambios y guarde la configuración.
commit ; save
La versión actual de ddclient es v3.8.3 (para Edge Router 4 con firmware [v2.0.9](https://ui.com/download/edgemax)). Esta versión anterior de ddclient no funciona con los nuevos tokens de API de cloudflare, por lo que debe usar el token de clave de API global anterior en su lugar.
Las versiones v3.9.x de ddclient deberían funcionar con los tokens api más nuevos, así que verifique cuál es la versión de ddclient que usa su firmware:
/usr/sbin/ddclient --version
Puede averiguar qué parte del proceso está fallando llamando directamente a ddclient. Para obtener una salida de depuración, use lo siguiente (cambie el nombre del archivo conf para que coincida con la interfaz que está usando, por ejemplo, eth0 o pppoe0, etc.):
sudo /usr/sbin/ddclient -daemon=0 -debug -verbose -noquiet -file /etc/ddclient/ddclient_eth0.conf
Puede editar su ddclient.conf con el comando siguiente: (cambiar la interfaz que esté usando):
sudo vi /etc/ddclient/ddclient_eth0.conf
Esto facilitará probar diferentes configuraciones y solucionar su problema. Si no está usando su nueva configuración, intente eliminar el archivo de caché, por ejemplo sudo rm /var/cache/ddclient/ddclient_eth0.cache
(recuerde cambiar el nombre del archivo para que coincida con su interfaz nuevamente).
Una vez que lo tengas funcionando, actualiza tu configuración con update dns dynamic interface eth0
y comprobar de nuevo show dns dynamic status
En versiones de firmware más antiguas (anteriores a la v1.10.5), o para algunos proveedores (p. ej., Google Domains), también es necesario especificar la dirección del servidor remoto mediante el siguiente comando.
- Especifique el servidor remoto.
set service dns dynamic interface pppoe0 service custom-cloudflare server api.cloudflare.com/client/v4/
Puede verificar el estado y forzar una actualización del servicio DNS dinámico usando los siguientes comandos:
show dns dynamic status
update dns dynamic interface <interface-name>
Ejemplo de salida del comando show dns dynamic status
:
NOTA: Los servidores pueden tardar algún tiempo en actualizarse y resolver el nombre de host en la dirección correcta.
Agregar listas de seguridad al firewall es una práctica común para mejorar la seguridad de un sistema informático. Una lista de seguridad es un conjunto de reglas que se configuran en el firewall para controlar el acceso a recursos del sistema o a la red. Estas reglas permiten o bloquean el tráfico entrante o saliente en función de ciertas condiciones, como la dirección IP de origen, el protocolo utilizado, el puerto de origen o destino, entre otros.
La configuración de una lista de seguridad puede ayudar a prevenir ataques maliciosos, como el acceso no autorizado a recursos del sistema, la propagación de malware o la denegación de servicio.
Antes de crear el script, asegurar que lista van a escoger, si IPv4
o IPv6
. Una vez sepan que lista, escoger el script correspondiente:
IPv4.sh:
IPv6.sh:
- Creamos un nuevo grupo y modificamos nombre de grupo.
Para ver los grupos que tenemos: show firewall group network-group
.
set firewall group network-group SPAMHAUS_DROP
commit
- Para añadir la regla en el firewall, modificamos el número de regla y cambiamos el
network-group
con el nombre del grupo creado.
Para ver la regla y el orden: show firewall name WAN_IN
.
set firewall name WAN_IN rule 10 source group network-group SPAMHAUS_DROP
set firewall name WAN_IN rule 10 description "networks to drop from spamhaus.org list"
set firewall name WAN_IN rule 10 action drop
set firewall name WAN_IN rule 10 state established enable
set firewall name WAN_IN rule 10 state new enable
set firewall name WAN_IN rule 10 state related enable
set firewall name WAN_IN rule 10 log enable
set firewall name WAN_IN rule 10 protocol all
commit ; save
Importante, deshabilitamos el `auto-firewall` del port forwarding
configure
set port-forward auto-firewall disable
commit ; save
El auto-firewall
del port forwarding
anula el cortafuegos real, por lo que establece reglas de permiso para esos puertos.
Modificamos en el script el nombre de los argumentos: NETGROUP
, con el nombre del grupo creado.
Las listas a añadir tienen que tener formato .raw
o .txt
.
EDIT: Crear el script en
/config/scripts/post-config.d
mejor que en/config/scripts/
porque después de un reinicio el grupo de firewall volverá a estar vacío, pero si el script está en ese directorio/config/scripts/post-config.d
, se ejecutará automáticamente después del arranque.
sudo vi /config/scripts/post-config.d/update-spamhaus
- Ahora pegan el scrip escogido en el punto:
^ Escoger script a utilizar ^
Importante sustituir las listas si son IPv4
o si son IPv6
, en los siguientes ejemplos son IPv4
.
El comando VI del equipo no está completo, por lo que para guardar, utilizar ZZ
o :wq
sudo chmod +x /config/scripts/post-config.d/update-spamhaus
EJECUTAR:
sudo /config/scripts/post-config.d/update-spamhaus
No pensar que se ha quedado bloqueado al insertar el comando, tarda un poco si la lista es muy grande.
Resultado:
Added 561 entries to SPAMHAUS_DROP
OPCIÓN 1:
set system task-scheduler {task update_spamhaus {crontab-spec "00 12 * * *"ejecutable {path /config/scripts/post-config.d/update-spamhaus}
set system task-scheduler SPAMHAUS {crontab-spec "00 24 * * *" executable {path /config/scripts/post-config.d/update-spamhaus}}
OPCIÓN 2:
Simplemente agregue el script al programador de tareas tal como está, cambiando el nombre del task y el path de su script:
set system task-scheduler task update-spamhaus executable path /config/scripts/post-config.d/update-spamhaus
- Las tareas se programan en horas:
24h,48h...
set system task-scheduler task update-spamhaus interval 24h
- Ajustes de
system task-scheduler interval
minutes
Execution interval in minutes
minutes m
Execution interval in minutes
hours h
Execution interval in hours
days d
Execution interval in days
--> Despues vemos las tareas
show system task-scheduler
Buenas prácticas para un correcto funcionamiento del firewall:
- Coloque la regla spamhaus en primer lugar en WAN_IN y WAN_LOCAL (es decir, antes de la regla de permiso para conexiones establecidas y relacionadas). Esto es para evitar la situación "rara" de que un host interno (por ejemplo, infectado con malware) de alguna manera establezca una conexión con un host listado de spamhaus, dando la oportunidad de usar la conexión establecida para fines de spam.
- Ponga la regla de spamhaus en WAN_OUT, otra vez antes que cualquier otra cosa.
- Hoy noté en mis registros que el WAN_OUT coincidió (y rechazó) con el tráfico saliente a la dirección IP 185.3.135.146 (búsqueda de spamhaus aquí, listado desde el 29/2/2016). Este tráfico se originó en el cliente bittorrent que se ejecuta en mi NAS. No sé si los spammers usan bittorrent para infiltrarse en hosts posiblemente vulnerables, pero lo considero como un paso de protección adicional que funcionó.
- Debería asignar las reglas de firewall solo en el pppoe
Listar
sudo /sbin/ipset list update-spamhaus o sudo /sbin/ipset list -L update-spamhaus
- Sin que muestre las ips:
sudo /sbin/ipset list -t
Comprobar una ip
sudo /sbin/ipset test update-spamhaus 192.168.1.100
Limpiar grupo de IPs
sudo /sbin/ipset flush update-spamhaus
Utilice este comando a través de la CLI para ver las entradas:
show firewall group SPAMHAUS_DROP
Despues vemos las tareas
show system task-scheduler
Ver log
cat /var/log/messages
name WAN_IN {
default-action drop
description "WAN to internal"
enable-default-log
rule 10 {
action drop
description "Networks to drop from spamhaus.org list"
log enable
source {
group {
network-group SPAMHAUS_DROP
}
}
}
.........................
.........................
name WAN_LOCAL {
default-action drop
description "WAN to router"
enable-default-log
rule 10 {
action drop
description "Networks to drop from spamhaus.org list"
log enable
source {
group {
network-group SPAMHAUS_DROP
}
}
}
.........................
.........................
name WAN_OUT {
default-action accept
description "WAN OUT firewall rules"
rule 10 {
action reject
description "Networks to drop from spamhaus.org list"
destination {
group {
network-group SPAMHAUS_DROP
}
}
log enable
}
ethernet eth1 {
description "Internet (PPPoE)"
duplex auto
firewall {
in {
name WAN_IN
}
local {
name WAN_LOCAL
}
}
pppoe 0 {
default-route auto
firewall {
in {
name WAN_IN
}
local {
name WAN_LOCAL
}
}
He creado un script para poder informar al telegram de las IPs bloqueadas por una regla desde el log.
Modificar en el script la WAN con la regla a buscar y añadir vuestro ID CHAT y token del bot.
El script pueden descargarlo o verlo desde la carpeta del repositorio en este enlace:
Tambien he dejado la consulta con AbuseIPDB.
Ejemplo:
Tengo un pequeño servidor web ejecutándose dentro de mi red en el puerto 55555. Solo quiero que mis amigos puedan acceder a él. Sé que viven en Dinamarca, Noruega y Suecia. Quiero asegurarme de que China, Rusia y otras partes del mundo no tengan acceso, para minimizar el riesgo de explotar los días cero en mi servidor.
Esta es la configuración que agrego:
set firewall group network-group countries_allowed description 'Allowed countries'
set firewall group network-group countries_allowed network 10.254.254.254/31
set service nat rule 10 description 'My funny dmz server'
set service nat rule 10 destination group address-group ADDRv4_eth0
set service nat rule 10 destination port 55555
set service nat rule 10 inbound-interface eth0
set service nat rule 10 inside-address address 192.168.xxx.xxx
set service nat rule 10 inside-address port 55555
set service nat rule 10 protocol tcp
set firewall name WAN_IN rule 20 action accept
set firewall name WAN_IN rule 20 description 'My funny dmz server'
set firewall name WAN_IN rule 20 destination port 55555
set firewall name WAN_IN rule 20 protocol tcp
set firewall name WAN_IN rule 20 source group network-group countries_allowed
commit
Esto básicamente hace lo siguiente:
- Crea un grupo de red que será un marcador de posición para todas las subredes a las que quiero permitir el acceso a mi servidor. Solo agrego una regla, que estará allí cuando se inicie Edgerouter. Eso significa que todo (excepto una IP arbitraria/aleatoria
10.254.254.254
) está bloqueado hasta que las reglas reales del país se carguen más tarde. - Luego crea una regla de reenvío NAT que reenvía todo el tráfico al puerto
55555
que ingresa en mi interfaz externa (eth0
) a mi servidor interno - Permite el tráfico a mi servidor en el cortafuegos si el tráfico se origina en mi grupo de red "countries_allowed"
Ahora creo un archivo de script "/config/scripts/post-config.d/country-load
" (chmod 755
):
#!/bin/bash
countryList="dk no se"
firewallGroupName=countries_allowed
#mkdir /config/zonefiles
function loadcountry () {
firewallGroupName=$1
country=$2
echo "Downloading country definition for $country..." >> /var/log/alex
wget http://www.ipdeny.com/ipblocks/data/countries/${country}.zone -O /config/zonefiles/${country}.zone -q
echo "Adding rules to firewall group $firewallGroupName..." >> /var/log/alex
for rule in `cat /config/zonefiles/${country}.zone`; do
ipset add $firewallGroupName $rule
done
}
ipset -F $firewallGroupName
for country in $countryList; do
loadcountry $firewallGroupName $country
done
Este script se ejecutará cuando se inicie Edgerouter:
- Recorra la lista de países definidos en la parte superior del script
- Descarga una lista de subredes en cada país
- Agréguelo a la tabla ipset (eso es lo que usa Edgerouter para los grupos de red)
Después de reiniciar el enrutador de borde o ejecutar manualmente el script, puede verificar que realmente tenemos algunas subredes en nuestro grupo de red:
ipset -L countries_allowed
Usando mkcert para crear un certificado CA para localhost.
Opción de ir a la ruta de certificados SSL con Let's Encrypt hay varios diferentes para elegir. Por ejemplo, ubnt-letsencrypt por Jesse Miller
configure
set system static-host-mapping host-name <hostname> inet <ip-of-edgerouter>
commit ; save
Crear certificado
mkcert <ip-of-edgerouter> <hostname>
cat <ip-of-edgerouter>+1-key.pem <ip-of-edgerouter>+1.pem > server.pem
Copia de seguridad del archivo de certificado existente
sudo cp /etc/lighttpd/server.pem /etc/lighttpd/.server-OLD.pem
exit
Copie el nuevo archivo de certificado en la dirección del usuario de su router
scp /path/to/server.pem <user>@<ip-of-edgerouter>:/home/<user>/server.pem
Copiar el nuevo archivo de certificado desde la dirección del usuario y habilitar el certificado
sudo cp /home/<user>/server.pem /etc/lighttpd/server.pem
# Kill webserver service by PID
sudo kill -SIGINT $(cat /var/run/lighttpd.pid)
# Start webserver
sudo /usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf
exit
Comprueba tu conexión con curl Si se hace correctamente, una forma de comprobarlo es utilizar curl. Si obtiene una redirección a un puerto de protocolo SSL, es decir, 443, el certificado está instalado correctamente en su router.
$ curl -I http://<ip-of-edgerouter>/
HTTP/1.1 301 Moved Permanently
Location: https://<ip-of-edgerouter>:443/
Date: Sun, 11 Jan 2015 07:46:13 GMT
Server: Server
Este tutorial describe como configurar un servidor OpenVPN en un EdgeRouter.
Aqui hay una lista con los archivos que necesitas. Puedes usar el Software XCA XCA para eso.
- ca.crt (CA Raíz)
- server.crt (Certificado del Servidor)
- Para prevenir ataques MITM asegúrese de configurar
- Uso de claves X509v3: Firma digital, cifrado de claves
- Uso extendido de claves X509v3: Autenticación de servidor web TLS
- Para prevenir ataques MITM asegúrese de configurar
- server.key (Archivo de claves para el certificado del servidor)
- dh.pem (clave de intercambio de claves Diffie-Hellman; la buena es de 2048 bits)
- revocation-list.crl (Opcional; Lista de revocación de certificados)
Una vez creados los archivos, cópielos todos en /config/auth/
.
Para la configuración del cliente: Asegúrese de que remote-cert-tls server
está activado.
configure
set interfaces openvpn vtun0
set interfaces openvpn vtun0 mode server
set interfaces openvpn vtun0 server name-server 1.1.1.1 # change to your favourite
set interfaces openvpn vtun0 server domain-name example.com # change to your favourite
# set your network
set interfaces openvpn vtun0 server push-route 192.168.178.0/24
# Establece el rango para los clientes openvpn. Los clientes recibirán una dirección IP de esta subred
set interfaces openvpn vtun0 server subnet 192.168.177.0/24
Como se ha descrito anteriormente. Asegúrese de que su clave privada tiene sudo chmod 600
.
set interfaces openvpn vtun0 tls ca-cert-file /config/auth/ca.crt
set interfaces openvpn vtun0 tls cert-file /config/auth/server.crt
set interfaces openvpn vtun0 tls dh-file /config/auth/dh2048.pem
set interfaces openvpn vtun0 tls key-file /config/auth/server.key
# optional: set revocation list
set interfaces openvpn vtun0 tls crl-file /config/auth/revocation-list.crl
set interfaces openvpn vtun0 openvpn-option "--log /var/log/openvpn.log"
set interfaces openvpn vtun0 openvpn-option "--status /var/log/openvpn-status.log"
set interfaces openvpn vtun0 openvpn-option "--verb 7"
No olvides configurar NAT para los clientes openvpn.
set firewall name XXX rule XX action accept
set firewall name XXX rule XX description 'Allow OpenVPN'
set firewall name XXX rule XX destination port 1194
set firewall name XXX rule XX log disable
set firewall name XXX rule XX protocol udp
cd /home/ubnt
curl -OL https://github.com/WireGuard/wireguard-vyatta-ubnt/releases/download/1.0.20220627-1/e300-v2-v1.0.20220627-v1.0.20210914.deb
sudo dpkg -i e300-v2-v1.0.20220627-v1.0.20210914.deb
configure
sudo modprobe wireguard
load
commit ; save
exit
cd /home/ubnt
mkdir -p wireguard/server; cd wireguard/server/
wg genkey | tee private_server.key | wg pubkey > public_server.key
cat private_server.key
cat public_server.key
cd /home/ubnt/wireguard/
mkdir peer1; cd peer1 ## aqui crearas tantos usuarios necesites, cambia el numero por cada cliente que generes.
wg genkey | tee private_peer.key | wg pubkey > public_peer.key
wg genpsk > presharedkey_peer.key
cat private_peer.key
cat public_peer.key
cat presharedkey_peer.key
configure
set interfaces wireguard wg0 private-key /home/ubnt/wireguard/server/private_server.key
set interfaces wireguard wg0 route-allowed-ips true
set interfaces wireguard wg0 listen-port 51820 ## El puerto por defecto de Wireguard, recomendable cambiarlo.
set interfaces wireguard wg0 address 10.10.1.0/24 ## el rango de IP pondremos el que queramos que tengan los clientes que se vayan a conectar y el [CIDR](https://azagramac.gitbook.io/myblog/linux/cidr-mascaras-de-subred).
set interfaces wireguard wg0 peer1 $(cat /home/ubnt/wireguard/peer1/public_peer.key) allowed-ips 10.10.1.10/32 ## Añadimos la public key de cada peer, y le asignamos su IP
set interfaces wireguard wg0 peer1 $(cat /home/ubnt/wireguard/peer1/public_peer.key) endpoint YOUR_DDNS_DOMAIN:51820 ## Ponemos nuestro DDNS y el puerto
set interfaces wireguard wg0 peer1 $(cat /home/ubnt/wireguard/peer1/public_peer.key) description OnePlus ## Ponemos una descripcion
set firewall name WAN_LOCAL rule 20 action accept
set firewall name WAN_LOCAL rule 20 protocol udp
set firewall name WAN_LOCAL rule 20 destination port 51820
set firewall name WAN_LOCAL rule 20 description 'WireGuard'
set firewall name WG_IN default-action drop
set firewall name WG_IN description 'Wireguard to LAN'
set interfaces wireguard wg0 firewall in name WG_IN
set interfaces wireguard wg0 firewall local name WG_LOCAL
commit ; save
vi /home/ubnt/wireguard/peer1/peer.conf
[Interface]
Address = 10.10.1.10
PrivateKey = ## Clave publica del cliente, /home/ubnt/wireguard/peer1/private_peer.key
ListenPort = 51820
DNS = 1.1.1.1,1.0.0.1
[Peer]
PublicKey = ## Clave publica del servidor, /home/ubnt/wireguard/peer1/private_peer.key
PresharedKey = ## Clave preshared del cliente, /home/ubnt/wireguard/peer1/presharedkey_peer.key
Endpoint = YOUR_DDNS_DOMAIN:51820
AllowedIPs = 0.0.0.0/0
Ya tenemos el servidor, y el fichero de configuracion, necesitamos el cliente.
Este tutorial describe cómo configurar el EdgeRouter como Cliente OpenVPN.Usefull links:
- EdgeRouter OpenVPN to Private Internet Access!
- Dedicated Private Internet VLAN and Wireless Network
Primero necesita hacer ssh en su EdgeRouter. A continuación, cree un directorio donde almacenar sus archivos OpenVPN.
sudo su
mkdir -p /config/auth/example
En este ejemplo tengo los siguientes archivos:
- ca.crt (CA raíz)
- client.key (Clave privada del usuario)
- client.crt (Certificado de usuario)
- openvpn-static-key-v1.key (para tls-auth)
- example.ovpn (configuración del cliente OpenVPN (ver más abajo))
Asegúrese de que key.pem
tiene chmod 600
Este archivo puede variar dependiendo de la configuración de su servidor openvpn.
client
dev tun
proto udp
remote YOUR_DOMAIN
resolv-retry infinite
nobind
persist-key
persist-tun
key-direction 1
remote-cert-tls server
auth-nocache
auth SHA512
cipher AES-256-GCM
# files
ca /config/auth/example/ca.crt
cert /config/auth/example/client.crt
key /config/auth/example/key.pem
tls-auth /config/auth/example/openvpn-static-key-v1.key 1
Si ya ha configurado su EdgeRouter como un servidor OpenVPN, entonces usted necesita cambiar la interfaz de red de vtun0
a otra cosa (por ejemplo, vtun1
)
configure
set interfaces openvpn vtun0 description 'example vpn'
set interfaces openvpn vtun0 config-file /config/auth/example/example.ovpn
commit
save
# create a new vlan (VLAN 10)
set interfaces switch switch0 vif 10 address 192.168.40.1/24
set interfaces switch switch0 vif 10 description 'example VLAN'
set interfaces switch switch0 vif 10 mtu 1500
set service dhcp-server shared-network-name EXAMPLE-LAN authoritative disable
set service dhcp-server shared-network-name EXAMPLE-LAN subnet 192.168.40.0/24 default-router 192.168.40.1
set service dhcp-server shared-network-name EXAMPLE-LAN subnet 192.168.40.0/24 dns-server 1.1.1.1
set service dhcp-server shared-network-name EXAMPLE-LAN subnet 192.168.40.0/24 domain-name example.com
set service dhcp-server shared-network-name EXAMPLE-LAN subnet 192.168.40.0/24 lease 86400
set service dhcp-server shared-network-name EXAMPLE-LAN subnet 192.168.40.0/24 start 192.168.40.10 stop 192.168.40.100
# setup NAT
set service nat rule 5020 description NAT-EXAMPLE-VPN
set service nat rule 5020 log disable
set service nat rule 5020 outbound-interface vtun0
set service nat rule 5020 source address 192.168.40.0/24
set service nat rule 5020 type masquerade
# setup routing
set protocols static table 1 interface-route 0.0.0.0/0 next-hop-interface vtun0
set firewall modify VPN_EXAMPLE_ROUTE rule 10 description 'Subnet to VPN'
set firewall modify VPN_EXAMPLE_ROUTE rule 10 source address 192.168.40.0/24
set firewall modify VPN_EXAMPLE_ROUTE rule 10 modify table 1
# apply the firewall route to VLAN 10
set interfaces switch switch0 vif 10 firewall in modify VPN_EXAMPLE_ROUTE
Puede utilizar su router Edge como un servidor proxy para bloquear ciertas categorías, por ejemplo, anuncios o malware.
- SSH en su enrutador Edge.
- Descargue las categorías disponibles. Dependiendo de su dispositivo, esto puede tardar unos minutos (en mi dispositivo tardó unos 100 minutos).
- Actualizar y configurar webproxy
update webproxy blacklists
set service webproxy cache-size 0
set service webproxy default-port 3128
set service webproxy listen-address 172.22.3.1
set service webproxy mem-cache-size 5
set service webproxy url-filtering squidguard block-category ads
set service webproxy url-filtering squidguard block-category porn
set service webproxy url-filtering squidguard default-action allow
set service webproxy url-filtering squidguard redirect-url 'https://brainoftimo.com/not-for-you'
- ads
- adult
- aggressive
- agressif
- arjel
- associations_religieuses
- astrology
- audio-video
- bank
- bitcoin
- blog
- celebrity
- chat
- child
- cleaning
- cooking
- cryptojacking
- dangerous_material
- dating
- ddos
- dialer
- download
- drogue
- drugs
- educational_games
- filehosting
- financial
- forums
- gambling
- games
- hacking
- jobsearch
- lingerie
- liste_blanche
- liste_bu
- local-ok-default
- local-ok-url-default
- malware
- manga
- marketingware
- mixed_adult
- mobile-phone
- phishing
- porn
- press
- proxy
- publicite
- radio
- reaffected
- redirector
- remote-control
- sect
- sexual_education
- shopping
- shortener
- social_networks
- special
- sports
- strict_redirector
- strong_redirector
- translation
- tricheur
- update
- violence
- warez
- webmail
Configure el dispositivo para iniciar sesión en un SYSLOG
Nuestro Servidor Syslog tiene la ip de: 10.10.99.111
Estamos registrando todo: (level debug
) pero puede establecer otro nivel de registro, por ejemplo level err
.
configure
set system syslog global facility all level notice
set system syslog global facility protocols level debug
set system syslog host 10.10.99.111 facility all level debug
commit
save
exit
Una herramienta de diagnóstico de red es un software que permite a los administradores de redes y a los usuarios comunes analizar y solucionar problemas de conectividad en una red informática. Estas herramientas pueden proporcionar información sobre la velocidad y el rendimiento de la red, la disponibilidad de los recursos de red, y la identificación de problemas de configuración o de seguridad.
Test velocidad:
Pagina para comprobar la velocidad de conexión
Test DNS:
Pagina para comprobar las DNS de Cloudflare
Unifi es una plataforma de red desarrollada por Ubiquiti Networks que proporciona soluciones de administración de redes escalables y de alta calidad para pequeñas y medianas empresas, así como para usuarios domésticos avanzados. La plataforma Unifi permite a los usuarios controlar y supervisar de manera centralizada sus redes de acceso, puntos de acceso inalámbricos, cámaras de seguridad, interruptores y otros dispositivos de red mediante una interfaz de usuario intuitiva y fácil de usar. Unifi también ofrece una variedad de características avanzadas, como la capacidad de crear redes de invitados personalizadas, implementar políticas de seguridad, monitorear el rendimiento de la red y administrar dispositivos a través de la nube. En general, Unifi es una solución de red completa y confiable para aquellos que buscan una forma fácil y eficiente de administrar sus redes.
Con esta información puedes configurar un EdgeMax© para sustituir un router neutro. Aquí podrás encontrar todo lo que he conseguido hacer con este router. Los pasos anteriormente explicados están basados en una red que puede diferir de la que tú tienes montada. Si sigues al pie de la letra todos los pasos, pueden no coincidir con la configuración de tu red
y dejarla inservible. Adapta en todo momento la documentación que se ha expuesto para que cuadre con tu red.
Estos archivos/textos se proporcionan "TAL CUAL", sin garantías de ningún tipo, expresas o implícitas, incluidas, entre otras, las garantías de comerciabilidad, idoneidad para un fin determinado y no infracción. En ningún caso los autores o los titulares de los derechos de autor serán responsables de ninguna reclamación, daño u otra responsabilidad derivada de, o relacionada con los archivos o el uso de los mismos.
Todas y cada una de las marcas registradas son propiedad de sus respectivos dueños.