Home Assistant, DuckDNS y Mikrotik ¿un problema?

Buenas Tardes

Tengo un problema con el Mikrotik. Estoy configurando el DuckDNS como add-on en Home Assistant. Anteriormente me funcionaba correctamente, ahora parece que me genera bien el certificado (el add-on agrega un certificado Lets Encrypt además de realizar el DDNS).

Creo que es un problema con los puertos porque en red local me funciona y si hago un ping a mi dirección duckdns desde fuera de la red me funciona bien. Indicar que tengo el router de la compañia (jazztel) con una subred distinta y con DMZ hacía el mikrotik.

Mi configuración es la siguiente:
Código:
# dec/28/2022 12:15:18 by RouterOS 7.1.1
# software id = XXXX-XXXX
#
# model = RouterBOARD 1100Dx4
# serial number = XXXXXXXXXXXX
/interface bridge
add name=bridge-lan
/interface wireguard
add listen-port=EEEEE mtu=1420 name=wireguard-rw
/disk
set sata1 disabled=no
set sata1-part1 disabled=no name=disk1
/interface list
add name=WAN
add name=LAN
/interface lte apn
set [ find default=yes ] ip-type=ipv4
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip pool
add name=pool-lan ranges=192.168.AAA.200-192.168.AAA.254
/ip dhcp-server
add address-pool=pool-lan interface=bridge-lan name=dhcp-lan
/port
set 0 name=serial0
set 1 name=serial1
/routing ospf instance
add name=default-v2
/routing ospf area
add disabled=yes instance=default-v2 name=backbone-v2
/interface bridge port
add bridge=bridge-lan interface=ether2
add bridge=bridge-lan interface=ether3
add bridge=bridge-lan interface=ether4
add bridge=bridge-lan interface=ether5
add bridge=bridge-lan interface=ether6
add bridge=bridge-lan interface=ether7
add bridge=bridge-lan interface=ether8
add bridge=bridge-lan interface=ether9
add bridge=bridge-lan interface=ether10
add bridge=bridge-lan interface=ether11
add bridge=bridge-lan interface=ether12
add bridge=bridge-lan interface=ether13
/ip neighbor discovery-settings
set discover-interface-list=LAN
/ip settings
set max-neighbor-entries=8192
/ipv6 settings
set disable-ipv6=yes max-neighbor-entries=8192
/interface list member
add interface=ether1 list=WAN
add interface=bridge-lan list=LAN
/interface wireguard peers
add allowed-address=192.168.CCC.2/32 comment="USUARIO 1" interface=\
    wireguard-rw public-key="CLAVE-PÚBLICA-USUARIO-1"
add allowed-address=192.168.CCC.3/32 comment="USUARIO 2" interface=\
    wireguard-rw public-key="CLAVE-PÚBLICA-USUARIO-2"
add allowed-address=192.168.CCC.4/32 comment="USUARIO 3" interface=\
    wireguard-rw public-key="CLAVE-PÚBLICA-USUARIO-3"
/ip address
add address=192.168.AAA.1/24 interface=bridge-lan network=192.168.AAA.0
add address=192.168.CCC.1/24 interface=wireguard-rw network=192.168.CCC.0
/ip cloud
set ddns-enabled=yes
/ip dhcp-client
add interface=ether1 use-peer-dns=no
/ip dhcp-server lease
add address=192.168.AAA.4 client-id=xx:xx:xx:xx:xx:xx:xx comment=\
    "Swicth US-8-150W" mac-address=XX:XX:XX:XX:XX:XX server=dhcp-lan
add address=192.168.AAA.6 client-id=xx:xx:xx:xx:xx:xx:xx comment=\
    "AP UAP-AC PRO 2" mac-address=XX:XX:XX:XX:XX:XX server=dhcp-lan
add address=192.168.AAA.5 client-id=xx:xx:xx:xx:xx:xx:xx comment=\
    "AP UAP-AC PRO 1" mac-address=XX:XX:XX:XX:XX:XX server=dhcp-lan
add address=192.168.AAA.8 client-id=xx:xx:xx:xx:xx:xx:xx comment=\
    "Gigaset C530 IP" mac-address=XX:XX:XX:XX:XX:XX server=dhcp-lan
add address=192.168.AAA.3 client-id=xx:xx:xx:xx:xx:xx:xx comment="Swicth US-24" \
    mac-address=XX:XX:XX:XX:XX:XX server=dhcp-lan
add address=192.168.AAA.2 client-id=xx:xx:xx:xx:xx:xx:xx comment=\
    "UniFi Cloud Key" mac-address=XX:XX:XX:XX:XX:XX server=dhcp-lan
add address=192.168.AAA.10 client-id=xx:xx:xx:xx:xx:xx:xx comment=\
    "Home Assistant Server" mac-address=XX:XX:XX:XX:XX:XX server=dhcp-lan
/ip dhcp-server network
add address=192.168.AAA.0/24 domain=lan gateway=192.168.AAA.1
/ip dns
set allow-remote-requests=yes servers=1.1.1.1,8.8.8.8
/ip dns static
add address=192.168.AAA.1 name=router.lan
add address=192.168.BBB.2 name=jazztel.lan
add address=192.168.AAA.2 name=cloud.lan
add address=192.168.AAA.3 name=switch1.lan
add address=192.168.AAA.4 name=switch2.lan
add address=192.168.AAA.5 name=ap1.lan
add address=192.168.AAA.6 name=ap2.lan
add address=192.168.AAA.7 name=ata.lan
add address=192.168.AAA.8 name=giga.lan
/ip firewall address-list
add address=xxxxxxxxxxxx.sn.mynetname.net list=public-ip
/ip firewall filter
add action=accept chain=input comment=\
    "defconf: accept established,related,untracked" connection-state=\
    established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=\
    invalid
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=accept chain=input comment="vpn: allow wireguard-rw" dst-port=EEEEE \
    protocol=udp
add action=accept chain=input comment="vpn: allow access router" src-address=\
    192.168.CCC.0/24
add action=drop chain=input comment="defconf: drop all not coming from LAN" \
    in-interface-list=!LAN
add action=accept chain=forward comment="defconf: accept in ipsec policy" \
    ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" \
    ipsec-policy=out,ipsec
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" \
    connection-state=established,related hw-offload=yes
add action=accept chain=forward comment=\
    "defconf: accept established,related, untracked" connection-state=\
    established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" \
    connection-state=invalid
add action=drop chain=forward comment=\
    "defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat \
    connection-state=new in-interface-list=WAN
/ip firewall nat
add action=masquerade chain=srcnat comment=hairpin-nat dst-address=\
    192.168.AAA.0/24 src-address=192.168.AAA.0/24
add action=masquerade chain=srcnat comment="defconf: masquerade" \
    ipsec-policy=out,none out-interface-list=WAN
add action=dst-nat chain=dstnat comment="Home Assistant" dst-address-list=\
    public-ip dst-port=FFFFF protocol=tcp to-addresses=192.168.AAA.10 to-ports=\
    fffff
/ip service
set telnet disabled=yes
set ftp disabled=yes
set www address=192.168.AAA.0/24,192.168.CCC.0/24
set ssh address=192.168.AAA.0/24,192.168.CCC.0/24
set api disabled=yes
set winbox address=192.168.AAA.0/24,192.168.CCC.0/24
set api-ssl disabled=yes
/system clock
set time-zone-name=Europe/Madrid
/system identity
set name=XXXXXXXXXXXX
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN
 
Mira que se haya actualizado la lista "public-ip" con la IP real pública que se entrega al router que tienes por encima. Si no lo está, ve a IP -> Cloud y pulsa "force update"

El hairpin está bien hecho.

Saludos!
 
Mira que se haya actualizado la lista "public-ip" con la IP real pública que se entrega al router que tienes por encima. Si no lo está, ve a IP -> Cloud y pulsa "force update"

El hairpin está bien hecho.

Saludos!
Buenas @pokoyo

La IP real publica es correcta. He simplificado Home Assistant para que sólo sea entrar por un puerto (fffff) en la dirección (192.186.AAA.10) pero no me funciona. He probado conectado otra dirección (un dispositivo tasmota que tenía) y si funciona. Creo que el problema puede estar en el Home Assistant que no admita la doble nat o algo...
 
@pokoyo, estoy haciendo pruebas, he probado hacer el "puente" hacia un dispositivo Tasmota (dispositivo dómotico que tiene una interfaz web simple). Lo he direccionado desde el puerto "fffff" en el exterior al "80" del dispositivo tasmota 192.168.AAA.211 y no funciona tampoco.

He hecho lo mismo con la impresora y tampoco. Así que debe ser algo del router Mikrotik. Ya no se lo que puede ser porque la configuración parece que es correcta.

Estoy intentado ver hacer el puente a dispositivos más simples para ver si es problema del Mikrotik, y parece que si,
 
@pokoyo, estoy haciendo pruebas, he probado hacer el "puente" hacia un dispositivo Tasmota (dispositivo dómotico que tiene una interfaz web simple). Lo he direccionado desde el puerto "fffff" en el exterior al "80" del dispositivo tasmota 192.168.AAA.211 y no funciona tampoco.

He hecho lo mismo con la impresora y tampoco. Así que debe ser algo del router Mikrotik. Ya no se lo que puede ser porque la configuración parece que es correcta.

Estoy intentado ver hacer el puente a dispositivos más simples para ver si es problema del Mikrotik, y parece que si,
¿Qué compañía tienes? ¿Te pueden haber metido bajo cg-nat? Eso explicaría lo que te pasa.

Saludos!
 
¿Qué compañía tienes? ¿Te pueden haber metido bajo cg-nat? Eso explicaría lo que te pasa.

Saludos!
Tengo Orange @pokoyo

He hecho un tracert a mi dirección pública (la que se obtiene en cual-es-mi-ip) y me salen tres saltos:
1. A mi router Mikrotik
2 y 3 me salen a la dirección pública.

Es raro pero el 2 y el 3 salto son exactamente iguales.

Parece por tanto, que no estoy bajo cg-nat.

**EDITO: además, ahora que caigo, la VPN funciona perfectamente, así que el DMZ está funcionando ¿no?
 
Última edición:
add action=dst-nat chain=dstnat comment="Home Assistant" dst-address-list=\
public-ip dst-port=FFFFF protocol=tcp to-addresses=192.168.AAA.10 to-ports=\
fffff

ahi tenes el problema, al no tener tu modem en bridge, la ip de las conexiones entrantes por la wan que ve tu router es la ip del modem, no la ip publica
 
ahi tenes el problema, al no tener tu modem en bridge, la ip de las conexiones entrantes por la wan que ve tu router es la ip del modem, no la ip publica
Muchas gracias @martin123asd, tienes toda la razón, no me había dado cuenta de esto.

Como sería la regla entonces para que quede elegante? Alguna sugerencia @martin123asd o @pokoyo ?

Por otra parte, cambie la configuración de mi setup y puse el router de la compañia de nuevo antes del Mikrotik (antes tenía directamente la ONT Ubiquiti, sin router de compañia y el router de mikrotik directamente).
Por temas de IPTV (no conseguia configurar router Mikrotik para mi deco de TV y teléfono (no tenía ganas de cada vez que tenía que cambiar de compañia sacar la claves SIP), y además, hice pruebas de velocidad y casi no afectaba, puse de nuevo el Router de la compañia con DMZ hacía el router Mikrotik.

Me gustaría revisar que la configuración del router Mikrotik no hay nada mal ya que la recicle de la anterior configuración y, al igual que me ha pasado con la regla de los puertos, que no haya otra cosa que cambiar.

Mi esquema es el siguiente:

ROUTER ORANGE (con ONT Incluido)
- Rango 192.168.BBB.X
- Dirección del Router de Orange 192.168.BBB.2
- Router Mikrotik conectado a salida ETH1
------Dirección asignada a router Mikrotik 192.168.BBB.1
------DMZ activado hacía router mikrotik 192.168.BBB.1
- Decodificador Orange conectado a ETH2 (para no tener que calentarme la cabeza con el tema del IPTV)
- Telefono conectado al RJ45 del Router (para no tener que calentarme la cabeza con sacar claves SIP).

ROUTER MIKROTIK
- En ETH1 conectado al Router de Orange (parte WAN)
-----Dirección del Router "parte WAN" 192.168.BBB.1
- El resto de bocas ETHX para conexión con switch Ubiquiti
-----Rango de direcciones de Router 192.168.AAA.X (dirección del router 192.168.AAA.1)
-----Rango de direcciones de VPN 192.168.CCC.X (dirección del router en VPN 192.168.CCC.1)

Mi configuración del router mikrotik es la siguiente:
Código:
# dec/28/2022 12:15:18 by RouterOS 7.1.1
# software id = XXXX-XXXX
#
# model = RouterBOARD 1100Dx4
# serial number = XXXXXXXXXXXX
/interface bridge
add name=bridge-lan
/interface wireguard
add listen-port=EEEEE mtu=1420 name=wireguard-rw
/disk
set sata1 disabled=no
set sata1-part1 disabled=no name=disk1
/interface list
add name=WAN
add name=LAN
/interface lte apn
set [ find default=yes ] ip-type=ipv4
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip pool
add name=pool-lan ranges=192.168.AAA.200-192.168.AAA.254
/ip dhcp-server
add address-pool=pool-lan interface=bridge-lan name=dhcp-lan
/port
set 0 name=serial0
set 1 name=serial1
/routing ospf instance
add name=default-v2
/routing ospf area
add disabled=yes instance=default-v2 name=backbone-v2
/interface bridge port
add bridge=bridge-lan interface=ether2
add bridge=bridge-lan interface=ether3
add bridge=bridge-lan interface=ether4
add bridge=bridge-lan interface=ether5
add bridge=bridge-lan interface=ether6
add bridge=bridge-lan interface=ether7
add bridge=bridge-lan interface=ether8
add bridge=bridge-lan interface=ether9
add bridge=bridge-lan interface=ether10
add bridge=bridge-lan interface=ether11
add bridge=bridge-lan interface=ether12
add bridge=bridge-lan interface=ether13
/ip neighbor discovery-settings
set discover-interface-list=LAN
/ip settings
set max-neighbor-entries=8192
/ipv6 settings
set disable-ipv6=yes max-neighbor-entries=8192
/interface list member
add interface=ether1 list=WAN
add interface=bridge-lan list=LAN
/interface wireguard peers
add allowed-address=192.168.CCC.2/32 comment="USUARIO 1" interface=\
    wireguard-rw public-key="CLAVE-PÚBLICA-USUARIO-1"
add allowed-address=192.168.CCC.3/32 comment="USUARIO 2" interface=\
    wireguard-rw public-key="CLAVE-PÚBLICA-USUARIO-2"
add allowed-address=192.168.CCC.4/32 comment="USUARIO 3" interface=\
    wireguard-rw public-key="CLAVE-PÚBLICA-USUARIO-3"
/ip address
add address=192.168.AAA.1/24 interface=bridge-lan network=192.168.AAA.0
add address=192.168.CCC.1/24 interface=wireguard-rw network=192.168.CCC.0
/ip cloud
set ddns-enabled=yes
/ip dhcp-client
add interface=ether1 use-peer-dns=no
/ip dhcp-server lease
add address=192.168.AAA.4 client-id=xx:xx:xx:xx:xx:xx:xx comment=\
    "Swicth US-8-150W" mac-address=XX:XX:XX:XX:XX:XX server=dhcp-lan
add address=192.168.AAA.6 client-id=xx:xx:xx:xx:xx:xx:xx comment=\
    "AP UAP-AC PRO 2" mac-address=XX:XX:XX:XX:XX:XX server=dhcp-lan
add address=192.168.AAA.5 client-id=xx:xx:xx:xx:xx:xx:xx comment=\
    "AP UAP-AC PRO 1" mac-address=XX:XX:XX:XX:XX:XX server=dhcp-lan
add address=192.168.AAA.8 client-id=xx:xx:xx:xx:xx:xx:xx comment=\
    "Gigaset C530 IP" mac-address=XX:XX:XX:XX:XX:XX server=dhcp-lan
add address=192.168.AAA.3 client-id=xx:xx:xx:xx:xx:xx:xx comment="Swicth US-24" \
    mac-address=XX:XX:XX:XX:XX:XX server=dhcp-lan
add address=192.168.AAA.2 client-id=xx:xx:xx:xx:xx:xx:xx comment=\
    "UniFi Cloud Key" mac-address=XX:XX:XX:XX:XX:XX server=dhcp-lan
add address=192.168.AAA.10 client-id=xx:xx:xx:xx:xx:xx:xx comment=\
    "Home Assistant Server" mac-address=XX:XX:XX:XX:XX:XX server=dhcp-lan
/ip dhcp-server network
add address=192.168.AAA.0/24 domain=lan gateway=192.168.AAA.1
/ip dns
set allow-remote-requests=yes servers=1.1.1.1,8.8.8.8
/ip dns static
add address=192.168.AAA.1 name=router.lan
add address=192.168.BBB.2 name=jazztel.lan
add address=192.168.AAA.2 name=cloud.lan
add address=192.168.AAA.3 name=switch1.lan
add address=192.168.AAA.4 name=switch2.lan
add address=192.168.AAA.5 name=ap1.lan
add address=192.168.AAA.6 name=ap2.lan
add address=192.168.AAA.7 name=ata.lan
add address=192.168.AAA.8 name=giga.lan
/ip firewall address-list
add address=xxxxxxxxxxxx.sn.mynetname.net list=public-ip
/ip firewall filter
add action=accept chain=input comment=\
    "defconf: accept established,related,untracked" connection-state=\
    established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=\
    invalid
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=accept chain=input comment="vpn: allow wireguard-rw" dst-port=EEEEE \
    protocol=udp
add action=accept chain=input comment="vpn: allow access router" src-address=\
    192.168.CCC.0/24
add action=drop chain=input comment="defconf: drop all not coming from LAN" \
    in-interface-list=!LAN
add action=accept chain=forward comment="defconf: accept in ipsec policy" \
    ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" \
    ipsec-policy=out,ipsec
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" \
    connection-state=established,related hw-offload=yes
add action=accept chain=forward comment=\
    "defconf: accept established,related, untracked" connection-state=\
    established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" \
    connection-state=invalid
add action=drop chain=forward comment=\
    "defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat \
    connection-state=new in-interface-list=WAN
/ip firewall nat
add action=masquerade chain=srcnat comment=hairpin-nat dst-address=\
    192.168.AAA.0/24 src-address=192.168.AAA.0/24
add action=masquerade chain=srcnat comment="defconf: masquerade" \
    ipsec-policy=out,none out-interface-list=WAN
add action=dst-nat chain=dstnat comment="Home Assistant" dst-address-list=\
    public-ip dst-port=FFFFF protocol=tcp to-addresses=192.168.AAA.10 to-ports=\
    fffff
/ip service
set telnet disabled=yes
set ftp disabled=yes
set www address=192.168.AAA.0/24,192.168.CCC.0/24
set ssh address=192.168.AAA.0/24,192.168.CCC.0/24
set api disabled=yes
set winbox address=192.168.AAA.0/24,192.168.CCC.0/24
set api-ssl disabled=yes
/system clock
set time-zone-name=Europe/Madrid
/system identity
set name=XXXXXXXXXXXX
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN


Por cierto, feliz año nuevo y muchas gracias de nuevo.
 
Arriba