However, while searching through the interface on WinBox there seem to be do different ways to do this:
Code: Select all
Bridge > Ports > Add (set VLAN, set bridge to interface)
Interface > VLAN > Add (set VLAN, set Interface to bridge)
Bridge > Ports > Add (set VLAN, set bridge to interface)
Interface > VLAN > Add (set VLAN, set Interface to bridge)
Untagged does indeed mean there is no VLAN tag and therefore no VLAN ID.Cisco default VLAN is set to 1. I *thought* that is different from 'untagged vlan'...which I thought mean no tag
It depends on the hardware and the vendor. For example some switch chips have no concept of untagged so on ingress a VLAN tag and ID, most commonly 1 as this is the first valid value, has to be inserted to the packet, and on egress VLAN tags with this ID are removed from the packet.but as I learn more I'm seeing some documentation that seems to treat vlan 1 as untagged.
No. If the ports are not part of the same layer 2 / ethernet domain, i.e. in a bridge, there is no connection. An /interface vlan is merely a shim which inserts a VLAN tage and ID in one direction and removes them in the other.I was expecting VLAN 30 on any port to magically bridge to VLAN 30 on any other MT port.
Post your configuration. You should have a single VLAN-aware bridge, the port connected to the Ubiquiti AP configured as hybrid, the interface VLAN specified as the hotspot interface. We do this frequently without any issue, it may of course be a bug in RouterOS v7My problem is when I turn on hotspot. I have setup hotspot on multiple MT's and it's pretty straight forward. But when I add the hotspot feature (to my VLAN40 interface) then VLAN40 traffic never gets passed the MT. The MT sees the guest connect, gives it an IP from the guest pool, but DNS lookup fails, ping to MT fails, and the guest can't even browse to the MT hotspot login page. Everything times out.
Maybe something is not quite right with my VLAN/ether3 configuration that the MT forgives, but breaks when hotspot is enabled.
Make sure the problem isn't the firewall.My problem is when I turn on hotspot. I have setup hotspot on multiple MT's and it's pretty straight forward. But when I add the hotspot feature (to my VLAN40 interface) then VLAN40 traffic never gets passed the MT. The MT sees the guest connect, gives it an IP from the guest pool, but DNS lookup fails, ping to MT fails, and the guest can't even browse to the MT hotspot login page. Everything times out.
Columns: LIST, INTERFACE
# LIST INTERFACE
0 discover ether1-external
1 discover bridge-internal
2 discover ether3-internal-slave
3 discover ether4-ata
4 discover ether5-unused
5 mactel bridge-internal
6 mactel ether3-internal-slave
7 mactel ether4-ata
8 mac-winbox bridge-internal
9 mactel ether5-unused
10 mac-winbox ether3-internal-slave
11 mac-winbox ether4-ata
12 mac-winbox ether5-unused
This probably won't clear up the confusion, but reading it can help insomnia.Cisco default VLAN is set to 1. I *thought* that is different from 'untagged vlan'...which I thought mean no tag, but as I learn more I'm seeing some documentation that seems to treat vlan 1 as untagged. A bit confusin.
One thing I noticed from the names is that it appears you are using interface names that suggest you are using the "switch method" instead of the bridge method. From the "ether3-internal-slave" name. Was your config auto converted from v6.xxIf I turn hotspot off all traffic routes perfectly, so I *assume* the problem is not firewall rule related.
Your experience (with no traffic through the MT) sounds very similar to mine. I have to admit I dont understand what the /interface>list command really controls. I read the wiki (https://wiki.mikrotik.com/wiki/Manual:Interface/List) and it sounds like this is for Winbox connectivity and neighbour discovery.
However, you may be on to something...my list shows:Code: Select allColumns: LIST, INTERFACE # LIST INTERFACE 0 discover ether1-external 1 discover bridge-internal 2 discover ether3-internal-slave 3 discover ether4-ata 4 discover ether5-unused 5 mactel bridge-internal 6 mactel ether3-internal-slave 7 mactel ether4-ata 8 mac-winbox bridge-internal 9 mactel ether5-unused 10 mac-winbox ether3-internal-slave 11 mac-winbox ether4-ata 12 mac-winbox ether5-unused
So there are no VLAN interfaces list...should there be? And if I add VLAN40 interface to this list what am I accomplishing from a traffic flow perspective? When I try to add an interface to the list my choices are for Discovery / MacTel / MacWinbox...nothing that sounds traffic flow related.
[demo@MikroTik] > export terse hide-sensitive
# mar/13/2022 03:34:32 by RouterOS 7.2rc4
# software id =
#
# model = RB760iGS
# serial number =
/interface bridge add admin-mac=DC:2C:6E:CA:FE:F2 auto-mac=no comment=defconf name=BR-SW vlan-filtering=yes
/interface ethernet set [ find default-name=ether1 ] name=ether1-WAN
/interface ethernet set [ find default-name=ether2 ] name=ether2-BR-SW-Base-U1
/interface ethernet set [ find default-name=ether3 ] name=ether3-BR-SW-U241
/interface ethernet set [ find default-name=ether4 ] name=ether4-BR-SW_U10_T241
/interface ethernet set [ find default-name=ether5 ] name=ether5-off_bridge_wrk
/interface vlan add interface=BR-SW name=vlan10 vlan-id=10
/interface vlan add interface=BR-SW name=vlan241 vlan-id=241
/interface list add comment=defconf name=WAN
/interface list add comment=defconf name=LAN
/interface wireless security-profiles set [ find default=yes ] supplicant-identity=MikroTik
/ip pool add name=default-dhcp ranges=192.168.88.10-192.168.88.254
/ip pool add name=dhcp_pool1 ranges=192.168.89.100-192.168.89.199
/ip dhcp-server add address-pool=default-dhcp interface=BR-SW name=defconf
/ip dhcp-server add address-pool=dhcp_pool1 interface=ether5-off_bridge_wrk name=dhcp1
/port set 0 name=serial0
/interface bridge port add bridge=BR-SW comment=defconf interface=ether2-BR-SW-Base-U1
/interface bridge port add bridge=BR-SW comment=defconf frame-types=admit-only-untagged-and-priority-tagged interface=ether3-BR-SW-U241 pvid=241
/interface bridge port add bridge=BR-SW comment=defconf interface=ether4-BR-SW_U10_T241 pvid=10
/interface bridge port add bridge=BR-SW comment=defconf interface=sfp1
/ip neighbor discovery-settings set discover-interface-list=LAN
/interface bridge vlan add bridge=BR-SW tagged=BR-SW,ether4-BR-SW_U10_T241 untagged=ether3-BR-SW-U241 vlan-ids=241
/interface bridge vlan add bridge=BR-SW tagged=BR-SW untagged=ether4-BR-SW_U10_T241 vlan-ids=10
/interface list member add comment=defconf interface=BR-SW list=LAN
/interface list member add comment=defconf interface=ether1-WAN list=WAN
/interface list member add interface=ether5-off_bridge_wrk list=LAN
/interface list member add interface=vlan10 list=LAN
/interface list member add interface=vlan241 list=LAN
/ip address add address=192.168.88.1/24 comment=defconf interface=BR-SW network=192.168.88.0
/ip address add address=192.168.89.1/24 interface=ether5-off_bridge_wrk network=192.168.89.0
/ip dhcp-client add comment=defconf interface=ether1-WAN
/ip dhcp-client add interface=vlan10
/ip dhcp-client add interface=vlan241
/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 dhcp-server network add address=192.168.89.0/24 dns-server=192.168.89.1 gateway=192.168.89.1
/ip dns set allow-remote-requests=yes
/ip dns static add address=192.168.88.1 comment=defconf name=router.lan
/ip firewall filter add action=accept chain=input comment="defconf: accept established,related,untracked" connection-state=established,related,untracked
/ip firewall filter add action=drop chain=input comment="defconf: drop invalid" connection-state=invalid
/ip firewall filter add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
/ip firewall filter add action=accept chain=input comment="defconf: accept to local loopback (for CAPsMAN)" dst-address=127.0.0.1
/ip firewall filter add action=drop chain=input comment="defconf: drop all not coming from LAN" in-interface-list=!LAN
/ip firewall filter add action=accept chain=forward comment="defconf: accept in ipsec policy" ipsec-policy=in,ipsec
/ip firewall filter add action=accept chain=forward comment="defconf: accept out ipsec policy" ipsec-policy=out,ipsec
/ip firewall filter add action=fasttrack-connection chain=forward comment="defconf: fasttrack" connection-state=established,related hw-offload=yes
/ip firewall filter add action=accept chain=forward comment="defconf: accept established,related, untracked" connection-state=established,related,untracked
/ip firewall filter add action=drop chain=forward comment="defconf: drop invalid" connection-state=invalid
/ip firewall filter 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
/ipv6 firewall address-list add address=::/128 comment="defconf: unspecified address" list=bad_ipv6
/ipv6 firewall address-list add address=::1/128 comment="defconf: lo" list=bad_ipv6
/ipv6 firewall address-list add address=fec0::/10 comment="defconf: site-local" list=bad_ipv6
/ipv6 firewall address-list add address=::ffff:0.0.0.0/96 comment="defconf: ipv4-mapped" list=bad_ipv6
/ipv6 firewall address-list add address=::/96 comment="defconf: ipv4 compat" list=bad_ipv6
/ipv6 firewall address-list add address=100::/64 comment="defconf: discard only " list=bad_ipv6
/ipv6 firewall address-list add address=2001:db8::/32 comment="defconf: documentation" list=bad_ipv6
/ipv6 firewall address-list add address=2001:10::/28 comment="defconf: ORCHID" list=bad_ipv6
/ipv6 firewall address-list 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
/ipv6 firewall filter add action=drop chain=input comment="defconf: drop invalid" connection-state=invalid
/ipv6 firewall filter add action=accept chain=input comment="defconf: accept ICMPv6" protocol=icmpv6
/ipv6 firewall filter add action=accept chain=input comment="defconf: accept UDP traceroute" port=33434-33534 protocol=udp
/ipv6 firewall filter add action=accept chain=input comment="defconf: accept DHCPv6-Client prefix delegation." dst-port=546 protocol=udp src-address=fe80::/10
/ipv6 firewall filter add action=accept chain=input comment="defconf: accept IKE" dst-port=500,4500 protocol=udp
/ipv6 firewall filter add action=accept chain=input comment="defconf: accept ipsec AH" protocol=ipsec-ah
/ipv6 firewall filter add action=accept chain=input comment="defconf: accept ipsec ESP" protocol=ipsec-esp
/ipv6 firewall filter add action=accept chain=input comment="defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec
/ipv6 firewall filter add action=drop chain=input comment="defconf: drop everything else not coming from LAN" in-interface-list=!LAN
/ipv6 firewall filter add action=accept chain=forward comment="defconf: accept established,related,untracked" connection-state=established,related,untracked
/ipv6 firewall filter add action=drop chain=forward comment="defconf: drop invalid" connection-state=invalid
/ipv6 firewall filter add action=drop chain=forward comment="defconf: drop packets with bad src ipv6" src-address-list=bad_ipv6
/ipv6 firewall filter add action=drop chain=forward comment="defconf: drop packets with bad dst ipv6" dst-address-list=bad_ipv6
/ipv6 firewall filter add action=drop chain=forward comment="defconf: rfc4890 drop hop-limit=1" hop-limit=equal:1 protocol=icmpv6
/ipv6 firewall filter add action=accept chain=forward comment="defconf: accept ICMPv6" protocol=icmpv6
/ipv6 firewall filter add action=accept chain=forward comment="defconf: accept HIP" protocol=139
/ipv6 firewall filter add action=accept chain=forward comment="defconf: accept IKE" dst-port=500,4500 protocol=udp
/ipv6 firewall filter add action=accept chain=forward comment="defconf: accept ipsec AH" protocol=ipsec-ah
/ipv6 firewall filter add action=accept chain=forward comment="defconf: accept ipsec ESP" protocol=ipsec-esp
/ipv6 firewall filter add action=accept chain=forward comment="defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec
/ipv6 firewall filter add action=drop chain=forward comment="defconf: drop everything else not coming from LAN" in-interface-list=!LAN
/system clock set time-zone-name=America/New_York
/system package update set channel=testing
/tool mac-server set allowed-interface-list=LAN
/tool mac-server mac-winbox set allowed-interface-list=LAN
[demo@MikroTik] > ip/address/print
Flags: D - DYNAMIC
Columns: ADDRESS, NETWORK, INTERFACE
# ADDRESS NETWORK INTERFACE
;;; defconf
0 192.168.88.1/24 192.168.88.0 BR-SW
1 192.168.89.1/24 192.168.89.0 ether5-off_bridge_wrk
2 D 192.168.241.94/24 192.168.241.0 vlan241
[demo@MikroTik] > ip route/print
Flags: D - DYNAMIC; I, A - ACTIVE; c, d, y - COPY; H - HW-OFFLOADED
Columns: DST-ADDRESS, GATEWAY, DISTANCE
DST-ADDRESS GATEWAY DISTANCE
DAd 0.0.0.0/0 192.168.241.1 1
DAc 192.168.88.0/24 BR-SW 0
DIcH 192.168.89.0/24 ether5-off_bridge_wrk 0
DAc 192.168.241.0/24 vlan241 0
[demo@MikroTik] > interface/bridge/print
Flags: X - disabled, R - running
0 R ;;; defconf
name="BR-SW" mtu=auto actual-mtu=1500 l2mtu=1596 arp=enabled arp-timeout=auto mac-address=DC:2C:6E:7B:10:F2 protocol-mode=rstp fast-forward=yes igmp-snooping=no auto-mac=no admin-mac=DC:2C:6E:7B:10:F2
ageing-time=5m priority=0x8000 max-message-age=20s forward-delay=15s transmit-hold-count=6 vlan-filtering=yes ether-type=0x8100 pvid=1 frame-types=admit-all ingress-filtering=yes dhcp-snooping=no
[demo@MikroTik] > interface bridge port print
Flags: I - INACTIVE; H - HW-OFFLOAD
Columns: INTERFACE, BRIDGE, HW, PVID, PRIORITY, PATH-COST, INTERNAL-PATH-COST, HORIZON
# INTERFACE BRIDGE HW PVID PRIORITY PATH-COST INTERNAL-PATH-COST HORIZON
;;; defconf
0 IH ether2-BR-SW-Base-U1 BR-SW yes 1 0x80 10 10 none
;;; defconf
1 H ether3-BR-SW-U241 BR-SW yes 241 0x80 10 10 none
;;; defconf
2 IH ether4-BR-SW_U10_T241 BR-SW yes 10 0x80 10 10 none
;;; defconf
3 I sfp1 BR-SW yes 1 0x80 10 10 none
[b]Lab ER-X config[/b]
ubnt@ubnt:~$ show configuration | cat
firewall {
all-ping enable
broadcast-ping disable
group {
address-group Pingers {
address 192.168.0.0/16
description "allow ping echo request from"
}
address-group RFC1918 {
address 192.168.0.0/16
address 172.16.0.0/12
address 10.0.0.0/8
description "private addresses"
}
}
ipv6-name WANv6_IN {
default-action drop
description "WAN inbound traffic forwarded to LAN"
enable-default-log
rule 10 {
action accept
description "Allow established/related sessions"
state {
established enable
related enable
}
}
rule 20 {
action drop
description "Drop invalid state"
state {
invalid enable
}
}
}
ipv6-name WANv6_LOCAL {
default-action drop
description "WAN inbound traffic to the router"
enable-default-log
rule 10 {
action accept
description "Allow established/related sessions"
state {
established enable
related enable
}
}
rule 20 {
action drop
description "Drop invalid state"
state {
invalid enable
}
}
rule 30 {
action accept
description "Allow IPv6 icmp"
protocol ipv6-icmp
}
rule 40 {
action accept
description "allow dhcpv6"
destination {
port 546
}
protocol udp
source {
port 547
}
}
}
ipv6-receive-redirects disable
ipv6-src-route disable
ip-src-route disable
log-martians enable
name WAN_IN {
default-action drop
description "WAN to internal"
rule 10 {
action accept
description "Allow established/related"
state {
established enable
related enable
}
}
rule 20 {
action drop
description "Drop invalid state"
state {
invalid enable
}
}
}
name WAN_LOCAL {
default-action drop
description "WAN to router"
rule 10 {
action accept
description "Allow established/related"
state {
established enable
related enable
}
}
rule 20 {
action accept
description "Allow Pingers to request echo"
icmp {
type 8
}
log disable
protocol icmp
source {
group {
address-group Pingers
}
}
}
rule 30 {
action drop
description "Drop invalid state"
state {
invalid enable
}
}
}
receive-redirects disable
send-redirects enable
source-validation disable
syn-cookies enable
}
interfaces {
ethernet eth0 {
description Internet
duplex auto
speed auto
}
ethernet eth1 {
description "Local 2"
duplex auto
speed auto
}
ethernet eth2 {
description Local
duplex auto
speed auto
}
ethernet eth3 {
description Local
duplex auto
speed auto
}
ethernet eth4 {
description Local
duplex auto
speed auto
}
loopback lo {
}
switch switch0 {
description Local
mtu 1500
switch-port {
interface eth1 {
vlan {
pvid 101
vid 107
vid 241
}
}
interface eth2 {
vlan {
pvid 7
vid 10
}
}
interface eth3 {
vlan {
pvid 241
}
}
interface eth4 {
vlan {
pvid 10
vid 241
}
}
vlan-aware enable
}
vif 7 {
address 192.168.247.1/24
description "192.168.247.0/24 vlan"
mtu 1500
}
vif 10 {
address 192.168.249.1/24
description VLAN10
ip {
}
}
vif 101 {
address dhcp
description "WAN on Switch0.101 native"
firewall {
in {
ipv6-name WANv6_IN
name WAN_IN
}
local {
ipv6-name WANv6_LOCAL
name WAN_LOCAL
}
}
ipv6 {
dup-addr-detect-transmits 1
}
}
vif 107 {
address dhcp
description IoT
mtu 1500
}
vif 241 {
address 192.168.241.1/24
description was_eth1.241
}
vif 243 {
address 192.168.243.1/24
description was_eth2
mtu 1500
}
vif 245 {
address 192.168.245.1/24
description "was switch0"
mtu 1500
}
}
}
service {
dhcp-server {
disabled false
hostfile-update disable
shared-network-name LAN1 {
authoritative enable
subnet 192.168.243.0/24 {
default-router 192.168.243.1
dns-server 192.168.243.1
lease 86400
start 192.168.243.38 {
stop 192.168.243.243
}
}
}
shared-network-name LAN2 {
authoritative enable
subnet 192.168.245.0/24 {
default-router 192.168.245.1
dns-server 192.168.245.1
lease 86400
start 192.168.245.38 {
stop 192.168.245.243
}
}
}
shared-network-name VLAN7 {
authoritative enable
subnet 192.168.247.0/24 {
default-router 192.168.247.1
dns-server 192.168.247.1
lease 86400
start 192.168.247.10 {
stop 192.168.247.199
}
}
}
shared-network-name VLAN10 {
authoritative enable
subnet 192.168.249.0/24 {
default-router 192.168.249.1
dns-server 192.168.249.1
lease 86400
start 192.168.249.10 {
stop 192.168.249.199
}
}
}
shared-network-name was_eth1.241 {
authoritative enable
subnet 192.168.241.0/24 {
default-router 192.168.241.1
dns-server 192.168.241.1
lease 86400
start 192.168.241.10 {
stop 192.168.241.200
}
}
}
static-arp disable
use-dnsmasq enable
}
dns {
forwarding {
cache-size 150
listen-on switch0.10
listen-on switch0.7
listen-on switch0.241
listen-on switch0.243
listen-on switch0.245
listen-on switch0.247
listen-on switch0.249
}
}
gui {
http-port 80
https-port 443
older-ciphers enable
}
nat {
rule 5010 {
description "masquerade for WAN"
log disable
outbound-interface switch0.101
protocol all
type masquerade
}
}
ssh {
port 22
protocol-version v2
}
unms {
}
}
system {
analytics-handler {
send-analytics-report false
}
crash-handler {
send-crash-report false
}
host-name ubnt
login {
user ubnt {
authentication {
encrypted-password ****************
}
level admin
}
}
ntp {
server 0.ubnt.pool.ntp.org {
}
server 1.ubnt.pool.ntp.org {
}
server 2.ubnt.pool.ntp.org {
}
server 3.ubnt.pool.ntp.org {
}
}
offload {
hwnat enable
}
syslog {
global {
facility all {
level notice
}
facility protocols {
level debug
}
}
}
time-zone UTC
}
ubnt@ubnt:~$ show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
> - selected route, * - FIB route, p - stale info
IP Route Table for VRF "default"
S *> 0.0.0.0/0 [210/0] via 192.168.107.1, switch0.107
*> [210/0] via 192.168.101.1, switch0.101
C *> 127.0.0.0/8 is directly connected, lo
C *> 192.168.101.0/24 is directly connected, switch0.101
C *> 192.168.107.0/24 is directly connected, switch0.107
C *> 192.168.241.0/24 is directly connected, switch0.241
C *> 192.168.243.0/24 is directly connected, switch0.243
C *> 192.168.245.0/24 is directly connected, switch0.245
C *> 192.168.247.0/24 is directly connected, switch0.7
C *> 192.168.249.0/24 is directly connected, switch0.10
ubnt@ubnt:~$ show dhcp leases
IP address Hardware Address Lease expiration Pool Client Name
---------- ---------------- ---------------- ---- -----------
192.168.241.94 dc:2c:6e:ca:fe:f2 2022/03/14 07:23:14 was_eth1.241 MikroTik
192.168.241.95 dc:a6:32:de:ad:39 2022/03/13 22:07:42 was_eth1.241 JonRPi4B4-1
192.168.247.10 8c:ae:4c:be:ef:e8 2022/03/14 07:25:07 VLAN7 OP380
ubnt@ubnt:~$
I'm not @mkx, but here's my understanding. If it isn't correct, someone can correct me.@mkx, reading your post, i tried to visualize the Tagged and Untagged End...
If i understood correctly, you name Tagged end, the Interface used under /Interface VLAN ?
And Untagged End the IP address Interface ?
My question is mostly related to what @mkx names as Tagged end and Untagged end...
/interface vlan
add interface=ether1 name=e1v13 vlan-id=13
add interface=ether1 name=e1v42 vlan-id=42
...