HAIRPIN NAT y SSL Let's Encrypt- Algo se me escapa

Buenas.

En primer lugar, dejar claro que soy MUY novato con Mikrotik, si bien me he pelado antes más con routeres varios y demás...dicho esto, algo se me debe estar escapando en esta configuración.

Tengo fibra Lowi, levanto la conexión sin problemas.

En la IP 192.168.1.199 corro un home assistant y dentro de esta, un addon de NGINX. En ese addon tengo configurados y redirigidos mis servicios a los subdominios que uso teniendo la siguiente estrucutura.

homeassistant.mydominio.duckdns.org - al puerto 199:8123.

El caso es que desde que he cambiado el router, he visto que no puedo renovar ni generar certificados con Let's Encrypt.

Tampoco puedo acceder a mis servicios con los nombres de dominio desde dentro de mi LAN. Esto es importante que sea así pues tengo marcadores y servicios que ejecuto independientemente de si estoy en mi red de casa o no, tanto desde el movil como desde el portatil y para tenerlo unificado, accedo siempre desde el nombre completo. De esta manera tampoco tengo que recordar los muchos puertos que usa cada servicio.

Esto último, entiendo que se soluciona con el HAIRPIN NAT, pero he seguido montones de tutos y no consigo hacerlo funcionar.

Dejo aquí mi configuración del RB4011 por si véis alguna cosa evidente que deba optimizar o solucionar para poder seguir con ello. Gracias!

JavaScript:
# dec/30/2022 01:07:23 by RouterOS 7.6
# software id = 5EBL-MPBU
#
# model = RB4011iGS+
# serial number =
/interface bridge
add admin-mac=08:55:31:64:5F:9B auto-mac=no comment=defconf name=bridge
/interface ethernet
set [ find default-name=ether1 ] comment=WAN
set [ find default-name=ether2 ] comment=LAN
/interface wireguard
add listen-port=13231 mtu=1420 name=wireguard1
/interface vlan
add interface=ether1 name=vlan24 vlan-id=24
/interface pppoe-client
add add-default-route=yes disabled=no interface=vlan24 name=ppoe \
    use-peer-dns=yes user=XXXXXX@lowi
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface lte apn
set [ find default=yes ] ip-type=ipv4 use-network-apn=no
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip pool
add name=dhcp ranges=192.168.1.1-192.168.1.254
/ip dhcp-server
add address-pool=dhcp interface=bridge lease-time=1h name=defconf
/port
set 0 name=serial0
set 1 name=serial1
/interface bridge port
add bridge=bridge comment=defconf ingress-filtering=no interface=ether2
add bridge=bridge comment=defconf ingress-filtering=no interface=ether3
add bridge=bridge comment=defconf ingress-filtering=no interface=ether4
add bridge=bridge comment=defconf ingress-filtering=no interface=ether5
add bridge=bridge comment=defconf ingress-filtering=no interface=ether6
add bridge=bridge comment=defconf ingress-filtering=no interface=ether7
add bridge=bridge comment=defconf ingress-filtering=no interface=ether8
add bridge=bridge comment=defconf ingress-filtering=no interface=ether9
add bridge=bridge comment=defconf ingress-filtering=no interface=ether10
add bridge=bridge comment=defconf ingress-filtering=no interface=sfp-sfpplus1
/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 comment=defconf interface=bridge list=LAN
add comment=defconf interface=ppoe list=WAN
/interface ovpn-server server
set auth=sha1,md5
/interface wireguard peers
add allowed-address=::/0 interface=wireguard1 public-key=\
    "XXXXXXXXXXXXXXXXXXXXXXXX"
/ip address
add address=192.168.1.1/24 comment=defconf interface=bridge network=\
    192.168.1.0
add address=192.168.50.1/24 comment=\
    "Red IP creada para el acceso de Wireguard" interface=wireguard1 network=\
    192.168.50.0
/ip arp
add address=192.168.1.200 interface=bridge mac-address=00:E4:4F:68:09:28
add address=192.168.1.100 interface=bridge mac-address=B0:6E:BF:84:6A:57
add address=192.168.1.199 interface=bridge mac-address=9A:0D:70:85:8F:6D
add address=192.168.1.201 interface=bridge mac-address=6A:25:3B:2F:12:4A
add address=192.168.1.203 interface=bridge mac-address=2E:72:7D:30:4B:12
add address=192.168.1.2 interface=bridge mac-address=4E:E1:E1:81:AA:EA
add address=192.168.1.198 interface=bridge mac-address=18:C8:E7:5A:09:2D
add address=192.168.1.194 interface=bridge mac-address=CC:50:E3:2A:3D:D8
add address=192.168.1.193 interface=bridge mac-address=24:E8:53:07:2D:90
add address=192.168.1.3 interface=bridge mac-address=18:E8:29:50:55:92
add address=192.168.1.4 interface=bridge mac-address=00:27:22:CE:A5:00
/ip cloud
set ddns-update-interval=5m update-time=no
/ip dhcp-client
add comment=defconf disabled=yes interface=ether1
/ip dhcp-server lease
add address=192.168.1.100 client-id=1:b0:6e:bf:84:6a:57 mac-address=\
    B0:6E:BF:84:6A:57 server=defconf
add address=192.168.1.200 client-id=\
    ff:4f:68:9:28:0:1:0:1:27:91:ee:5a:0:e4:4f:68:9:28 mac-address=\
    00:E4:4F:68:09:28 server=defconf
add address=192.168.1.2 client-id=\
    ff:a2:17:14:a2:0:2:0:0:ab:11:48:a1:21:e2:e8:ac:c5:5e mac-address=\
    4E:E1:E1:81:AA:EA server=defconf
add address=192.168.1.203 client-id=\
    ff:ee:fc:c5:ef:0:2:0:0:ab:11:86:a1:e1:3f:75:70:50:b9 mac-address=\
    2E:72:7D:30:4B:12 server=defconf
/ip dhcp-server network
add address=192.168.1.0/24 comment=defconf dns-server=192.168.1.2,8.8.8.8 \
    domain=192.168.1.1 gateway=192.168.1.1 netmask=24
/ip dns
set allow-remote-requests=yes servers=192.168.1.2
/ip dns static
add address=192.168.1.199 name=ha.lan
/ip firewall address-list
add address=192.168.1.0/24 list=LAN
add 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=\
    "defconf: accept to local loopback (for CAPsMAN)" dst-address=127.0.0.1
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
add action=accept chain=input comment="allow sstp" dst-port=443 protocol=tcp
/ip firewall nat
add action=masquerade chain=srcnat comment="HAIRPIN NAT" dst-address=\
    192.168.1.199 dst-port=81,443 protocol=tcp src-address=192.168.1.0/24
add action=masquerade chain=srcnat comment="defconf: masquerade" \
    ipsec-policy=out,none out-interface=ppoe
add action=dst-nat chain=dstnat comment="HOME ASSISTANT" dst-port=8123 \
    in-interface=ppoe protocol=tcp to-addresses=192.168.1.199 to-ports=8123
add action=dst-nat chain=dstnat comment=PLEX dst-port=32400 in-interface=ppoe \
    protocol=tcp src-address-list="" to-addresses=192.168.1.203 to-ports=\
    32400
add action=dst-nat chain=dstnat comment="NGINX 443" in-interface=ppoe \
    protocol=tcp to-addresses=192.168.1.199 to-ports=443
add action=dst-nat chain=dstnat comment=Web-Admin dst-address-list=public-ip \
    dst-port=443 protocol=tcp to-addresses=192.168.1.199 to-ports=443
/system clock
set time-zone-name=Europe/Madrid
/system leds
set 0 disabled=yes
/system resource irq rps
set sfp-sfpplus1 disabled=no
/tool graphing interface
add
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN
/tool traffic-monitor
add interface=ppoe name=traf1
 
Última edición:
Buenas.

En primer lugar, dejar claro que soy MUY novato con Mikrotik, si bien me he pelado antes más con routeres varios y demás...dicho esto, algo se me debe estar escapando en esta configuración.

Tengo fibra Lowi, levanto la conexión sin problemas.

En la IP 192.168.1.199 corro un home assistant y dentro de esta, un addon de NGINX. En ese addon tengo configurados y redirigidos mis servicios a los subdominios que uso teniendo la siguiente estrucutura.

homeassistant.mydominio.duckdns.org - al puerto 199:8123.

El caso es que desde que he cambiado el router, he visto que no puedo renovar ni generar certificados con Let's Encrypt.

Tampoco puedo acceder a mis servicios con los nombres de dominio desde dentro de mi LAN. Esto es importante que sea así pues tengo marcadores y servicios que ejecuto independientemente de si estoy en mi red de casa o no, tanto desde el movil como desde el portatil y para tenerlo unificado, accedo siempre desde el nombre completo. De esta manera tampoco tengo que recordar los muchos puertos que usa cada servicio.

Esto último, entiendo que se soluciona con el HAIRPIN NAT, pero he seguido montones de tutos y no consigo hacerlo funcionar.
En el manual de tips&tricks tienes cómo hacer hairpin, de manera sencilla, tirando del ddns de mikrotik

Saludos!
 
En el manual de tips&tricks tienes cómo hacer hairpin, de manera sencilla, tirando del ddns de mikrotik

Saludos!
Gracias. Si, lo he visto, pero tengo que usar el otro ddns, el de duckdns, porque tengo que tener varios dominios a la misma IP.

He intentado aplicar esa guia a mi propio DDNS de DuckDns sin exito.
 
Bueno, al final he usado el sistema de DNS de Mikrotik para actualizar mi IP publica, pero para los dominios, sigo usando el de duckdns. Tan pronto he podido acceder internamente a las maquinas con los dominios, he podido renovar los certificados SSL.
 
Sí, a eso me refería, usar el de Mikrotik para el hairpin, y el de duckdns para tu acceso interno.

Saludos!
 
Buenas tardes,

Cuestión tonta... Si lo que se quiere es acceder a un servicio WEB interno tanto desde internamente desde la LAN como desde la WAN no bastaría con:

1.-.Añadir esos dominios y crear los registros en los DNS del router
2.-.Hacer los NAT habituales de los puertos 80 y 443 además de los 80 y 443 con la opción extra de local en DST.ADDRESS TYPE

Cordialmente,

Juhn_Hoo
 
O haces uno o el otro. Es decir, o impersonas ese dominio en el dns o implementas hairpin nat.

Saludos!
 
Arriba