To use RoMON with WG, it's easy.
1. Add EoIP interface on BOTH routers.
2. Configure EoIP to use WG interface's IPs (e.g. EoIP address for remote/local is other/same as /ip/address for WG interface). You do NOT need IPSec (since using WG).
3. In /tool/romon, enable/check RoMON on BOTH routers. You can set a secret if you'd want, it just has to match on BOTH. Leave ID alone, should be automatic.
4. More importantly, if the goal is JUST RoMON (e.g. WG is setup/working as desired separately)... then EoIP does NOT need to be bridged for RoMON to access it. e.g. since EoIP just connects the router with a Ethernet-like interface (which RoMON will find)... all the IP/L3 LAN stuff follows IP routing/firewall as previously configured. EoIP is only used to enable RoMON over WG, but NOT normal LAN traffic.
gigabyte091 wrote: ↑Sun Jan 07, 2024 8:02 pm
What about MTU ? WG is running at 1420 but for EOIP is recommended 1500 to avoid packet fragmentation.
If the goal is RoMON, fragmentation won't matter... just not a lot of data.
Although you can set MTU to 1380 on the EoIP interface if you want*. (I'm just not sure the min packet size for RoMON — why leaving it 1500 may be safer)
# 2024-01-08 06:37:44 by RouterOS 7.12
# software id = XXXX-XXXX
#
# model = RB4011iGS+
# serial number = XXXXXXXXXX
/interface bridge
add admin-mac=XX:XX:XX:XX:XX:XX auto-mac=no comment=defconf name=bridge \
vlan-filtering=yes
/interface ethernet
set [ find default-name=ether1 ] comment=WAN
set [ find default-name=ether4 ] comment=Trunk_SW_2
set [ find default-name=ether5 ] comment=Trunk_SW_1
set [ find default-name=ether10 ] comment=iLO_VM_srv
/interface eoip
add local-address=10.0.0.1 mac-address=XX:XX:XX:XX:XX:XX mtu=1500 name=\
eoip-tunnel1 remote-address=10.0.0.4 tunnel-id=10
/interface wireguard
add listen-port=XXXXX mtu=1420 name=wireguard1
/interface vlan
add comment="" interface=bridge name=VLAN_100 vlan-id=100
add comment="" interface=bridge name=VLAN_150 vlan-id=150
add comment="" interface=bridge name=VLAN_200 vlan-id=200
add comment="" interface=bridge name=VLAN_210 vlan-id=210
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
add name=DNS
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip pool
add name=dhcp_pool1 ranges=\
192.168.100.1-192.168.100.99,192.168.100.101-192.168.100.254
add name=dhcp_pool2 ranges=\
192.168.150.1-192.168.150.99,192.168.150.101-192.168.150.254
add name=dhcp_pool3 ranges=\
192.168.200.1-192.168.200.99,192.168.200.101-192.168.200.254
add name=dhcp_pool4 ranges=\
192.168.210.1-192.168.210.99,192.168.210.101-192.168.210.254
/ip dhcp-server
add address-pool=dhcp_pool1 interface=VLAN_100 lease-time=1d name=dhcp1
add address-pool=dhcp_pool2 interface=VLAN_150 lease-time=1d name=dhcp2
add address-pool=dhcp_pool3 interface=VLAN_200 lease-time=1d name=dhcp3
add address-pool=dhcp_pool4 interface=VLAN_210 lease-time=1d name=dhcp4
/port
set 0 name=serial0
set 1 name=serial1
/interface bridge port
add bridge=bridge comment=defconf frame-types=\
admit-only-untagged-and-priority-tagged interface=ether2 pvid=100
add bridge=bridge comment=defconf frame-types=\
admit-only-untagged-and-priority-tagged interface=ether3 pvid=150
add bridge=bridge comment=defconf frame-types=admit-only-vlan-tagged \
interface=ether4
add bridge=bridge comment=defconf frame-types=admit-only-vlan-tagged \
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 frame-types=\
admit-only-untagged-and-priority-tagged interface=ether9 pvid=100
add bridge=bridge comment=defconf frame-types=\
admit-only-untagged-and-priority-tagged interface=ether10 pvid=100
add bridge=bridge comment=defconf interface=sfp-sfpplus1
/ip neighbor discovery-settings
set discover-interface-list=LAN
/ipv6 settings
set disable-ipv6=yes
/interface bridge vlan
add bridge=bridge tagged=bridge,ether5,ether4 untagged=ether10,ether9 \
vlan-ids=100
add bridge=bridge tagged=bridge,ether5,ether4 untagged=ether3 vlan-ids=150
add bridge=bridge tagged=bridge,ether5,ether4 vlan-ids=200
add bridge=bridge tagged=bridge,ether5 vlan-ids=210
/interface list member
add comment=defconf interface=ether1 list=WAN
add interface=VLAN_100 list=LAN
add interface=VLAN_150 list=LAN
add interface=VLAN_200 list=LAN
add interface=VLAN_210 list=LAN
add interface=wireguard1 list=LAN
add interface=VLAN_150 list=DNS
add interface=VLAN_200 list=DNS
add interface=VLAN_100 list=DNS
add interface=VLAN_210 list=DNS
/interface wireguard peers
add allowed-address=10.0.0.2/32 comment="laptop" interface=wireguard1 \
public-key=""
add allowed-address=10.0.0.3/32 comment="phone" interface=wireguard1 \
public-key=""
add allowed-address=10.0.0.4/32,192.168.88.0/24 interface=wireguard1 \
public-key=""
/ip address
add address=192.168.100.100/24 comment="" interface=\
VLAN_100 network=192.168.100.0
add address=192.168.150.100/24 comment="" interface=VLAN_150 network=\
192.168.150.0
add address=192.168.200.100/24 comment="" interface=VLAN_200 \
network=192.168.200.0
add address=PublicIP comment=WAN interface=ether1 network=PublicIP
add address=192.168.210.100/24 comment="" interface=VLAN_210 network=\
192.168.210.0
add address=10.0.0.1/24 comment=VPN interface=wireguard1 network=10.0.0.0
/ip dhcp-server lease
/ip dhcp-server network
add address=192.168.100.0/24 dns-server=192.168.100.103 gateway=\
192.168.100.100
add address=192.168.150.0/24 dns-server=192.168.100.103 gateway=\
192.168.150.100
add address=192.168.200.0/24 dns-server=192.168.100.103 gateway=\
192.168.200.100
add address=192.168.210.0/24 dns-server=192.168.100.103 gateway=\
192.168.210.100
/ip dns
set allow-remote-requests=yes servers=PublicIP
/ip firewall address-list
add address=10.0.0.2 comment="laptop" list=Admin
add address=10.0.0.3 comment="phone" list=Admin
add address=192.168.100.92 comment=PC list=Admin
/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=accept chain=input comment=Winbox dst-port=8291 in-interface-list=\
LAN protocol=tcp src-address-list=Admin
add action=accept chain=input comment=DNS-UDP dst-port=53 in-interface-list=\
LAN protocol=udp
add action=accept chain=input comment=DNS-TCP dst-port=53 in-interface-list=\
LAN protocol=tcp
add action=accept chain=input comment=VPN dst-port=XXXXX in-interface-list=\
WAN protocol=udp
add action=drop chain=input comment="drop all else"
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=accept chain=forward comment="Internet traffic" in-interface-list=\
LAN out-interface-list=WAN
add action=accept chain=forward comment="Fwd to DNS" dst-address=\
192.168.100.103 in-interface-list=LAN
add action=accept chain=forward comment="Access to R2-outgoing" \
out-interface=wireguard1 src-address=192.168.100.0/24
add action=accept chain=forward in-interface=wireguard1 out-interface-list=\
LAN src-address-list=Admin
add action=accept chain=forward comment="Wireguard relay" in-interface=\
wireguard1 out-interface=wireguard1
add action=accept chain=forward comment="Port forwarding" \
connection-nat-state=dstnat
add action=drop chain=forward comment="drop all else"
/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 dst-port=53 in-interface-list=LAN protocol=\
tcp src-address=!192.168.100.103 to-addresses=192.168.100.103
add action=dst-nat chain=dstnat dst-port=53 in-interface-list=LAN protocol=\
udp src-address=!192.168.100.103 to-addresses=192.168.100.103
/ip route
add disabled=no dst-address=0.0.0.0/0 gateway=PublicIP routing-table=main \
suppress-hw-offload=no
add disabled=no dst-address=192.168.88.0/24 gateway=wireguard1 routing-table=\
main suppress-hw-offload=no
/ip service
set telnet disabled=yes
set ftp disabled=yes
set www disabled=yes
set ssh disabled=yes
set api disabled=yes
set api-ssl disabled=yes
/ipv6 firewall filter
add action=drop chain=input
add action=drop chain=forward
/system clock
set time-zone-name=Europe/Zagreb
/system identity
set name=Ured
/system logging
add topics=wireguard
/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
/tool romon
set enabled=yes
# 2024-01-08 06:46:20 by RouterOS 7.13
# software id = XXXX-XXXX
#
# model = L41G-2axD&FG621-EA
# serial number = XXXXXXXXXXX
/interface bridge
add admin-mac=XX:XX:XX:XX:XX:XX auto-mac=no comment=defconf name=bridge \
port-cost-mode=short
/interface wifi
set [ find default-name=wifi1 ] channel.band=2ghz-ax .skip-dfs-channels=\
10min-cac .width=20/40mhz configuration.mode=ap .ssid=MikroTik-0E0DCD \
security.authentication-types=wpa2-psk,wpa3-psk
/interface lte
set [ find default-name=lte1 ] allow-roaming=no band=""
/interface eoip
add local-address=10.0.0.4 mac-address=XX:XX:XX:XX:XX:XX mtu=1500 name=\
eoip-tunnel1 remote-address=10.0.0.1 tunnel-id=10
/interface wireguard
add listen-port=XXXXX mtu=1420 name=wireguard1
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface lte apn
set [ find default=yes ] apn=internet.telemach.hr use-network-apn=no
/ip pool
add name=default-dhcp ranges=192.168.88.10-192.168.88.254
/ip dhcp-server
add address-pool=default-dhcp interface=bridge lease-time=10m name=defconf
/interface bridge port
add bridge=bridge comment=defconf interface=ether1 internal-path-cost=10 \
path-cost=10
add bridge=bridge comment=defconf interface=ether2 internal-path-cost=10 \
path-cost=10
add bridge=bridge comment=defconf interface=ether3 internal-path-cost=10 \
path-cost=10
add bridge=bridge comment=defconf interface=ether4 internal-path-cost=10 \
path-cost=10
add bridge=bridge comment=defconf interface=wifi1 internal-path-cost=10 \
path-cost=10
/ip neighbor discovery-settings
set discover-interface-list=LAN
/interface list member
add comment=defconf interface=bridge list=LAN
add comment=defconf interface=lte1 list=WAN
add interface=wireguard1 list=LAN
/interface wireguard peers
add allowed-address=10.0.0.0/24,192.168.100.0/24 endpoint-address=PublicIP \
endpoint-port=XXXXX interface=wireguard1 persistent-keepalive=30s \
public-key=""
/ip address
add address=192.168.88.1/24 comment=defconf interface=bridge network=\
192.168.88.0
add address=10.0.0.4/24 comment=VPN interface=wireguard1 network=10.0.0.0
/ip dhcp-server network
add address=192.168.88.0/24 comment=defconf dns-server=192.168.88.1 gateway=\
192.168.88.1
/ip dns
set allow-remote-requests=yes
/ip dns static
add address=192.168.88.1 comment=defconf name=router.lan
/ip firewall address-list
add address=10.0.0.2 list=Admin
add address=10.0.0.3 list=Admin
add address=192.168.88.254 list=Admin
add address=192.168.100.92 list=Admin
/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=accept chain=input comment=Winbox_admin dst-port=8291 \
in-interface-list=LAN protocol=tcp src-address-list=Admin
add action=accept chain=input comment=DNS-UDP dst-port=53 in-interface-list=\
LAN protocol=udp
add action=accept chain=input comment=DNS-TCP dst-port=53 in-interface-list=\
LAN protocol=tcp
add action=drop chain=input comment="drop all else"
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=accept chain=forward comment="Internet traffic" in-interface-list=\
LAN out-interface-list=WAN
add action=accept chain=forward comment="Access from R1 incomming" \
dst-address=192.168.88.0/24 in-interface=wireguard1
add action=drop chain=forward comment="drop all else"
/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" \
ipsec-policy=out,none out-interface-list=WAN
/ip route
add disabled=no dst-address=192.168.100.0/24 gateway=wireguard1 \
routing-table=main suppress-hw-offload=no
/ipv6 firewall filter
add action=drop chain=input
add action=drop chain=forward
/system clock
set time-zone-name=Europe/Zagreb
/system leds
add interface=lte1 leds=user-led type=interface-activity
/system logging
add topics=wireguard
/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
/tool romon
set enabled=yes
/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=accept chain=input comment=Winbox dst-port=8291 in-interface-list=\
LAN protocol=tcp src-address-list=Admin
add action=accept chain=input comment=DNS-UDP dst-port=53 in-interface-list=\
LAN protocol=udp
add action=accept chain=input comment=DNS-TCP dst-port=53 in-interface-list=\
LAN protocol=tcp
add action=accept chain=input comment=VPN dst-port=XXXXX in-interface-list=\
WAN protocol=udp
add action=accept chain=input comment=EoIP protocol=gre src-address=10.0.0.4
add action=drop chain=input comment="drop all else"
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=accept chain=forward comment="Internet traffic" in-interface-list=\
LAN out-interface-list=WAN
add action=accept chain=forward comment="Fwd to DNS" dst-address=\
192.168.100.103 in-interface-list=LAN
add action=accept chain=forward comment="Access to R2-outgoing" \
out-interface=wireguard1 src-address=192.168.100.0/24
add action=accept chain=forward in-interface=wireguard1 out-interface-list=\
LAN src-address-list=Admin
add action=accept chain=forward comment="Wireguard relay" in-interface=\
wireguard1 out-interface=wireguard1
add action=accept chain=forward comment="Port forwarding" \
connection-nat-state=dstnat
add action=drop chain=forward comment="drop all else"
/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=accept chain=input comment=Winbox_admin dst-port=8291 \
in-interface-list=LAN protocol=tcp src-address-list=VPN
add action=accept chain=input comment=DNS-UDP dst-port=53 in-interface-list=\
LAN protocol=udp
add action=accept chain=input comment=DNS-TCP dst-port=53 in-interface-list=\
LAN protocol=tcp
add action=drop chain=input comment="defconf: drop all not coming from LAN" \
in-interface-list=!LAN
add action=drop chain=input comment="drop all else"
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=accept chain=forward comment="Internet traffic" in-interface-list=\
LAN out-interface-list=WAN
add action=accept chain=forward comment="Access from R1 incomming" \
dst-address=192.168.88.0/24 in-interface=wireguard1
add action=drop chain=forward comment="drop all else"
I have a different fear, that ROMON will allow me to connect even though my setup is wrong LOL and thus I will never know about or find my errors/Yeah but ... if your IP setup is somehow bust, you're a dead fish too.
No IP access anymore.
Romon will still allow you to access those devices then via EOIP over wireguard (provided that channel is still operational).
Zerotier will work as well for the same reason (L2 access).
It's not a problem to create new EoIP interface on remote routers but on main router I have only one IP on wireguard interface so i can't use it anymore. How did you manage that ?EOIP is point to point but you can have multiple EOIP interfaces running on one device ( provided you take care of unique ID for each interfaces).
Look at it as a cable between 2 ether ports.
Sure. The remote address just needs to be routable. And protocol=gre needs to be allow (however) in the "input" chain for that address. GRE the actual protocol under-the-covers, its neither TCP nor UDP – why some treatment in the firewall (perhaps adding EoIP to the LAN interface-list work too)Can I make an EOIP connection between the two to make this winbox magic happen ( no wireguard )
Will test this tomorrow, instead of defining src.address in firewall rule we can put eoip as lan member and use in-interface-list=LAN instead. That would eliminate the need of address list
GRE the actual protocol under-the-covers, its neither TCP nor UDP – why some treatment in the firewall (perhaps adding EoIP to the LAN interface-list work too)
Glad to see the brainwashing is working!! Now send chocolates will send address in email!!You need two reachable ip addresses on both devices. They need to see each other, as a matter of speaking.
But you got it all backwards.
You may want to start with describing user requirements, drawing of your network setup and export of all related devices![]()
@gigabyte091's firewall is pretty restrictive, why a specific rule is needed. But imagine in most cases...the WG peer is already broadly allowed on "input" chain to router.Yes, gre is set as protocol. On remote router i left src address. I was lazy...
Showing the config or pertinent parts thereof would be nice!Yes, gre is set as protocol. On remote router i left src address. I was lazy...
;;; EoIP
chain=input action=accept protocol=gre
in-interface-list=LAN log=no log-prefix=""
And that works because wiregard1 is a member of LAN. e.g. @gigabyte091 has the following:No problem, here is FW rule on main router:
Code: Select all;;; EoIP chain=input action=accept protocol=gre in-interface-list=LAN log=no log-prefix=""
That be nice, but not how it works. RoMON is a poor mans substitute for Zerotier, which get you all your neighbors showing up on the "normal" winbox list. But RoMON require the two-step "Connect to RoMON" dance. Basically RoMON is same idea your "off-bridge management port": you hope not have to use it, but nice it's there when you do.Also, when I open winbox I wanted all to show up, without having to select one with the right password and then hit ROMON.
No, it be very similar. If the tunnel is up, you should be able to Argo/ZeroTrust tunnel IPs in the /interface/eoip/add. Basically far end Mikrotik has to ping'able via your tunnel, and it should work. Now, stuff like allowing GRE through any firewall rules on the Argo/ZeroTrust might have include "gre".hi, i want the similar setup, differences is the wireguard connect to my cloudflare zero trust tunnel. had try all the options in this post, not shown anything in Romon Discover, but the EOIP packet traffic seems in the counter. is there specific setup if use WG for Cloudflare?