Only as a note...
I originally suggested to have ether8 as 192.168.88.1/24 (assuming that you would have changed the same range set on the bridge to your local LAN one).
BUT what you implemented (accidentally) was 192.168.88.1/32 (i.e. network 192.168.88.1).
Anav correctly (to resolve the conflict on 192.168.88.1) suggested 192.168.65.1/30.
Thanks a lot, jaclaz!
After that, I feel ready for my final step: port forwarding for my servers. Nothing special, just nginx, Home Assistant, and Docker.
However, I ran into an issue! I decided to follow the video guide from the official MikroTik YouTube channel and created the rules like this:
/ip firewall nat
add action=dst-nat chain=dstnat dst-port=443 \
protocol=tcp to-addresses=192.168.1.201 to-ports=443
At first, it worked great, but after I was able to access my server, my LAN PCs lost the ability to browse the web!
After a bit of research on the forum, I found this solution:
/ip firewall nat
add action=dst-nat chain=dstnat dst-address=MyFixedIP dst-port=443 \
protocol=tcp to-addresses=192.168.1.201 to-ports=443
I added my static public IP to the rule.
Web browsing was restored, but I was no longer able to access the server!
Then, based on another reply to the forum, I read that I should add this:
/ip firewall nat
add action=dst-nat chain=dstnat dst-address=MyFixedIP dst-port=443 \
protocol=tcp to-addresses=192.168.1.201 to-ports=443
add action=masquerade chain=srcnat dst-address=192.168.1.0/24 \
dst-address-type=!local src-address=192.168.1.0/24 src-address-type=\
!local
Now everything works perfectly! BUT
I’d like to kindly ask if this approach is safe and how it actually works because, honestly, I don’t fully understand it.
Below is the complete configuration.
Thanks a lot!
Regards,
Joe
# 2024-12-30 17:45:20 by RouterOS 7.16.2
# software id = KW******
#
# model = RB5009UG+S+
# serial number = HFE0*****
/interface bridge
add admin-mac=78:9A:18:****** auto-mac=no name=bridge
/interface wireguard
add listen-port=51820 mtu=1420 name=wireguard1
/interface vlan
add interface=ether1 name=vlan1_Vodafone vlan-id=1036
/interface pppoe-client
add add-default-route=yes disabled=no interface=vlan1_Vodafone name=\
pppoe-out1 user=vodafoneadsl
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
add comment=defconf name=MGMT
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip pool
add name=default-dhcp ranges=192.168.1.60-192.168.1.99
/ip dhcp-server
add address-pool=default-dhcp interface=bridge name=Main-DHCP-LAN
/disk settings
set auto-media-interface=bridge auto-media-sharing=yes auto-smb-sharing=yes
/interface bridge port
add bridge=bridge interface=ether2
add bridge=bridge interface=ether3
add bridge=bridge interface=ether4
add bridge=bridge interface=ether5
add bridge=bridge interface=ether6
add bridge=bridge interface=ether7
add bridge=bridge interface=sfp-sfpplus1
/ip neighbor discovery-settings
set discover-interface-list=LAN
/interface list member
add interface=bridge list=LAN
add interface=pppoe-out1 list=WAN
add interface=ether8 list=LAN
add interface=ether8 list=MGMT
/interface wireguard peers
add allowed-address=192.168.100.2/29 comment="Cellulare Joe" interface=\
wireguard1 name=peer1 public-key=\
"tzpQ734pFsIS75SX************************************"
/ip address
add address=192.168.1.1/24 interface=bridge network=192.168.1.0
add address=192.168.88.1/30 interface=ether8 network=192.168.88.0
add address=192.168.100.1/29 comment="network vpn 6 adresses" interface=\
wireguard1 network=192.168.100.0
/ip dhcp-client
add disabled=yes interface=ether1
/ip dhcp-server network
add address=192.168.1.0/24 comment=defconf dns-server=192.168.1.1 gateway=\
192.168.1.1
/ip dns
set allow-remote-requests=yes servers=1.1.1.1,1.0.0.1
/ip dns static
add address=192.168.88.1 comment=defconf name=router.lan type=A
/ip firewall filter
add action=accept chain=input comment=\
"defconf: accept established,related,untracked" connection-state=\
established,related,untracked
add action=accept chain=input comment=Wiregard dst-port=51820 protocol=udp
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=accept chain=input comment=winbox dst-port=8291 in-interface-list=\
!WAN protocol=tcp
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=masquerade ipsec-policy=out,none \
out-interface-list=WAN
add action=dst-nat chain=dstnat dst-address=MyFixedIP dst-port=444 \
protocol=tcp to-addresses=192.168.1.32 to-ports=443
add action=dst-nat chain=dstnat dst-address=MyFixedIP dst-port=80 \
protocol=tcp to-addresses=192.168.1.201 to-ports=80
add action=dst-nat chain=dstnat dst-address=MyFixedIP dst-port=443 \
protocol=tcp to-addresses=192.168.1.201 to-ports=443
add action=dst-nat chain=dstnat dst-address=MyFixedIP dst-port=81 \
protocol=tcp to-addresses=192.168.1.201 to-ports=81
add action=masquerade chain=srcnat dst-address=192.168.1.0/24 \
dst-address-type=!local src-address=192.168.1.0/24 src-address-type=\
!local
/ipv6 firewall address-list
add address=::/128 comment="defconf: unspecified address" list=bad_ipv6
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/Rome
/system note
set show-at-login=no
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN