DuMbh3aD Публикувано 1 Февруари, 2022 Доклад Сподели Публикувано 1 Февруари, 2022 Здравейте, Новак съм в писането на скриптове и някой неща не ги разбирам. Опитвам се да си направя скрипт с който да следя продължителността на VPN конекциите. На пръв поглед изглежда елементарно, но когато го сложа в "On Down" секцията не работи. :log info ($user . " disconnect from " . $"caller-id" . ". Uptime connection - " . [/interface sstp-server get $interface uptime]) Предполагам не работи, защото при "On Down" интерфейса вече не съществува. Може би трябва при "On Up" да се стартира system script с някакъв таймер и при "On Down" да го спира? Адрес на коментара Сподели в други сайтове More sharing options...
DuMbh3aD Отговорено 1 Февруари, 2022 Автор Доклад Сподели Отговорено 1 Февруари, 2022 След няколко часа успях да сътворя следното: On Up: :local UserDomainName ($user . ".domain.name"); /ip dns static add address=$"remote-address" name=$UserDomainName; :log info ($user . " connect with private IP address " . $"remote-address" . " from " . $"caller-id"); On Down :local UserUpTime [/interface sstp-server get $interface uptime]; :local UserDomainName ($user . ".domain.name"); /ip dns static remove [find name=$UserDomainName]; :log info ($user . " disconnect. Uptime connection - " . $UserUpTime); Новото което ме мъчи сега е как да запиша тези логове във файл? Пробвах с /file set SSTP-log.txt contents=($user . " disconnect. Uptime connection - " . $UserUpTime). Записва се само последното събитие и няма дата и час. Адрес на коментара Сподели в други сайтове More sharing options...
Администратор JohnTRIVOLTA Отговорено 1 Февруари, 2022 Администратор Доклад Сподели Отговорено 1 Февруари, 2022 (Редактирано) /system/logging/action add disk-file-count=10 disk-file-name=flash/pppstats disk-lines-per-file=2000 name=pppstat target=disk /system/logging/set topics=info action=pppstat Може да си промените параметрите на файла и броят им! Редактирано 1 Февруари, 2022 от JohnTRIVOLTA Адрес на коментара Сподели в други сайтове More sharing options...
DuMbh3aD Отговорено 2 Февруари, 2022 Автор Доклад Сподели Отговорено 2 Февруари, 2022 По този начин всичко с topic info се записва във файла включително и dhcp, info; system, info; script, info ... Ако направя "/system logging add action=PPPStats topics=info, sstp" във файла не се записват логовете, които ми трябват, ако направя "/system logging add action=PPPStats topics=info, script" се записват и логове от други скриптове. може ли да се направи нещо като това: :log sstpstats ($user . " disconnect. Uptime connection - " . $UserUpTime); /system logging add action=PPPStats topics=sstpstats Адрес на коментара Сподели в други сайтове More sharing options...
Администратор 111111 Отговорено 2 Февруари, 2022 Администратор Доклад Сподели Отговорено 2 Февруари, 2022 Преди 1 час, DuMbh3aD написа: По този начин всичко с topic info се записва във файла включително и dhcp, info; system, info; script, info ... Ако направя "/system logging add action=PPPStats topics=info, sstp" във файла не се записват логовете, които ми трябват, ако направя "/system logging add action=PPPStats topics=info, script" се записват и логове от други скриптове. може ли да се направи нещо като това: :log sstpstats ($user . " disconnect. Uptime connection - " . $UserUpTime); /system logging add action=PPPStats topics=sstpstats Има опция за изключване на всички ненужни неща от лога /system logging add topics=ipsec,debug,sstp,!dhcp,!interface в примера интерфейсите и dhcp не се отразяват в лога Харесай поста ^^^ Форумът е за взаимопомощ а не за свършване на чужда работа ɹɐǝɥ uɐɔ noʎ ǝɹoɯ ǝɥʇ 'ǝɯoɔǝq noʎ ɹǝʇǝınb ǝɥʇ Адрес на коментара Сподели в други сайтове More sharing options...
DuMbh3aD Отговорено 2 Февруари, 2022 Автор Доклад Сподели Отговорено 2 Февруари, 2022 (Редактирано) Ще си задам въпроса по друг начин. /ppp profile add change-tcp-mss=yes dns-server=10.0.0.1 local-address=10.0.0.1 name=SSTP_Profile on-down=":local UserUpTime [/interface sstp-server get \$interface uptime];\r\ \n:local UserDomainName (\$user . \".domain.name\");\r\ \n/ip dns static remove [find name=\$UserDomainName];\r\ \n:log info (\$user . \" disconnect. Uptime connection - \" . \$UserUpTime);" on-up=\ ":local UserDomainName (\$user . \".domain.name\");\r\ \n/ip dns static add address=\$\"remote-address\" name=\$UserDomainName;\r\ \n:log info (\$user . \" connect with private IP address \" . \$\"remote-address\" . \" from \" . \$\"caller-id\");" use-encryption=yes /ip dhcp-server add address-pool=pool1 disabled=no interface=bridge1 lease-script=":local IPofLease \$leaseActIP;\r\ \n:if (\$leaseBound = 1) do={ \r\ \n:log info (\$leaseServerName . \" assigned \" . \$leaseActIP . \" to \" . \$leaseActMAC . \" - \" . ([/ip dhcp-server lease get [find active-address=\$leaseActIP] host-name]));\r\ \n/queue simple add name=\$IPofLease target=\$leaseActIP limit-at=10M/10M max-limit=10M/10M comment=(\$leaseActIP . \" - \" . \$leaseActMAC . \" - \" . ([/ip dhcp-server lease get [find active-address=\$leaseActIP] host-name]));\r\ \n} else={\r\ \n/queue simple remove [find name=\$IPofLease];\r\ \n:log info (\$leaseServerName . \" deassigned \" . \$leaseActIP . \" from \" . \$leaseActMAC);\r\ \n}" name=server1 Логовете и от PPP Profile и от DHSP Serve за записват с един и същ топик - script, info. Как да ги разделя да се записват в различни файлове, като в PPPProfile.txt да се записват само логовете от профила, а в dhcpserver.txt да се записват логовете само от сървъра? 13:05:20 dhcp,info server1 deassigned 192.168.88.51 from AA:AA:AA:AA:AA:AA 13:05:20 script,info server1 deassigned 192.168.88.51 from AA:AA:AA:AA:AA:AA - HUAWEI_Mate_20_Pro 13:05:20 system,info simple queue removed 13:20:12 sstp,ppp,info <sstp-USER1>: terminating... 13:20:12 sstp,ppp,info,account USER1 logged out from YY.YY.YY.YY 13:20:12 sstp,ppp,info <sstp-USER1>: disconnected 13:20:12 system,info static dns entry removed 13:20:12 script,info USER1 disconnect. Uptime connection - 00:26:59 Редактирано 2 Февруари, 2022 от DuMbh3aD Адрес на коментара Сподели в други сайтове More sharing options...
Администратор 111111 Отговорено 3 Февруари, 2022 Администратор Доклад Сподели Отговорено 3 Февруари, 2022 Явно не се усещаш че ти пишем за различно нещо. Ползвай лога на системата не на сървисите. Харесай поста ^^^ Форумът е за взаимопомощ а не за свършване на чужда работа ɹɐǝɥ uɐɔ noʎ ǝɹoɯ ǝɥʇ 'ǝɯoɔǝq noʎ ɹǝʇǝınb ǝɥʇ Адрес на коментара Сподели в други сайтове More sharing options...
DuMbh3aD Отговорено 3 Февруари, 2022 Автор Доклад Сподели Отговорено 3 Февруари, 2022 6 hours ago, 111111 said: Явно не се усещаш че ти пишем за различно нещо. Най-вероятно сте прав. 6 hours ago, 111111 said: Ползвай лога на системата не на сървисите. Можи ли малко по-подробно да опишете как да се случи това? /system logging export # feb/03/2022 14:20:59 by RouterOS 6.49.2 # software id = CWFJ-R1SN # model = RB4011iGS+5HacQ2HnD /system logging action add disk-file-count=5 disk-file-name=PPPProfile disk-lines-per-file=2000 name=PPPProfile target=disk /system logging add action=PPPProfile topics=sstp,!packet,!debug Така не се записва информацията, която ми трябва. PPPProfile.0.txt Адрес на коментара Сподели в други сайтове More sharing options...
Администратор 111111 Отговорено 3 Февруари, 2022 Администратор Доклад Сподели Отговорено 3 Февруари, 2022 Най-елементарно е да си направиш един лог в паметта, да му сложиш един префикс и да си ръчкаш наживо. Така тези с префикса ще си ги различаваш, така ще нацелиш нужното и когато си готов си го прехвърли в текстов лог който да се пише на някоя флашка. Харесай поста ^^^ Форумът е за взаимопомощ а не за свършване на чужда работа ɹɐǝɥ uɐɔ noʎ ǝɹoɯ ǝɥʇ 'ǝɯoɔǝq noʎ ɹǝʇǝınb ǝɥʇ Адрес на коментара Сподели в други сайтове More sharing options...
DuMbh3aD Отговорено 4 Февруари, 2022 Автор Доклад Сподели Отговорено 4 Февруари, 2022 Благодара за помощта. Добавих следните редове в On Up и On Down и нещата се получиха :local DateTime ([/system clock get date] . " - " . [/system clock get time] . " "); :local PPPProfileFile [/file get flash/PPPProfile.txt contents]; :local PPPProfileLog ($DateTime . $user . " disconnect. Uptime connection - " . $UserUpTime); /file set flash/PPPProfile.txt contents="$PPPProfileFile \n $PPPProfileLog"; Адрес на коментара Сподели в други сайтове More sharing options...
Recommended Posts
Създайте нов акаунт или се впишете, за да коментирате
За да коментирате, трябва да имате регистрация
Създайте акаунт
Присъединете се към нашата общност. Регистрацията става бързо!
Регистрация на нов акаунтВход
Имате акаунт? Впишете се оттук.
Вписване