nuc
ага
В пропасал как вариант лайвтайм уменьшить......
Sergey
уже раз 30й по разному пробую, сейчас пока такой вариант, не работает условие
Sergey
если есть возможность напишите как правильно такие вещи делаются
nuc
:local c "test" :local i [/ip firewall filter find comment=$c] :if (i=true) do={ log warning "This rule is exists" }
неверно, напиши в терминале /ip firewall filter find и нажми там, посмотри, какие команды ты видишь, которые могут тебе помочь выбрать что-то конкретное...
Sergey
А еще что есть?
целая куча всего)
Sergey
nuc
целая куча всего)
Верно) Но что больше всего подойдет для "отсеивания"?)
Sergey
find where comment=“test” ?
nuc
find where comment=“test” ?
Верно, можно и без where, но лучше начинать с правильных построений)
nuc
:local c "test" :local i [/ip firewall filter find comment=$c] :if (i=true) do={ log warning "This rule is exists" }
А попробуй теперь, вместо переменной i, использовать конструкцию поиска)
Sergey
Так пробовал в начале. Не работает. Я поэтому и попросил, если кто умеет написать скрипт, потому, что не пойму где проблема.
nuc
Так пробовал в начале. Не работает. Я поэтому и попросил, если кто умеет написать скрипт, потому, что не пойму где проблема.
Что бы понимать что что-то не работает, ты можешь использовать дебаг, в виде отправки в лог, полученного результата... :log info [/ip firewall filter find where comment="test"] ну или в терминале :put [/ip firewall filter find where comment="test"] *А если есть вероятность что будет несколько таких правил, то данная конструкция не корректна уже...
Sergey
А как понять, что правило с таким комментом найдено, т.е. true? В питоне например я могу посмотреть что находится в i
Sergey
А тут никак
nuc
А как понять, что правило с таким комментом найдено, т.е. true? В питоне например я могу посмотреть что находится в i
Прочитай еще раз сообщение выше.... С чего ты взял, что результатом будет true?)
Sergey
Да ни с чего, не нашел что записывается или храниться в памяти если find успешный, предположил что булево
nuc
Хорошо
Итак, что же ты получаешь?)
Sergey
Итак, что же ты получаешь?)
Выгнали от компа, жду очереди) напишу)
nuc
Выгнали от компа, жду очереди) напишу)
смартфон/планшет ссш клиент - микротик)
Dweller
/ip ipsec identity generate-policy=port-override + DPD c двух сторон
а дпд сколько выставлять? по умолчанию 120с
Dweller
Начните с умолчания
ок, а по поводу generate-policy=port-override - оно нередактируемое потому что создано пиром л2тп видимо. я создавал только в л2тп пиров и оно само создало ipsec пиров динамических
Dmitry
1. я эти ваши winbox не понимаю 2. все это в identity
Dweller
1. я эти ваши winbox не понимаю 2. все это в identity
в identity как раз динамические пиры только и там нельзя поменять ничего, ладно направление понял, спасибо буду копаться
Dweller
1. я эти ваши winbox не понимаю 2. все это в identity
ваш способ подразумевае настройку ipsec руками? потому что если я настаиваю л2тп и просто в нем ставлю галочку “use ipsec” то в ipsec абсолютно все настройки создаются как динамически сами и на них нельзя повлиять
Dweller
да, на vpn-сервере надо руками
создал руками - но при включении л2тп сервера еще одни динамический все равно создался рядом..получается надо самому настраивать руками связку айписека а потом поверх уже л2тп?
Sergey
Итак, что же ты получаешь?)
*30 - если есть правило пусто - если нет Дальше понял, буду делать условие если = "*30" ))
Dweller
да
понял принял
Dmitry
понял принял
/ip ipsec mode-config set [ find default=yes ] name=request-only responder=no use-responder-dns=exclusively /ip ipsec policy group set [ find default=yes ] name=default add name=l2tp-ipsec /ip ipsec profile set [ find default=yes ] dh-group=modp2048,modp1024 dpd-interval=2m dpd-maximum-failures=5 enc-algorithm=aes-128,3des hash-algorithm=sha1 lifetime=1d name=default nat-traversal=yes \ proposal-check=obey add dh-group=modp1024 dpd-interval=1m20s dpd-maximum-failures=10 enc-algorithm=aes-256 hash-algorithm=sha1 lifetime=1d name=l2tp-vpn-ipsec nat-traversal=no proposal-check=exact /ip ipsec peer add comment="L2TP Connected Routers Template" disabled=no exchange-mode=main name=l2tp-vpn-peers passive=yes profile=l2tp-vpn-ipsec send-initial-contact=yes /ip ipsec proposal set [ find default=yes ] auth-algorithms=sha1 disabled=no enc-algorithms=aes-256-cbc lifetime=30m name=default pfs-group=modp1024 add auth-algorithms=sha1 disabled=no enc-algorithms=aes-256-cbc lifetime=30m name=l2tp-ipsec pfs-group=modp1024 /ip ipsec identity add auth-method=pre-shared-key disabled=no generate-policy=port-override peer=l2tp-vpn-peers policy-template-group=l2tp-ipsec remote-id=ignore secret=<HERE> /ip ipsec policy set 0 disabled=yes dst-address=::/0 group=default proposal=default protocol=all src-address=::/0 template=yes add comment="IPSec:L2TP Transport Mode" disabled=no dst-address=10.34.201.254/32 group=l2tp-ipsec proposal=l2tp-ipsec protocol=udp src-address=0.0.0.0/0 template=yes add comment="IPSec:L2TP Transport Mode" disabled=no dst-address=0.0.0.0/0 group=l2tp-ipsec proposal=l2tp-ipsec protocol=udp src-address=10.34.201.254/32 template=yes
Sergey
действительно разные значения (
nuc
🤔
if можно использовать вот так if (isset) {true} Т.е. при наличии какого-то значения(почти лю,ого), будет тру, а при отсутствии фолс... Какая идея приходит тебе?)
Dmitry
Спасибо, но выдает conditional is not boolean
я показал точно рабочий пример, который проверил на своих железках с последним longterm 6.48
Sergey
if можно использовать вот так if (isset) {true} Т.е. при наличии какого-то значения(почти лю,ого), будет тру, а при отсутствии фолс... Какая идея приходит тебе?)
Да, действительно! Только вопрос в оформлении (в правописании) Получается так? Или local i [/ip firewall filter find where comment="Reject ALL from WAN"] if (i=true) .... или как то в этом надо разместить? if (isset) {true}
Dmitry
Понял, у меня на тестовом версия ниже. Проверю на другом
на 6.x - это точно будет работать, зачем все эти пляски с переменной, я не очень понимаю. Но если вы хотите переменной то в if надо просто писать if (i)
nuc
Да, действительно! Только вопрос в оформлении (в правописании) Получается так? Или local i [/ip firewall filter find where comment="Reject ALL from WAN"] if (i=true) .... или как то в этом надо разместить? if (isset) {true}
Да, но не совсем! Ты же в i не получаешь тру?) И можно и стоит не использовать лишнюю переменную... *и использование переменной неверное) Посмотри как правильно, пригодится) https://help.mikrotik.com/docs/display/ROS/Scripting#Scripting-Variables
Dweller
/ip ipsec mode-config set [ find default=yes ] name=request-only responder=no use-responder-dns=exclusively /ip ipsec policy group set [ find default=yes ] name=default add name=l2tp-ipsec /ip ipsec profile set [ find default=yes ] dh-group=modp2048,modp1024 dpd-interval=2m dpd-maximum-failures=5 enc-algorithm=aes-128,3des hash-algorithm=sha1 lifetime=1d name=default nat-traversal=yes \ proposal-check=obey add dh-group=modp1024 dpd-interval=1m20s dpd-maximum-failures=10 enc-algorithm=aes-256 hash-algorithm=sha1 lifetime=1d name=l2tp-vpn-ipsec nat-traversal=no proposal-check=exact /ip ipsec peer add comment="L2TP Connected Routers Template" disabled=no exchange-mode=main name=l2tp-vpn-peers passive=yes profile=l2tp-vpn-ipsec send-initial-contact=yes /ip ipsec proposal set [ find default=yes ] auth-algorithms=sha1 disabled=no enc-algorithms=aes-256-cbc lifetime=30m name=default pfs-group=modp1024 add auth-algorithms=sha1 disabled=no enc-algorithms=aes-256-cbc lifetime=30m name=l2tp-ipsec pfs-group=modp1024 /ip ipsec identity add auth-method=pre-shared-key disabled=no generate-policy=port-override peer=l2tp-vpn-peers policy-template-group=l2tp-ipsec remote-id=ignore secret=<HERE> /ip ipsec policy set 0 disabled=yes dst-address=::/0 group=default proposal=default protocol=all src-address=::/0 template=yes add comment="IPSec:L2TP Transport Mode" disabled=no dst-address=10.34.201.254/32 group=l2tp-ipsec proposal=l2tp-ipsec protocol=udp src-address=0.0.0.0/0 template=yes add comment="IPSec:L2TP Transport Mode" disabled=no dst-address=0.0.0.0/0 group=l2tp-ipsec proposal=l2tp-ipsec protocol=udp src-address=10.34.201.254/32 template=yes
это только со стороны сервера надо сделать?
Dmitry
это только со стороны сервера надо сделать?
это опять таки рабочий конфиг с железок, его надо внимательно прочитать и осознать что он делает - а затем применить к своей конфигурации, со стороны сервера
Dweller
да
спасибо
Dmitry
спасибо
dpd у меня нестандартный, обращаю внимание сразу
Dweller
dpd у меня нестандартный, обращаю внимание сразу
ага я вижу, а зачем 2 профиля? вы меняете стандартный дпд а потом добавляете еще один с дпд 1.20
Dmitry
ага я вижу, а зачем 2 профиля? вы меняете стандартный дпд а потом добавляете еще один с дпд 1.20
не помню, скорее всего что-то исторически осталось - стандартный профиль, как видно ниже не используется
Dweller
логично..
Dweller
не помню, скорее всего что-то исторически осталось - стандартный профиль, как видно ниже не используется
а можно попросить пример /ppp/secrets с сервера то есть конфиг пира л2тп глянуть
Dmitry
а можно попросить пример /ppp/secrets с сервера то есть конфиг пира л2тп глянуть
/interface l2tp-server server set authentication=mschap2 default-profile=l2tp-clients enabled=yes keepalive-timeout=50 max-mru=1400 max-mtu=1400 mrru=1614 one-session-per-host=yes /ppp profile add address-list=L2TP-Connected change-tcp-mss=yes comment="L2TP Clients" interface-list=vpn local-address=172.31.34.1 name=l2tp-clients only-one=yes remote-address=l2tp-clients use-compression=yes use-encryption=required
Dmitry
ваша задача подсмотреть default-значения со стороны клиента и докинуть их в настройки сервера, но только с generate-policy=port-override
Dmitry
то есть у вас в айписеке своя адресация а в л2тп тоже своя
да, но вопроса не понял ... если честно. IPSec шифрует трафик между внешними IP устройств, а туннельная адресация - конечно своя — Если вас смущает, то что в ipsec policy у меня серые IP - так это просто услуга от операторов L2/L3-vpn
Dmitry
10.34.201.254/32 получается у вас типа WAN?
да, это один оператор дает мне L2 до части точек - это адресация внутри этого L2 а так - там и интернет есть, просто я не стал все показывать ;)
Dweller
да, это один оператор дает мне L2 до части точек - это адресация внутри этого L2 а так - там и интернет есть, просто я не стал все показывать ;)
понял, у меня просто все это усложняется тем что это надо натянуть на инфраструктуру на нескольких континентах в каждом из которых свой будет впн сервер аггрегационный и потом соединить еще между собой эти сервера
Dmitry
понял, у меня просто все это усложняется тем что это надо натянуть на инфраструктуру на нескольких континентах в каждом из которых свой будет впн сервер аггрегационный и потом соединить еще между собой эти сервера
"слона нужно есть по частям" - соберите сначала шаблон для концентраторов, когда соберете - тогда делайте связи между ними. там лучше делать статическими туннелями + bgp, но это уже совсем другая история
Dweller
"слона нужно есть по частям" - соберите сначала шаблон для концентраторов, когда соберете - тогда делайте связи между ними. там лучше делать статическими туннелями + bgp, но это уже совсем другая история
внутри сети у меня бгп на статических адресах л2тп туннелей которые с айписеком но проблема в невосстанавлении айписек линка после ребута л2тп сервара, поэтому видимо придется перенастраивать все по вашей схеме - руками айписек а потом внутри л2тп и внутрь него уже бгп
Dweller
не зная схемы - сложно что либо советовать. но внутри туннелей - я бы использовал IGP (т.е. в случае mikrotik только OSPF), если позволяет дизайн
пробовал оспф в своей схеме - слишком геморрой настраивать границы зон, так как географически все раскидано и для каждой зоны например свой аплинк в авс плюс у некоторых зон есть бэкап маршруты через препенды бгп и филтьтры по weight на концетраторы соседних зон. и вышло это довольно просто по сравнению с попытками выполнить задуманное на базе оспф
Dweller
я правда так и не понял до конца как работают коммунити в микроте - но я ими не пользуюсь, каждый участник бгп внутри отдает аддресс лист с сетями которые надо анонсить всем + известные себе маршруты от других пиров. бэкап концетраторы анонсят препенд в +1 АС и на некоторых тупиковых пирах есть фильтр с правилами на weight для регулировки роута к аплинкам авс, например потому что если пир имеет равный по АС-пути маршрут к аплинку в авс через 2 концентратора то он не понимает что географически один будет через европу а второй через америку
Dweller
сейчас в европе развернули еще 2 точки с CHR - довольно прикольно что на любом хостинге это можно сделать, прям респект ребятам за такую фичу
Геннадий
Вы можете сказать пиру что вот тебе комьюнити, это моя внутрянка.