I’m testing a combination of hotspot and PPPoE setup (with User Manager as the common username storage), and while it works fine in terms of giving everyone internet access, there’s an annoying issue I can’t solve…
Some users are supposed to have access to the router from the local network (I’m marking their IPs in an address list called “power”). After some tinkering, I have rules to let only hotspot users in that address list have Winbox access, but with PPPoE… nobody has any access to the router, ever.
How to enable Winbox access over PPPoE for some users? I’m very new to PPPoE, so I have no idea… my additional hotspot rules certainly are not the cause, as there was no access before that either.
Here’s the entire router’s export (ready to replace any existing configuration; “admin” is the username I’m trying to give access to):
# RouterOS 6.27
# RB951Ui-2HnD
/interface bridge
remove [find]
add admin-mac=D4:CA:6D:F5:C3:9B auto-mac=no name=bridge-local
/interface ethernet
set [ find default-name=ether1 ] name=ether1-gateway
set [ find default-name=ether2 ] arp=reply-only name=ether2-master-local
set [ find default-name=ether3 ] arp=reply-only master-port=\
ether2-master-local name=ether3-slave-local
set [ find default-name=ether4 ] arp=reply-only master-port=\
ether2-master-local name=ether4-slave-local
set [ find default-name=ether5 ] arp=reply-only master-port=\
ether2-master-local name=ether5-slave-local
/interface wireless
set [ find default-name=wlan1 ] arp=reply-only band=2ghz-b/g/n channel-width=\
20/40mhz-Ce country=bulgaria default-forwarding=no distance=indoors \
frequency=auto l2mtu=1600 mode=ap-bridge ssid=FFFF wireless-protocol=\
802.11
/ip neighbor discovery
set ether1-gateway discover=no
/interface wireless security-profiles
set [ find default=yes ] authentication-types=wpa2-eap mode=dynamic-keys \
radius-eap-accounting=yes
/queue simple
remove [find]
add max-limit=100M/100M name=total queue=default/default target=bridge-local
add name=total-rogue parent=total queue=default/default target=bridge-local
/radius incoming
set accept=yes
/radius
remove [find]
add address=127.0.0.1 secret=1234 service=ppp,hotspot
/tool user-manager customer
set admin access=\
own-routers,own-users,own-profiles,own-limits,config-payment-gw city=\
Plovdiv country=Bulgaria currency=BGN time-zone=+02:00
/tool user-manager profile
remove [find]
add name=Unlimited name-for-users=Unlimited override-shared-users=unlimited \
owner=admin price=0 starts-at=logon validity=0s
add name=cheap name-for-users="Low offer" override-shared-users=unlimited \
owner=admin price=10 starts-at=logon validity=4w2d
/tool user-manager profile limitation
remove [find]
add address-list="" download-limit=0B group-name="" ip-pool="" name=\
low-limits owner=admin rate-limit-min-rx=10485760B rate-limit-min-tx=\
10485760B rate-limit-rx=10485760B rate-limit-tx=10485760B transfer-limit=\
0B upload-limit=0B uptime-limit=0s
add address-list=power download-limit=0B group-name="" ip-pool="" name=\
no-limits owner=admin transfer-limit=0B upload-limit=0B uptime-limit=0s
/tool user-manager profile profile-limitation
remove [find]
add from-time=0s limitation=low-limits profile=cheap till-time=23h59m59s \
weekdays=sunday,monday,tuesday,wednesday,thursday,friday,saturday
add from-time=0s limitation=no-limits profile=Unlimited till-time=23h59m59s \
weekdays=sunday,monday,tuesday,wednesday,thursday,friday,saturday
/tool user-manager router
remove [find]
add coa-port=1700 customer=admin disabled=no ip-address=127.0.0.1 log="" \
name=localhost shared-secret=1234 use-coa=no
/tool user-manager user
remove [find]
add customer=admin disabled=no name=emily password=emily1234 shared-users=\
unlimited wireless-enc-algo=aes-ccm wireless-enc-key=emily1234 \
wireless-psk=emily1234
add customer=admin disabled=no name=admin password="" shared-users=unlimited \
wireless-enc-algo=aes-ccm wireless-enc-key="" wireless-psk=""
create-and-activate-profile admin customer=admin profile=Unlimited
create-and-activate-profile emily customer=admin profile=cheap
:delay 2s
/ip hotspot profile
set [ find default=yes ] dns-name=router.local hotspot-address=192.168.88.1 \
nas-port-type=ethernet use-radius=yes
/ip pool
remove [find]
add name=dhcp ranges=192.168.88.10-192.168.88.254
/ip dhcp-server
remove [find]
add add-arp=yes address-pool=dhcp bootp-lease-time=lease-time bootp-support=\
dynamic disabled=no interface=bridge-local name=default
/ip hotspot
remove [find]
add address-pool=dhcp addresses-per-mac=1 disabled=no idle-timeout=10m \
interface=bridge-local keepalive-timeout=1m name=hotspot1
/ip hotspot user profile
set [ find default=yes ] address-list=authenticated,hotspot \
insert-queue-before=total-rogue on-logout=":if (\"user request\"=\$cause) \
do={\r\
\n /ip hotspot cookie remove [find user=\$user]\r\
\n}" parent-queue=total queue-type=default
/ppp profile
set "default" address-list=authenticated,pppoe insert-queue-before=total-rogue \
local-address=dhcp parent-queue=total queue-type=default remote-address=\
dhcp use-ipv6=default
/ppp aaa
set use-radius=yes
/interface bridge port
remove [find]
add bridge=bridge-local interface=ether2-master-local
add bridge=bridge-local interface=wlan1
/interface pppoe-server server
remove [find]
add authentication=chap,mschap1,mschap2 disabled=no interface=bridge-local \
one-session-per-host=yes service-name=pppoe1
/ip address
remove [find]
add address=192.168.88.1/24 comment="default configuration" interface=\
ether2-master-local network=192.168.88.0
/ip dhcp-client
remove [find]
add comment="default configuration" dhcp-options=hostname,clientid disabled=\
no interface=ether1-gateway
/ip dhcp-server network
remove [find]
add address=192.168.88.0/24 comment="default configuration" gateway=\
192.168.88.1 netmask=24
/ip dns
set allow-remote-requests=yes
/ip dns static
remove [find]
add address=192.168.88.1 name=router
/ip cloud
set ddns-enabled=yes update-time=yes
/ip firewall filter
remove [find dynamic=no]
:delay 2s
add action=jump chain=pre-hs-input jump-target=alt-input src-address-list=\
authenticated
add action=return chain=pre-hs-input
add action=return chain=alt-input src-address-list=!power
add chain=alt-input
add action=drop chain=hs-input
add action=passthrough chain=unused-hs-chain comment=\
"place hotspot rules here" disabled=yes
add chain=input comment="default configuration" protocol=icmp
add chain=input comment="default configuration" connection-state=\
established,related
add action=drop chain=input comment="default configuration" in-interface=\
ether1-gateway
add chain=forward comment="default configuration" connection-state=\
established,related
add action=drop chain=forward comment="default configuration" \
connection-state=invalid
add action=drop chain=forward comment="default configuration" \
connection-nat-state=!dstnat connection-state=new in-interface=\
ether1-gateway
/ip firewall nat
remove [find dynamic=no]
:delay 2s
add action=passthrough chain=unused-hs-chain comment=\
"place hotspot rules here" disabled=yes
add action=masquerade chain=srcnat comment="default configuration" \
out-interface=ether1-gateway
/ip upnp interfaces
remove [find]
add interface=bridge-local type=internal
add interface=ether1-gateway type=external
/ip upnp
set enabled=yes
/system clock
set time-zone-name=Europe/Sofia
/system lcd
set contrast=0 enabled=no port=parallel type=24x4
/system lcd page
set time disabled=yes display-time=5s
set resources disabled=yes display-time=5s
set uptime disabled=yes display-time=5s
set packets disabled=yes display-time=5s
set bits disabled=yes display-time=5s
set version disabled=yes display-time=5s
set identity disabled=yes display-time=5s
set bridge-local disabled=yes display-time=5s
set wlan1 disabled=yes display-time=5s
set ether1-gateway disabled=yes display-time=5s
set ether2-master-local disabled=yes display-time=5s
set ether3-slave-local disabled=yes display-time=5s
set ether4-slave-local disabled=yes display-time=5s
set ether5-slave-local disabled=yes display-time=5s
/tool mac-server
remove [find default=no]
set [ find default=yes ] disabled=yes
add interface=ether2-master-local
add interface=wlan1
/tool mac-server mac-winbox
remove [find default=no]
set [ find default=yes ] disabled=yes
add interface=ether2-master-local
add interface=wlan1