I'm planning on running multiple PPPoE connections from a RB to the same provider.
I wondering does router os support putting PPPoE client interfaces into a VRF?
Thanks in advance
Mark
:local localAddr $"local-address"
:local remoteAddr $"remote-address"
:local callerId $"caller-id"
:local calledId $"called-id"
:local interfaceName [/interface get $interface name]
:local calledRealm [:pick $user ([:find $user "@" ]+1) 60]
:local vrfId [/ip route vrf find where routing-mark=$calledRealm]
/ip route vrf print terse file=($calledRealm."Members") where routing-mark=$calledRealm
:local actualVrfIfs [/file get ($calledRealm."Members") contents] ;
:local actualExistentIfs [:pick $actualVrfIfs ([:find $actualVrfIfs "interfaces=" ]+11) ([:find $actualVrfIfs "route-distinguisher=" ]-1)]
/ip route vrf set $vrfId interfaces="$actualExistentIfs,$interfaceName"
:log info "$user (srcIp=$callerId, dstIp=$calledId) connected: was given $remoteAddr IP (GW $localAddr) and assigned to $interfaceName interface in VRF $calledRealm"
/file set ($calledRealm."Members") contents=""
/ip route vrf print terse file=($calledRealm."Members") where routing-mark=$calledRealm
:local localAddr $"local-address"
:local remoteAddr $"remote-address"
:local callerId $"caller-id"
:local calledId $"called-id"
:local interfaceName [/interface get $interface name]
:local calledRealm [:pick $user ([:find $user "@" ]+1) 60]
:local vrfId [/ip route vrf find where routing-mark=$calledRealm]
/ip route vrf print terse file=($calledRealm."CleanUpMembers") where routing-mark=$calledRealm
:local cleanUpVrfIfs [/file get ($calledRealm."CleanUpMembers") contents] ;
:local lenInterfaceName [:len $interfaceName]
:local cleanUpExistentIfs ([:pick $cleanUpVrfIfs ([:find $cleanUpVrfIfs "interfaces=" ]+11) ([:find $cleanUpVrfIfs (",".$interfaceName) ] +0)]. \
[:pick $cleanUpVrfIfs ([:find $cleanUpVrfIfs $interfaceName ] + $lenInterfaceName) ([:find $cleanUpVrfIfs "route-distinguisher=" ]-1)])
:put $cleanUpExistentIfs
:put $lenInterfaceName
/ip route vrf set $vrfId interfaces="$cleanUpExistentIfs"
/file set ($calledRealm."CleanUpMembers") contents=""
/file set ($calledRealm."Members") contents=""
/ip route vrf print terse file=($calledRealm."Members") where routing-mark=$calledRealm
[admin@CHR_v6432] >
[admin@CHR_v6432] >
13:18:00 echo: ovpn,info TCP connection established from 192.168.67.92
[admin@CHR_v6432] >
13:18:01 echo: ovpn,info : using encoding - AES-256-CBC/SHA1
13:18:01 echo: ovpn,info,account fury-0@ponnyhof logged in, 172.23.24.19
[admin@CHR_v6432] >
13:18:01 echo: ovpn,info <ovpn-fury-0@ponnyhof>: connected
13:18:01 echo: system,info vrf ponnyhof changed
13:18:01 echo: script,info fury-0@ponnyhof (srcIp=192.168.67.92, dstIp=192.168.67.152) connected: was given 172.23.24.19 IP (GW 172.23.24.4) and assigned to <ovpn-fury-0@ponnyhof> interface in VRF ponnyhof
[admin@CHR_v6432] >
[admin@CHR_v6432] >
[admin@CHR_v6432] >
[admin@CHR_v6432] > /ip route vrf print terse
0 comment=ponnyhof routing-mark=ponnyhof interfaces=vlan666,<ovpn-fury-0@ponnyhof> route-distinguisher=1.1.1.6:66
1 comment=metzgerei routing-mark=metzgerei interfaces=vlan667 route-distinguisher=1.1.1.7:67
2 comment=neue routing-mark=neue interfaces=""
[admin@CHR_v6432] >
[admin@CHR_v6432] >
[admin@CHR_v6432] >
[admin@CHR_v6432] >
13:18:49 echo: ovpn,info <ovpn-fury-0@ponnyhof>: terminating... - peer disconnected
13:18:49 echo: system,info vrf ponnyhof changed
[admin@CHR_v6432] >
13:18:50 echo: ovpn,info,account fury-0@ponnyhof logged out, 49 10783 16 65 1
13:18:50 echo: ovpn,info <ovpn-fury-0@ponnyhof>: disconnected
[admin@CHR_v6432] >
[admin@CHR_v6432] >
[admin@CHR_v6432] >
[admin@CHR_v6432] >
13:20:16 echo: ovpn,info TCP connection established from 192.168.67.92
[admin@CHR_v6432] >
13:20:17 echo: ovpn,info : using encoding - AES-256-CBC/SHA1
13:20:17 echo: ovpn,info,account fury-0@metzgerei logged in, 172.23.24.29
13:20:17 echo: ovpn,info <ovpn-fury-0@metzgerei>: connected
13:20:17 echo: system,info vrf metzgerei changed
13:20:17 echo: script,info fury-0@metzgerei (srcIp=192.168.67.92, dstIp=192.168.67.152) connected: was given 172.23.24.29 IP (GW 172.23.24.3) and assigned to <ovpn-fury-0@metzgerei> interface in VRF metzgerei
[admin@CHR_v6432] >
[admin@CHR_v6432] >
[admin@CHR_v6432] >
[admin@CHR_v6432] > /ip route vrf print terse
0 comment=ponnyhof routing-mark=ponnyhof interfaces=vlan666 route-distinguisher=1.1.1.6:66
1 comment=metzgerei routing-mark=metzgerei interfaces=vlan667,<ovpn-fury-0@metzgerei> route-distinguisher=1.1.1.7:67
2 comment=neue routing-mark=neue interfaces=""
[admin@CHR_v6432] >
13:20:50 echo: ovpn,info <ovpn-fury-0@metzgerei>: terminating... - peer disconnected
13:20:50 echo: ovpn,info,account fury-0@metzgerei logged out, 33 10165 16 53 1
13:20:50 echo: ovpn,info <ovpn-fury-0@metzgerei>: disconnected
13:20:50 echo: system,info vrf metzgerei changed
[admin@CHR_v6432] >
[admin@CHR_v6432] >
[admin@CHR_v6432] >
[admin@CHR_v6432] >
[admin@CHR_v6432] >
13:21:54 echo: ovpn,info TCP connection established from 192.168.100.120
13:21:55 echo: ovpn,info : using encoding - AES-256-CBC/SHA1
13:21:55 echo: ovpn,info,account fury-1@ponnyhof logged in, 172.23.24.19
[admin@CHR_v6432] >
13:21:55 echo: ovpn,info <ovpn-fury-1@ponnyhof>: connected
13:21:55 echo: system,info vrf ponnyhof changed
13:21:55 echo: script,info fury-1@ponnyhof (srcIp=192.168.100.120, dstIp=192.168.67.152) connected: was given 172.23.24.19 IP (GW 172.23.24.6) and assigned to <ovpn-fury-1@ponnyhof> interface in VRF ponnyhof
[admin@CHR_v6432] >
[admin@CHR_v6432] >
[admin@CHR_v6432] >
[admin@CHR_v6432] > /ip route vrf print terse
0 comment=ponnyhof routing-mark=ponnyhof interfaces=vlan666,<ovpn-fury-1@ponnyhof> route-distinguisher=1.1.1.6:66
1 comment=metzgerei routing-mark=metzgerei interfaces=vlan667 route-distinguisher=1.1.1.7:67
2 comment=neue routing-mark=neue interfaces=""
[admin@CHR_v6432] >
13:22:35 echo: ovpn,info TCP connection established from 192.168.67.92
[admin@CHR_v6432] >
13:22:37 echo: ovpn,info : using encoding - AES-256-CBC/SHA1
13:22:37 echo: ovpn,info,account fury-0@ponnyhof logged in, 172.23.24.18
13:22:37 echo: ovpn,info <ovpn-fury-0@ponnyhof>: connected
13:22:37 echo: system,info vrf ponnyhof changed
13:22:37 echo: script,info fury-0@ponnyhof (srcIp=192.168.67.92, dstIp=192.168.67.152) connected: was given 172.23.24.18 IP (GW 172.23.24.4) and assigned to <ovpn-fury-0@ponnyhof> interface in VRF ponnyhof
[admin@CHR_v6432] >
[admin@CHR_v6432] >
[admin@CHR_v6432] >
[admin@CHR_v6432] > /ip route vrf print terse
0 comment=ponnyhof routing-mark=ponnyhof interfaces=vlan666,<ovpn-fury-1@ponnyhof>,<ovpn-fury-0@ponnyhof> route-distinguisher=1.1.1.6:66
1 comment=metzgerei routing-mark=metzgerei interfaces=vlan667 route-distinguisher=1.1.1.7:67
2 comment=neue routing-mark=neue interfaces=""
[admin@CHR_v6432] >
13:23:08 echo: ovpn,info <ovpn-fury-1@ponnyhof>: terminating... - peer disconnected
13:23:08 echo: system,info vrf ponnyhof changed
[admin@CHR_v6432] >
13:23:09 echo: ovpn,info,account fury-1@ponnyhof logged out, 74 3928 32 55 2
[admin@CHR_v6432] >
13:23:09 echo: ovpn,info <ovpn-fury-1@ponnyhof>: disconnected
[admin@CHR_v6432] >
[admin@CHR_v6432] >
[admin@CHR_v6432] >
[admin@CHR_v6432] > /ip route vrf print terse
0 comment=ponnyhof routing-mark=ponnyhof interfaces=vlan666,<ovpn-fury-0@ponnyhof> route-distinguisher=1.1.1.6:66
1 comment=metzgerei routing-mark=metzgerei interfaces=vlan667 route-distinguisher=1.1.1.7:67
2 comment=neue routing-mark=neue interfaces=""
[admin@CHR_v6432] >
13:23:25 echo: ovpn,info <ovpn-fury-0@ponnyhof>: terminating... - peer disconnected
13:23:25 echo: ovpn,info,account fury-0@ponnyhof logged out, 48 10160 16 53 1
13:23:25 echo: ovpn,info <ovpn-fury-0@ponnyhof>: disconnected
13:23:25 echo: system,info vrf ponnyhof changed
[admin@CHR_v6432] >
[admin@CHR_v6432] >
[admin@CHR_v6432] >
[admin@CHR_v6432] > /ip route vrf print terse
0 comment=ponnyhof routing-mark=ponnyhof interfaces=vlan666 route-distinguisher=1.1.1.6:66
1 comment=metzgerei routing-mark=metzgerei interfaces=vlan667 route-distinguisher=1.1.1.7:67
2 comment=neue routing-mark=neue interfaces=""
[admin@CHR_v6432] >
:local localAddr $"local-address"
:local remoteAddr $"remote-address"
:local callerId $"caller-id"
:local calledId $"called-id"
:local interfaceName [/interface get $interface name]
:local calledRealm [:pick $user ([:find $user "@" ]+1) 60]
:local vrfId [/ip route vrf find where routing-mark=$calledRealm]
:delay 2
/ip route vrf print terse file=($calledRealm."CleanUpMembersSec") where routing-mark=$calledRealm
:local cleanUpVrfIfsSec [/file get ($calledRealm."CleanUpMembersSec") contents] ;
:local cleanUpExistentIfsSec ([:pick $cleanUpVrfIfsSec ([:find $cleanUpVrfIfsSec "interfaces=" ]+11) ([:find $cleanUpVrfIfsSec F00 ] -2)]. \
[:pick $cleanUpVrfIfsSec ([:find $cleanUpVrfIfsSec F00 ] + 6) ([:find $cleanUpVrfIfsSec "route-distinguisher=" ]-1)])
:put $cleanUpExistentIfsSec
/ip route vrf set $vrfId interfaces="$cleanUpExistentIfsSec"
/file set ($calledRealm."CleanUpMembersSec") contents=""
/file set ($calledRealm."Members") contents=""
/ip route vrf print terse file=($calledRealm."Members") where routing-mark=$calledRealm
Type Name Value
1. Radius:IETF Termination-Action = RADIUS-Request (1)
2. Radius:Mikrotik Mikrotik-Group = metzgerei
3. Radius:IETF Framed-Pool = metzgerei-pool
4. Radius:IETF Filter-Id = metzgerei-in.in
5. Click to add...
#:local calledRealm [:pick $user ([:find $user "@" ]+1) 60]
:local calledRealm metzgerei
:local localAddr $"local-address"
:local remoteAddr $"remote-address"
:local callerId $"caller-id"
:local calledId $"called-id"
:local interfaceName [/interface get $interface name]
:local calledRealm [:pick $user ([:find $user "@" ]+1) 60]
/interface/list/member/add interface=$interfaceName list=$calledRealm
:log info "$user (Caller=$callerId, Called=$calledId) connected: Client: $remoteAddr IP Router-Local-IP: $localAddr, assigned to $interfaceName interface in VRF $calledRealm"
:local localAddr $"local-address"
:local remoteAddr $"remote-address"
:local callerId $"caller-id"
:local calledId $"called-id"
:local interfaceName [/interface get $interface name]
:local calledRealm [:pick $user ([:find $user "@" ]+1) 60]
:delay 4
/interface/list/member/remove numbers=[find where interface~"^.F00.*\$"]