Jump to content

Помогите разобраться с mikrotik


Recommended Posts

Доброе время суток. Стоит микротик х86. По окончанию месяца отключаю клиентов с задолжностью через адрес лист. Они переходят на страницу заглушку (на Феб прокси). Хочу добавить правило которое бы разрешало помимо заглушки доступ к приват 24, что бы они могли себе пополнить услугу. Пробовал добавить приват в сам прокси но что-то не выходит. Прошу помощи.

Link to post
Share on other sites

Почерпнул идею и список хостов отсюда, и решил здесь и поделиться. Скрипт для микротика:

{
    :local listname "hosts_permit";
    :local newip;
    :local ips;
    :local globips;
    :local doloop true;

    :local thehosts {"www.liqpay.com";
        "liqpay.com";
        "static.liqpay.com";
        "ecommerce.liqpay.com";
        "fonts.googleapis.com";
        "ajax.googleapis.com";
        "themes.googleusercontent.com";
        "www.google-analytics.com";
        "google-analytics.com";
        "ssl.google-analytics.com";
        "widget.siteheart.com";
        "client.siteheart.com";
        "clients.siteheart.com";
        "static.siteheart.com";
        "seal.globessl.com";
        "globessl.com";
        "privat24.ua";
        "www.privat24.ua";
        "privat24.privatbank.ua";
        "privatbank.ua";
        "qrapi.privatbank.ua";
        "api.privatbank.ua";
        "stats.g.doubleclick.net";
        "www.googleadservices.com";
        "fonts.gstatic.com";
        "login.privatbank.ua"};

    /ip firewall address-list remove [find list=$listname];
    :foreach hostname in=$thehosts do={
        :set ips;
        :set doloop true;
        :do {
            :set newip [:resolve $hostname];
            :if ( ("|" . [:find $ips $newip -1] . "|") = "||" ) do={
                :set ips ($ips, $newip);
            } else={
                :set doloop false;
            }
        } while=( $doloop );
        :foreach ti in=$ips do={
            :if ( ("|" . [:find $globips $ti -1] . "|") = "||" ) do={
                /ip firewall address-list add address=$ti list=$listname comment=$hostname;
            } else={
                /ip firewall address-list set [find address=$ti list=$listname] comment=( [/ip firewall address-list get [find address=$ti list=$listname] comment] . ", " . $hostname);
            }
            :set globips ($globips, $ti);
        }
    }
}

ЧТО-ТО НЕ МОГУ РАЗОБРАТЬСЯ КУДА ЭТО ДОБАВИТЬ.

Link to post
Share on other sites

Это, я так понимаю, скрипт, который резолвит имена в айпишки и эти айпишки добавляет в список. Я так думаю, его надо периодически вызывать, раз в сутки например. Ну а список этот применить либо сверху правил доступа для всех, чтоб по этому списку каждый мог пройти напрямую, либо выпускать по этому списку прокси. Для платежных систем предпочтительнее напрямую, наверно.

Link to post
Share on other sites

Начиная с версии v6.36, в адресные листы можно добавлять доменные имена.

Это сильно упрощает жизнь %)

тю, Сашко, інколи дійсно корисно чейнджлоги читати))).. якось пропустив це))

Link to post
Share on other sites
Начиная с версии v6.36, в адресные листы можно добавлять доменные имена.

Интересно, как это работает. Вы пробовали эту фишку, есть опыт? Как общие впечатления, если да?

 

И еще очень интересно, как оно работает, если меняется айпишка на имени, или если адресов на одно имя несколько...

Не будет же оно на каждый проходящий пакет весь список резолвить каждый раз...

Link to post
Share on other sites

Сам не использовал - не было необходимости.

Только что попробовал - таки да, работает.

Технически оно просто на каждую такую "символьную" запись создает комплект динамических ип-записей (если ip несколько).

И это огромный плюс ибо встроенный resolve выдает только один ип в случайном порядке.

На родном форуме нашел, что ресолвит оно базируясь на TTL DNS-записи. Насколько хорошо всё это работает - не скажу. Но жалоб вроде как не видел.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...