Community discussions

MikroTik App
 
tesme33
Frequent Visitor
Frequent Visitor
Topic Author
Posts: 67
Joined: Mon May 26, 2014 10:25 pm

7.14.2 HAIRPIN working anywhere ?

Thu Mar 28, 2024 6:21 pm

Hi
i have just installed 7.14.2 onto my mikrotik router and i want to use it for internet access.
As i have my mailserver at home i have some NAT what i also want to hairpin.

i used the quickset on the WEB IF to make the initial config including the NAT i needed.
And then i wanted to add HAIRPIN. I watched this video from mikrotik: https://www.youtube.com/watch?v=1I5FywY6opQ

I also tried several other proposals found via google. But nothing worked.
Is it possible that the one or other action from the default config plays games with me ?

Below you find the config and the part in question in bold.

Ideas are highly appreciated.

P.S.: I didnt test any other version till now. The mikrotik is replacing another router so i cannot comment if other versions work.

/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" ipsec-policy=out,none out-interface-list=WAN
add action=dst-nat chain=dstnat comment=submission dst-port=587 in-interface-list=WAN protocol=tcp to-addresses=10.21.21.244 to-ports=587
add action=dst-nat chain=dstnat comment=smtp dst-port=25 in-interface-list=WAN protocol=tcp to-addresses=10.21.21.244 to-ports=25
add action=dst-nat chain=dstnat comment=imaps dst-port=993 in-interface-list=WAN protocol=tcp to-addresses=10.21.21.244 to-ports=993
add action=masquerade chain=srcnat comment="hairpin : mikrotik youtube" dst-address=10.21.21.244 log=yes log-prefix=HAIRPIN: out-interface=bridge protocol=tcp src-address=10.21.21.0/24

# 2024-03-28 17:10:04 by RouterOS 7.14.2
# software id = 0P78-XXXX
#
# model = RB3011UiAS
# serial number = xxx
/interface bridge
add admin-mac=E4:8D:8C:0A:41:B0 auto-mac=no comment=defconf name=bridge
/interface pppoe-client
add add-default-route=yes disabled=no interface=ether1 name=pppoe-out1 use-peer-dns=yes user=xxxxx@t-online.de
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip pool
add name=dhcp ranges=10.21.21.90-10.21.21.199
/ip dhcp-server
add address-pool=dhcp interface=bridge lease-time=10m name=defconf
/port
set 0 name=serial0
/zerotier
set zt1 comment="ZeroTier Central controller - https://my.zerotier.com/" disabled=yes disabled=yes name=zt1 port=9993
/interface bridge port
add bridge=bridge comment=defconf interface=ether2
add bridge=bridge comment=defconf interface=ether3
add bridge=bridge comment=defconf interface=ether4
add bridge=bridge comment=defconf interface=ether5
add bridge=bridge comment=defconf interface=ether6
add bridge=bridge comment=defconf interface=ether7
add bridge=bridge comment=defconf interface=ether8
add bridge=bridge comment=defconf interface=ether9
add bridge=bridge comment=defconf interface=ether10

add bridge=bridge comment=defconf interface=sfp1
/ip firewall connection tracking
set udp-timeout=10s
/ip neighbor discovery-settings
set discover-interface-list=LAN
/interface list member
add comment=defconf interface=bridge list=LAN
add comment=defconf interface=ether1 list=WAN
add interface=pppoe-out1 list=WAN
/ip address
add address=10.21.21.254/24 comment=defconf interface=bridge network=10.21.21.0
/ip dhcp-client
add comment=defconf disabled=yes interface=ether1
/ip dhcp-server network
add address=10.21.21.0/24 comment=defconf dns-server=10.21.21.254 gateway=10.21.21.254 netmask=24
/ip dns
set allow-remote-requests=yes
/ip dns static
add address=10.21.21.254 comment=defconf name=router.lan
/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
/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" ipsec-policy=out,none out-interface-list=WAN
add action=dst-nat chain=dstnat comment=submission dst-port=587 in-interface-list=WAN protocol=tcp to-addresses=10.21.21.244 to-ports=587
add action=dst-nat chain=dstnat comment=smtp dst-port=25 in-interface-list=WAN protocol=tcp to-addresses=10.21.21.244 to-ports=25
add action=dst-nat chain=dstnat comment=imaps dst-port=993 in-interface-list=WAN protocol=tcp to-addresses=10.21.21.244 to-ports=993
add action=masquerade chain=srcnat comment="hairpin : mikrotik youtube" dst-address=10.21.21.244 log=yes log-prefix=HAIRPIN: out-interface=bridge protocol=tcp  src-address=10.21.21.0/24
/ipv6 firewall address-list
add address=::1/128 comment="defconf: lo" list=bad_ipv6
add address=fec0::/10 comment="defconf: site-local" list=bad_ipv6
add address=::ffff:0.0.0.0/96 comment="defconf: ipv4-mapped" list=bad_ipv6
add address=::/96 comment="defconf: ipv4 compat" list=bad_ipv6
add address=100::/64 comment="defconf: discard only " list=bad_ipv6
add address=2001:db8::/32 comment="defconf: documentation" list=bad_ipv6
add address=2001:10::/28 comment="defconf: ORCHID" list=bad_ipv6
add address=3ffe::/16 comment="defconf: 6bone" list=bad_ipv6
/ipv6 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 ICMPv6" protocol=icmpv6
add action=accept chain=input comment="defconf: accept UDP traceroute" dst-port=33434-33534 protocol=udp
add action=accept chain=input comment="defconf: accept DHCPv6-Client prefix delegation." dst-port=546 protocol=udp src-address=fe80::/10
add action=accept chain=input comment="defconf: accept IKE" dst-port=500,4500 protocol=udp
add action=accept chain=input comment="defconf: accept ipsec AH" protocol=ipsec-ah
add action=accept chain=input comment="defconf: accept ipsec ESP" protocol=ipsec-esp
add action=accept chain=input comment="defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec
add action=drop chain=input comment="defconf: drop everything else not coming from LAN" in-interface-list=!LAN
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 packets with bad src ipv6" src-address-list=bad_ipv6
add action=drop chain=forward comment="defconf: drop packets with bad dst ipv6" dst-address-list=bad_ipv6
add action=drop chain=forward comment="defconf: rfc4890 drop hop-limit=1" hop-limit=equal:1 protocol=icmpv6
add action=accept chain=forward comment="defconf: accept ICMPv6" protocol=icmpv6
add action=accept chain=forward comment="defconf: accept HIP" protocol=139
add action=accept chain=forward comment="defconf: accept IKE" dst-port=500,4500 protocol=udp
add action=accept chain=forward comment="defconf: accept ipsec AH" protocol=ipsec-ah
add action=accept chain=forward comment="defconf: accept ipsec ESP" protocol=ipsec-esp
add action=accept chain=forward comment="defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec
add action=drop chain=forward comment="defconf: drop everything else not coming from LAN" in-interface-list=!LAN
/system clock
set time-zone-name=Europe/Berlin
/system identity
set name=RB3011
/system note
set show-at-login=no
/system package update
set channel=testing
/system routerboard settings
set auto-upgrade=yes silent-boot=yes
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN
 
User avatar
anav
Forum Guru
Forum Guru
Posts: 19401
Joined: Sun Feb 18, 2018 11:28 pm
Location: Nova Scotia, Canada
Contact:

Re: 7.14.2 HAIRPIN working anywhere ?

Thu Mar 28, 2024 7:17 pm

(1) Change this rule in the forward chain FROM
add action=drop chain=forward comment="defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat connection-state=new in-interface-list=WAN

TO:
add action=accept chain=forward comment="internet traffic" in-interface-list=LAN out-interface-list=WAN
add action=drop chain=forward comment="port forwarding" connection-nat-state=dstnat
add action=drop chain=forward comment="drop all else"


(2) Not sure if order is critical but best to do this.... ( fixed your hairpin rule as well)
/ip firewall address-list
add name=MYNETNAME list=MyWAN comment="dyndns from my IP Cloud settings"
/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" ipsec-policy=out,none out-interface-list=WAN
add action=masquerade chain=srcnat comment="hairpin" dst-address=10.21.21.0/24 src-address=10.21.21.0/24
add action=dst-nat chain=dstnat comment=submission dst-port=587 dst-address-list=MyWAN protocol=tcp to-addresses=10.21.21.244
add action=dst-nat chain=dstnat comment=smtp dst-port=25 dst-address-list=MyWAN protocol=tcp to-addresses=10.21.21.244
add action=dst-nat chain=dstnat comment=imaps dst-port=993 dst-address-list=MyWAN protocol=tcp to-addresses=10.21.21.244
 
tesme33
Frequent Visitor
Frequent Visitor
Topic Author
Posts: 67
Joined: Mon May 26, 2014 10:25 pm

Re: 7.14.2 HAIRPIN working anywhere ?

Fri Mar 29, 2024 9:16 am

Hi
thanks for the idea. Will try it. But for now i needed to switch back to my old router.

Who is online

Users browsing this forum: aboiles, gigabyte091, Pilo2710, vagrik and 20 guests