Jump to content
  • 12
keenet07

Правила для исходящих в веб-интерфейсе

Question

Необходимо реализовать следующую схему. 

На роутере в "Другие подключения" подключен VPN. В "Маршрутизации" создан Статический маршрут для определенного IP (узел в интернете), чтоб он работал через этот VPN. Это всё работает прекрасно. Из домашней сети можно обращаться к узлу через VPN.

При отключении VPN доступ к этому узлу сразу начинает проходить через WAN соединение провайдера, т.е. напрямую.

Задача: запретить прямое прохождение трафика к узлу при разрыве VPN соединения. Но чтобы при активном VPN соединении этот трафик шел через него.

Если создать запрещающее правило в Межсетевом экране для узла на интерфейсе Домашняя сеть. То доступ к узлу перекрывается полностью. В том числе и через VPN.

Если создать то же правило на интерфейсе провайдера, оно не работает как нужно. Трафик из Домашней сети проходит напрямую к узлу. Потому-что Межсетевой экран в веб-интерфейсе может блокировать только входящие соединения. И есть приоритет NAT. Т.е. запрос к узлу спокойно проходит через NAT и выходит по каналу провайдера.

Вопрос. Как запретить исходящий трафик через интерфейс провайдера к этому узлу, но при этом, чтобы он спокойно проходил через VPN когда он подключен?

Share this post


Link to post
Share on other sites

5 answers to this question

  • 0

@keenet07 надо запрещающее правило на интерфейсе провайдера в другую сторону создавать, но это через cli делается. Почитайте статью в базе знаний. 

  • Thanks 2

Share this post


Link to post
Share on other sites
  • 0
17 минут назад, r13 сказал:

@keenet07 надо запрещающее правило на интерфейсе провайдера в другую сторону создавать, но это через cli делается. Почитайте статью в базе знаний. 

1. Да. Мне это известно. Собственно пришёл сюда за готовым образцом команды. Нужно правило для исходящих на определенный узел на интерфейсе провайдера. Кому не сложно, набросайте. )

2. И кстати, вопрос. Почему отказались или ещё не реализовали такую возможность в веб-интерфейсе?

Edited by keenet07

Share this post


Link to post
Share on other sites
  • 0

Разобрался с обеими проблемами. Теперь правила для исходящих на интерфейсе провайдера можно добавлять также в веб-интерфейсе роутера. Добавил в Межсетевом экране web-интерфейса ещё одну вкладку, назвал "ISP out". 

Что для этого нужно было сделать:

1) Выгружаем текущую конфигурацию startup-config.txt и делаем его резервную копию, на случай, если вы чего-то напортачите, чтоб вернуться к исходной конфигурации.

2) В веб-интерфейсе в Других подключениях создаем любое VPN соединение. Называем его к примеру "ISP out". Остальное заполняем любыми данными и сохраняем. Отключаем его. Этим действием в startup-config.txt у нас создаются необходимы параметры.

3) И в Межсетевом экране появляется новая вкладка "ISP out". В ней в будущем и будем добавлять все правила для исходящих на ISP. Создаем в этой вкладке любое правило, главное, чтоб вы его потом смогли опознать в файле конфига. К примеру в качестве ip адреса назначения вписываем 111.111.111.111

4) Теперь выгружаем файл startup-config.txt в Общих настройках.

Открываем выгруженный файл любым удобным текстовым редактором и находим блок в котором есть строчка с адресом 111.111.111.111

Выглядит это примерно вот так:

!
access-list _WEBADMIN_L2TP1
    deny tcp 0.0.0.0 0.0.0.0 111.111.111.111 255.255.255.255
    deny disable
!

Это список правил для созданного нами интерфейса VPN.

Копируем отсюда только название самого листа _WEBADMIN_L2TP1. У вас может называться немного иначе. Зависит от типа созданного VPN и его порядкового номера.

5) Далее ищем в файле блок примерно следующего содержания:

!
interface GigabitEthernet1
    rename ISP
    description MyISP
    mac address aa:aa:aa:aa:aa:aa
    mac address factory wan
    security-level public
    ip address x.x.x.x x.x.x.x
    ip dhcp client hostname Keenetic_Giga
    ip dhcp client dns-routes
    ip dhcp client name-servers
    ip mtu 1500
    ip access-group _WEBADMIN_ISP in
    ip global 700
    igmp upstream
    up
!

Где description это название вашего провайдера в том виде как вы его прописали. По умолчанию вроде было слово Провайдер.

Строчка "ip access-group _WEBADMIN_ISP in" у вас может отсутствовать, если вы не создавали ранее никаких правил для входящих Провайдера. В общем либо под ней, либо в том месте, где она расположена на моем образце добавляем сточку:

ip access-group _WEBADMIN_L2TP1 out

где _WEBADMIN_L2TP1 это имя листа с правилам которое мы нашли чуть ранее. Параметр out, соответственно, исходящие соединения.

В общем получается, что-то вроде:


!
interface GigabitEthernet1
    rename ISP
    description MyISP
    mac address aa:aa:aa:aa:aa:aa
    mac address factory wan
    security-level public
    ip address x.x.x.x x.x.x.x
    ip dhcp client hostname Keenetic_Giga
    ip dhcp client dns-routes
    ip dhcp client name-servers
    ip mtu 1500
    ip access-group _WEBADMIN_ISP in
    ip access-group _WEBADMIN_L2TP1 out
    ip global 700
    igmp upstream
    up
!

6) Сохраняем файл и загружаем его в роутер, как startup-config. Роутер перезагружается. И всё. теперь у вас есть рабочая новая вкладка в Межсетевом экране, где можно добавлять правила для исходящих на интерфейсе провайдера.

7) Созданное ранее правило с 111.111.111.111 можно удалить или заменить на любое своё. А вот VPN (ISP out) ни в коем случае не удаляем.

Таким же образом можно добавить вкладки с правилами для исходящих для любого интерфейса.

PS: Если у вас для подключения интернета используется дополнительное соединение (PPPOE или модем), то строчку "ip access-group _WEBADMIN_L2TP1 out" нужно добавлять именно в нем.

PPS: Если бы программисты @Le ecureuil сделали универсальные правила с возможностью выбора входящие/исходящие, не пришлось бы так изворачиваться. ;)

А ещё пришлось создавать несколько запрещающих правил для одного узла, чтоб полностью весь трафик перекрыть. (TCP, UDP, ICMP). Вот было бы возможно в веб-нитерфейсе как-нибудь всё это невпихуемое впихнуть в одно правило.

Edited by keenet07
  • Thanks 2

Share this post


Link to post
Share on other sites
  • 0
2 часа назад, keenet07 сказал:

Если бы программисты сделали универсальные правила с возможностью выбора входящие/исходящие, не пришлось бы так изворачиваться

Перенесли в "Развитие", можно голосовать.

  • Thanks 1

Share this post


Link to post
Share on other sites
  • 0

Да, в нынешних реалиах плюсанулся.

Edited by Leksey118

Share this post


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

  • Recently Browsing   0 members

    No registered users viewing this page.

×