mulbert Posted May 22, 2015 Posted May 22, 2015 Мой провайдер предоставляет динамический IP адрес. Частенько присваетвается адрес начинающиеся с "10.". Мне нужно чуток изменить мой скрипт, который использует сервис NO-IP. Задача. Скрипт должен дополнительно проверять IP адрес. Если адрес не начинается с "10." тогда выполняется обновление DNS. Если же адрес начинается с "10." давать команду на переподключение к провайдеру. У меня используется скрипт: :local ddnsuser "u123" :local ddnspass "p123" :local ddnshostname "123.ddns.net" :local ddnsinterface "Internet-main" :global ddnslastip [:resolve $ddnshostname]; :global ddnsip [ /ip address get [find interface=Internet-main] address ] :if ([ :typeof $ddnsip ] = "nil" ) do={ :log info ("ServiceDNS: No ip address on $ddnsinterface .") } else={ :for i from=( [:len $ddnsip] - 1) to=0 do={ :if ( [:pick $ddnsip $i] = "/") do={ :set ddnsip [:pick $ddnsip 0 $i]; } } :if ($ddnsip!=$ddnslastip) do={ :log info ("ServiceDNS: $ddnshostname -> $ddnsip") :global str "/nic/update?hostname=$ddnshostname&myip=$ddnsip" /tool fetch url="http://dynupdate.no-ip.com/$str" mode=http user=$ddnsuser password=$ddnspass \ dst-path=("/ServiceDNS.".$ddnshostname) :global ddnslastip $ddnsip } } Вставить ник Quote
alex8031 Posted January 7, 2017 Posted January 7, 2017 Мой провайдер предоставляет динамический IP адрес. Частенько присваетвается адрес начинающиеся с "10.". Мне нужно чуток изменить мой скрипт, который использует сервис NO-IP. Задача. Скрипт должен дополнительно проверять IP адрес. Если адрес не начинается с "10." тогда выполняется обновление DNS. Если же адрес начинается с "10." давать команду на переподключение к провайдеру. У меня используется скрипт: :local ddnsuser "u123" :local ddnspass "p123" :local ddnshostname "123.ddns.net" :local ddnsinterface "Internet-main" :global ddnslastip [:resolve $ddnshostname]; :global ddnsip [ /ip address get [find interface=Internet-main] address ] :if ([ :typeof $ddnsip ] = "nil" ) do={ :log info ("ServiceDNS: No ip address on $ddnsinterface .") } else={ :for i from=( [:len $ddnsip] - 1) to=0 do={ :if ( [:pick $ddnsip $i] = "/") do={ :set ddnsip [:pick $ddnsip 0 $i]; } } :if ($ddnsip!=$ddnslastip) do={ :log info ("ServiceDNS: $ddnshostname -> $ddnsip") :global str "/nic/update?hostname=$ddnshostname&myip=$ddnsip" /tool fetch url="http://dynupdate.no-ip.com/$str" mode=http user=$ddnsuser password=$ddnspass \ dst-path=("/ServiceDNS.".$ddnshostname) :global ddnslastip $ddnsip } } Ну а причём тут no-ip.com???? если можно проверить адрес PPPoE интерфейса и если он в запрещенном диапазоне то просто переконектить его пока не получит то что надо хотя бы как то вот так :local ddnsinterface "pppoe-out1" :global ddnslastip :if ([ :typeof $ddnslastip ] = nil ) do={ :global ddnslastip "0" } :local ddnsip [ /ip address get [/ip address find interface=$ddnsinterface ] address ] :log info (" $ddnsip") :log info (" $ddnsip") # режем маску подсети 3 штук :local ddnsip ([:pick $ddnsip 0 ([:len $ddnsip]-3)]); :log info (" $ddnsip") :if ($ddnsip > 100.255.255.255) do={:log info message="krasota";} else={ :log info message="jopa"; :if ($ddnsip < 100.0.0.0) do={:log info message="krasota2";} else={ :log info message="rekonekt1"; /interface disable pppoe-out1 ; :delay 30; /interface enable pppoe-out1 ; } :log info (" $ddnsip") } :if ($ddnsip > 10.255.255.255) do={:log info message="krasota3";} else={ :log info message="jopa3"; :if ($ddnsip < 10.0.0.0) do={:log info message="krasota4";} else={ :log info message="rekonekt2"; /interface disable pppoe-out1 ; :delay 30; /interface enable pppoe-out1 ; } :log info (" $ddnsip") } поставить это дело что бы запускалось через определённое время например в 10 минут раз а насчёт no-ip.com для него просто отдельный стандартный скрипт запускать один раз в час что бы кидал туда уже готовый белый адрес и этого достаточно только сервис no-ip.com для бесплатных клиентов с некоторого времени требует обновления учетки каждый месяц что не совсем удобно может это связано с какими то санкциями для российских клиентов не знаю но интересует вопрос что сейчас есть более надёжное из бесплатных и относительно стабильное. Вставить ник Quote
DRiVen Posted January 8, 2017 Posted January 8, 2017 М-да... "Что же вы так убиваетесь то, вы же так не убьетесь!"(с) alex8031, не говоря о актуальности темы: а так не проще? :global newIP [/ip address get [find interface=pppoe-out1] address]; :if ($newIP in 10.0.0.0/8 || 100.64.0.0/10) do={ /interface pppoe-client disable pppoe-out1 :delay 5 /interface pppoe-client enable pppoe-out1 } Вставить ник Quote
alex8031 Posted January 8, 2017 Posted January 8, 2017 М-да... "Что же вы так убиваетесь то, вы же так не убьетесь!"(с) alex8031, не говоря о актуальности темы: а так не проще? :global newIP [/ip address get [find interface=pppoe-out1] address]; :if ($newIP in 10.0.0.0/8 || 100.64.0.0/10) do={ /interface pppoe-client disable pppoe-out1 :delay 5 /interface pppoe-client enable pppoe-out1 } Ну насчёт актуальности этой темы я сам столкнулся с этой проблемой года 2012-2013 когда все провайдеры дружно начали внедрять провайдерский NAT и клиенты начали при авторизаци получать разом белый а разом серый адрес а появились проблемы удаленного доступа на оборудование и noip.com стал бесполезным и в итоге не покупать же каждому клиенту белый статический IP ?? ради того что бы раз в месяц или в год зайти на их оборудование. Рыскание по форумам результата не дало все пожимали плечами и ни кто не мог не чего сказать. И итоге пришлось лепить на коленках что то из того что было и понятно и работает железно. Теперь с недавнего времени сервис noip.com для бесплатных клиентов стал требовать активацию рабочей учётки каждые 30 дней конечно не столь критично но хлопотно. И теперь подумываю о замене noip.com на что то равноценное относительно стабильное и бесплатное ну и желательно как то прикрутить это дело к микротикам. Вставить ник Quote
DRiVen Posted January 8, 2017 Posted January 8, 2017 подумываю о замене noip.com на что то равноценное относительно стабильное и бесплатное ну и желательно как то прикрутить это дело к микротикам. А чем микротиковский cloud не устраивает? Стабильно, бесплатно, и не думаю, что запомнить какое-то-там-имя проще, чем раз серийник железки записать. Вставить ник Quote
sokrat Posted January 9, 2017 Posted January 9, 2017 Мой провайдер предоставляет динамический IP адрес. что-то не уловил или просто я в танке? Если я провайдер и настроил тебе микротик, с какого перепуга я должен тебе на него давать доступ? Или что-то наоборот, клиент должен диктовать свои условия? Вставить ник Quote
alex8031 Posted January 9, 2017 Posted January 9, 2017 Мой провайдер предоставляет динамический IP адрес. что-то не уловил или просто я в танке? Если я провайдер и настроил тебе микротик, с какого перепуга я должен тебе на него давать доступ? Или что-то наоборот, клиент должен диктовать свои условия? А кто сказал что железка провайдера??? Вставить ник Quote
alex8031 Posted January 9, 2017 Posted January 9, 2017 подумываю о замене noip.com на что то равноценное относительно стабильное и бесплатное ну и желательно как то прикрутить это дело к микротикам. А чем микротиковский cloud не устраивает? Стабильно, бесплатно, и не думаю, что запомнить какое-то-там-имя проще, чем раз серийник железки записать. Насчёт cloud вопрос безопасности надо почитать а так работает с новыми прошивками можно как вариант попробывать и единственное у cloud как можно вручную выставить время обновления. Вставить ник Quote
mafijs Posted January 10, 2017 Posted January 10, 2017 А чем микротиковский cloud не устраивает? Cloud работает только с белыми ИП. Тут, похоже, серый. Вставить ник Quote
DRiVen Posted January 10, 2017 Posted January 10, 2017 у cloud как можно вручную выставить время обновления Operation details Router checks for outgoing IP address change: every 60 seconds Тут, похоже, серый. Серому никакой ddns не поможет. Вставить ник Quote
alex8031 Posted January 10, 2017 Posted January 10, 2017 у cloud как можно вручную выставить время обновления Operation details Router checks for outgoing IP address change: every 60 seconds Тут, похоже, серый. Серому никакой ddns не поможет. А что нибудь аналогичное TeamViewer на базе ОС mikrotik реально ли???? Вставить ник Quote
DRiVen Posted January 10, 2017 Posted January 10, 2017 Пожалуй это относительный аналог, но это не совсем то, о чем спрашивает alex8031, не так ли? Вставить ник Quote
EugeneTV Posted January 13, 2017 Posted January 13, 2017 Пожалуй это относительный аналог, но это не совсем то, о чем спрашивает alex8031, не так ли? ТС видимо удаленно админит некоторое количество клиентов, поэтому, как вариант мог бы построить от них vpn до себя самого, тогда для руления всем хозяйством вполне хватило бы одного статика Вставить ник Quote
sokrat Posted January 13, 2017 Posted January 13, 2017 А кто сказал что железка провайдера??? А кто должен догадаться, что ТС что-то не договаривает. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.