завернуть list в PPTP

Тема в разделе "Вопросы начинающих", создана пользователем Dos32, 28 июн 2016.

  1. Dos32

    Dos32 Участник

    еще вопросик. разобрался с примером, сгенерировал по днс-кэшу список List, получилось

    поднял соединение с внешним PPTPсервером PUSPROXU, повесил на нем маскарад, дефолтовый маршрут к нему убрал, т.е. по дефолту все как и было, идет в билайн

    теперь подскажите плиз, как правильно сделать, чтобы весь траффик из локалки для сайтов из списка List шел только через интерфейс PUSPROXU. что-то я пока туплю
     
  2. Илья Князев

    Илья Князев Администратор Команда форума

    Код:
    /ip firewall mangle
    add chain=prerouting src-address-list=LIST_NAME action=mark-routing new-routing-mark=pptp-out
    /ip route
    add gateway=PPTP_INTERFACE routing-mark=pptp-out 
     
  3. Dos32

    Dos32 Участник

    что-то не хватило, сделал так :
    /ip firewall mangle
    add chain=prerouting src-address-list=Banks action=mark-routing new-routing-mark=bankslist
    /ip route
    add gateway=pptp-RUSP3nat routing-mark=bankslist


    появилась запись в mangle, показывает что пакеты маркирует
    в /ip route появилась записm с метрикой 1 , пишет reachable
    в NAT маскарад для pptp-RUSP3nat включен

    но не открывается ничего из списка bankslist , добавил туда myip.ru . если дизаблю интерфейс pptp-RUSP3nat, то открывает с билайновского ip, если включаю не открывает ...
    надо понять,что мешает
    ========
    /ip route export
    # jun/29/2016 00:58:44 by RouterOS 6.35.4
    # software id = CBTU-0TF0
    #
    /ip route
    add distance=1 gateway=pptp-RUSP3nat routing-mark=bankslist

    ===========
    /ip firewall exporе
    # jun/29/2016 00:59:42 by RouterOS 6.35.4
    # software id = CBTU-0TF0
    #
    /ip firewall address-list
    add address=178.62.9.171 comment=myip.ru list=Banks
    .......пропускаю подробный список ..........=Banks
    /ip firewall filter
    add chain=input comment="defconf: accept ICMP" protocol=icmp
    add chain=input comment="defconf: accept established,related" connection-state=established,related
    add action=drop chain=input comment="defconf: drop all from WAN" in-interface=ether1wan
    add action=drop chain=input comment="no telnet from beeline" connection-type="" dst-port=23 in-interface=Beeline log=yes \
    log-prefix=telnet_attempt protocol=tcp
    add action=fasttrack-connection chain=forward comment="defconf: fasttrack" connection-state=established,related
    add chain=forward comment="defconf: accept established,related" connection-state=established,related
    add action=drop chain=forward comment="defconf: drop invalid" connection-state=invalid
    add action=drop chain=forward comment="defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat \
    connection-state=new in-interface=ether1wan
    /ip firewall mangle
    add action=mark-routing chain=prerouting new-routing-mark=bankslist src-address-list=Banks
    /ip firewall nat
    add action=masquerade chain=srcnat comment="defconf: masquerade" out-interface=ether1wan
    add action=masquerade chain=srcnat out-interface=Beeline
    add action=masquerade chain=srcnat out-interface=pptp-RUSP3nat
    add action=dst-nat chain=dstnat comment=mysql dst-port=3306 in-interface=Beeline protocol=tcp to-addresses=\
    192.168.13.100 to-ports=3306
    add action=dst-nat chain=dstnat comment="rdp dos32pc" dst-port=3389 in-interface=Beeline protocol=tcp to-addresses=\
    192.168.13.196 to-ports=3389
    add action=dst-nat chain=dstnat comment="rpd server" dst-port=3399 in-interface=Beeline protocol=tcp to-addresses=\
    192.168.13.100 to-ports=3389
    add action=dst-nat chain=dstnat comment=GoodSynk dst-port=33333 in-interface=Beeline protocol=tcp to-addresses=\
    192.168.13.196 to-ports=33333
    add action=dst-nat chain=dstnat dst-port=33334 in-interface=Beeline protocol=tcp to-addresses=192.168.13.100 to-ports=\
    33333
    ==============
     
  4. Илья Князев

    Илья Князев Администратор Команда форума

    Проверьте, возможно проблема в DNS.
    Если не поможет, попробуйте выключить правило fasttrack в файрволе.
     
  5. Dos32

    Dos32 Участник

    так, а вот что дал tracert с компа , почему-то тут билайновская корбина на 2 хопе, так-же как и когда интерфейс отключен :(, странно, только если отключен, то myip.ru открывается, а если включен нет
    tracert myip.ru

    Трассировка маршрута к myip.ru [178.62.9.171]
    с максимальным числом прыжков 30:

    1 <1 мс <1 мс <1 мс router [192.168.13.1]
    2 1 ms <1 мс 1 ms bras254-lo10.spb.corbina.net [83.102.254.223]
    3 1 ms 1 ms 1 ms 89.179.21.10
    4 12 ms 12 ms 12 ms bmor19-bb-be2.spb.corbina.net [85.21.225.40]
    5 11 ms 11 ms 11 ms xe-7-2-0-xcr1.skt.cw.net [166.63.220.69]
    6 12 ms 12 ms 13 ms xe-0-0-0-20.r01.stocse01.se.bb.gin.ntt.net [195.2.22.58]
    7 44 ms 44 ms 44 ms ae-21.r02.amstnl02.nl.bb.gin.ntt.net [129.250.7.12]
    8 46 ms 46 ms 46 ms ae-2.r03.londen01.uk.bb.gin.ntt.net [129.250.3.8]
    9 53 ms 53 ms 53 ms 212.119.29.54
    10 * * * Превышен интервал ожидания для запроса.
    11 *
     
  6. Dos32

    Dos32 Участник

    выключил fasttrack, трассировка та-же
     
  7. Илья Князев

    Илья Князев Администратор Команда форума

    Ага. Вот тут проблема. Я написал в mangle правило которое маршрутизирует пакеты на основании адреса отправителя (src-address-list), а вам надо на основании адреса назначения dst-address-list
    Переделайфте правило на закладке advanced. Или удалите и вставьте
    Код:
    /ip firewall mangle
    add chain=prerouting dst-address-list=LIST_NAME action=mark-routing new-routing-mark=pptp-out
     
  8. Dos32

    Dos32 Участник

    о, точно, спасибо огромное, заработало, у меня пока dst и scr еще в голове не отложились ....
    хорошо у вас с поддержкой, куплю себе еще у вас микротик , и похоже сходные конфигурации коллегам пригодятся, только на себе обкатаю сначала
     
  9. Dos32

    Dos32 Участник

    теперь в принципе осталось добавить в файрвол правило, которое запретит список с других интерфейсов, чтоб когда нет почему-либо этого pptp через билайн оно тупо не работало, и будет то, что надо. потом пойдй резервный WAN заводить с модемного роутера, и основное что мне хотелось будет как надо
     
  10. Илья Князев

    Илья Князев Администратор Команда форума

    Зачем файрволл? Это делается через маршрутизацию ))
    Код:
     /ip route add distance=10 type=prohibit routing-mark=pptp-out
    
    Теперь если VPN есть, то срабатывает обычный маршрут с дистанцией 1.
    Если VPN упал - сработает вышеприведенный маршрут. А он Prohibit
     
  11. Dos32

    Dos32 Участник

    о, спасибо, так и правда красивше
     
  12. Dos32

    Dos32 Участник

    еще вопросик, сделал списки адресов на базе примеров в инете

    подскажите плиз языковю конструкцию, чтобы в
    /ip firewall address-list add address=$tmpAddress list=$ListName comment=$cacheName
    заменить единичный адрес на сеть, типа если в переменной $tmpAddress у нас "102.102.103.104" надо заменить на на например "101.102.103.0/24" , а то у меня пока с синтаксисом напряг, списки с чужих скриптов сваял, но если честно синтаксис пока не осваивал.
     
  13. Dos32

    Dos32 Участник

    да, что-то я в вики глянул в команды скрипта, но не нашел функций для работы с текстом, отделить тект после последней "." и заменить его на "0/24" скажем, по строкам нашел только конкатенацию. что-то я в общем пока недопонял сам, как кусок текста заменить, сорри
     
  14. Dos32

    Dos32 Участник

    так, похоже копать в сторону регулярных выражений ? судя по описанию оператора “~”
     
  15. Илья Князев

    Илья Князев Администратор Команда форума

    А вот тут не готов. Не очень силен в скриптах.
     
  16. Dos32

    Dos32 Участник

    ну и еще вопрос на тему возник .... сорри, замучал видимо, но скоро похоже еще микротиков куплю :)
    допустим в продрлжение темы поднят не 1, а 2 или более VPN клиента (допустим PPTP1 и PPTP2), на них завернут маршрут для писка LIST, скажем на PPTP задана метрика 1, а на PPTp2 метрика 2, ну и как Вы выше посоветовали, остальные маршруты через остальные интерфейсы prohibit.

    далее при попытке срединения с узлом из LIST роутер выберет маршрут с наименьшей метрикой, т.е. PPTP1.
    вопрос такой, ежели далее скрипт установит для соеднинений PPTP1 метрику больше, чем у PPTP2, новые соединения пойдут через интерфейс PPTP2, а вот те, что были установлены ранее через PPTP1 тоже завернут на PPTP2 по меньшей метрике, или если интерфейс PPTP1 все еще активен, то действующие соединения будут продолжать обслуживаться через тот интерфейс, через который были установлены, хоть у него и хуже теперь метрика ?
     
  17. Илья Князев

    Илья Князев Администратор Команда форума

    Именно так. При чем если у вас есть src-nat то старые соединения пойдут на новый шлюз со старым src-address.
     
  18. Dos32

    Dos32 Участник

    спасибо
     
  19. Sergey-pl

    Sergey-pl Новый участник

    Подскажите в какой теме шла речь про "cгенерировал по днс-кэшу список List".
    Мне необходимо сделать нечто подобное. А возможно ли работать напрямую с доменными именами?
     
  20. Илья Князев

    Илья Князев Администратор Команда форума

    Ставите 6.36
    В ней в address-list можно писать DNS-имя. Роутер сам создаст и будет обновлять списки IP.