Привет! Довольно долго мучился, чтобы заставить работать переменные, которые доступны в скриптах ppp on-up и on-down, потому что названия переменных содержат дефисы: local-address, remote-address, caller-id, called-id. Переменная interface — это не имя интерфейса. В итоге мне удалось собрать новые и удобные переменные:
:local localAddr
:local remoteAddr
:local callerId
:local calledId
:local interfaceName
:set localAddr $"local-address"
:set remoteAddr $"remote-address"
:set callerId $"caller-id"
:set calledId $"called-id"
:set interfaceName [/interface get $interface name]
:log info "$user (srcIp=$callerId, dstIp=$calledId) подключился: ему выдали IP $remoteAddr (GW $localAddr) и назначили интерфейс $interfaceName"
Надеюсь, этот пример будет полезен другим. В конце концов моя идея — добавлять/удалять правила Firewall Filter для конкретного IPSec клиентского интерфейса, потому что имя интерфейса меняется на unknown после отключения клиента, И ещё потому, что когда я использую PPP incoming-filter/outgoing-filter и прыгаю в цепочку ppp из цепочки forward, мой ROS 6.33.3 начинает вести себя странно и удаляет все мои мостовые интерфейсы.
:local localAddr
:local remoteAddr
:local callerId
:local calledId
:local interfaceName
:set localAddr $"local-address"
:set remoteAddr $"remote-address"
:set callerId $"caller-id"
:set calledId $"called-id"
:set interfaceName [/interface get $interface name]
:log info "$user (srcIp=$callerId, dstIp=$calledId) подключился: ему выдали IP $remoteAddr (GW $localAddr) и назначили интерфейс $interfaceName"
Надеюсь, этот пример будет полезен другим. В конце концов моя идея — добавлять/удалять правила Firewall Filter для конкретного IPSec клиентского интерфейса, потому что имя интерфейса меняется на unknown после отключения клиента, И ещё потому, что когда я использую PPP incoming-filter/outgoing-filter и прыгаю в цепочку ppp из цепочки forward, мой ROS 6.33.3 начинает вести себя странно и удаляет все мои мостовые интерфейсы.
