Jump to content

Recommended Posts

Posted

Возникла задача сконфигурировать VPN-подключение по протоколу IPSec/L2TP к корпоративной сети, при этом разрешив доступ к корпоративной сети только с тех устройств домашней сети, которые находятся под моим управлением.
Делаю так:
access-list _SOME_ACL_NAME
permit ip 192.168.0.20/32 0.0.0.0/32
permit ip 192.168.0.4/32 0.0.0.0/32
permit ip 192.168.0.6/32 0.0.0.0/32
deny ip 0.0.0.0/0 0.0.0.0/0

interface L2TP0
ip access-group _SOME_ACL_NAME out

При такой конфигурации трафик от всех хостов локальной сети, включая разрешенные, в нужную сеть идёт в обход ВПН.
Если из access-list убрать последнюю строку, то в ВПН уходит трафик от всех хостов локальной сети, независимо от того, разрешено им явно или нет.
Запись убиралась так:
interface L2TP0
no ip access-group _SOME_ACL_NAME out
no access-list _SOME_ACL_NAME
access-list _SOME_ACL_NAME
permit ip 192.168.0.20/32 0.0.0.0/32
permit ip 192.168.0.4/32 0.0.0.0/32
permit ip 192.168.0.6/32 0.0.0.0/32
interface L2TP0
ip access-group _SOME_ACL_NAME out
system configuration save

При просмотре access-list'а при первом совпадении ip-адреса, протокола и порта (if any) обработка должна заканчиваться и к пакету должно применяться правило (permit или deny).
Получается, что этого не происходит, а если в последней записи стоит deny для всех источников, то пакет уходит по маршруту по умолчанию.

Posted (edited)

Запись 0.0.0.0/32 - это не верно, она не может быть адресом назначения. Да и вообще, если я правильно понял, чего Вы хотите добиться, то для начала Вам нужно прописать маршруты в нужную сеть через нужный интерфейс. А далее для интерфейса Home уже добавить правила разрешающие доступ определенным адресам к корпоративной сети, и одно правило, запрещающее доступ всем остальным. По аналогии с примером настройки, разрешающей доступ в Интернет только одному определенному компьютеру локальной сети, а для всех остальных блокирующей. Только адрес назначения у вас будет не "любой", как в примере, а конкретный адрес вашей корпоративной сети. Эти правила можно добавить через веб-интерфейс, т.к. это будет по сути access-list на in для интерфейса Home.   

Edited by werldmgn
Posted
7 часов назад, werldmgn сказал:

Есть вариант по проще для лок.сети, разрешить одному а остальным заблокировать - на базе "регистрация устройства" и "policy".

Скрытый текст

interface Bridge0
    rename Home
...
ip hotspot
    policy Home deny
    host MAC_разрешенного_устройтсва:xx permit
    default-policy deny

Где

"policy Home deny" - запрещает "deny" всем из сегмента "Home" или всем на интерфейсе "Bridge0"

"host MAC_xx:xx:xx:xx:xx:xx permit" - разрешено только устройству с ключем "permit"

Если устройств два и более которым нужно разрешить то просто добавить запись с нужным MAC (зарег.устройство в сети), а если одному из ранее разрешенных нужно запретить то "host MAC_xx:xx:xx:xx:xx:xx deny" данный пункт настройки в WEB.

"default-policy deny" - всем по умолчанию запрещено, данный пунк настройки в WEB.

 

Одна команда в cli - "policy Home deny" или добавить в конф файл и записать его на роутер.

 

Posted
Quote

Запись 0.0.0.0/32 - это не верно, она не может быть адресом назначения.

Везде, где 0.0.0.0/32 - описка.
Читать 0.0.0.0/0.
Вот так это выглядело в выводе show running config:

access-list _CORPORATE_OUT
    permit ip 192.168.0.20 255.255.255.255 0.0.0.0 0.0.0.0
    permit ip 192.168.0.4 255.255.255.255 0.0.0.0 0.0.0.0
    permit ip 192.168.0.6 255.255.255.255 0.0.0.0 0.0.0.0
    deny ip 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0
Quote

Да и вообще, если я правильно понял, чего Вы хотите добиться, то для начала Вам нужно прописать маршруты в нужную сеть через нужный интерфейс.

Не нужно. Маршруты в корпоративную сеть через интерфейс L2TP0 выдаёт VPN-сервер при подключении. Естественно, у этих маршрутов приоритет выше, чем у default route.
Кроме маршрутов в корпоративную сеть через интерфейс L2TP0 при подключении к VPN в таблице маршрутизации появится маршрут к VPN-серверу с приоритетом ещё бОльшим, чем маршруты в корпоративную сеть.

Quote

А далее для интерфейса Home уже добавить правила разрешающие доступ определенным адресам к корпоративной сети, и одно правило, запрещающее доступ всем остальным. По аналогии с примером настройки, разрешающей доступ в Интернет только одному определенному компьютеру локальной сети, а для всех остальных блокирующей. ........ Эти правила можно добавить через веб-интерфейс, т.к. это будет по сути access-list на in для интерфейса Home.

А при чём здесь интерфейс Home?
Интерфейс Home вообще не увидит, с какого адреса идёт пакет, т.к. в соответствии с таблицей маршрутизации пакет в корпоративную сеть сначала попадёт на интерфейс L2TP0, которым он будет зашифрован и инкапсулирован в пакет с адресом назначения равным адресу VPN-сервера и адресом источника равным локальному адресу маршрутизатора.
Поэтому единственный вариант ограничения доступа в корпоративную сеть из локальной домашней сети - применение access-list'а для исходящего трафика на L2TP0.
Вариант с конфигурацией из веб-интерфейса не подходит. В Firewall нельзя прописать правила для исходящего трафика.

Quote

Только адрес назначения у вас будет не "любой", как в примере, а конкретный адрес вашей корпоративной сети.

"Любой" адрес назначения в записи access-list'а означает лишь одно - адрес назначения не нужно проверять. Если адрес назначения не нужно проверять, это уменьшает количество проверок, снижает задержку пакета на маршрутизаторе и увеличивает пропускную способность. По-моему, так.

Quote

Есть вариант по проще для лок.сети, разрешить одному а остальным заблокировать - на базе "регистрация устройства" и "policy".

Спасибо, но речь идёт не о том, как сделать, а о баге в firmware.

Posted
1 час назад, ls819011 сказал:

А при чём здесь интерфейс Home?
Интерфейс Home вообще не увидит, с какого адреса идёт пакет, т.к. в соответствии с таблицей маршрутизации пакет в корпоративную сеть сначала попадёт на интерфейс L2TP0, которым он будет зашифрован и инкапсулирован в пакет с адресом назначения равным адресу VPN-сервера и адресом источника равным локальному адресу маршрутизатора.
Поэтому единственный вариант ограничения доступа в корпоративную сеть из локальной домашней сети - применение access-list'а для исходящего трафика на L2TP0.
Вариант с конфигурацией из веб-интерфейса не подходит. В Firewall нельзя прописать правила для исходящего трафика.

Не согласен с Вами. Я это понимаю так: пакет сначала попадет на сетевой интерфейс, входящий в интерфейс home(bridge0), затем принимается решение о маршрутизации. Т.к. пакет транзитный, он попадает в цепочку FORWARD, а не в INPUT. Цепочку FORWARD проходят ВСЕ пакеты, идущие транзитом через роутер. Если вы сделаете из cli "show netfilter", то вы увидите , что правила, добавленные через веб-интерфейс, попадают в цепочку  "_NDM_ACL_IN"  прыжок на которую есть не только в цепочке INPUT, но и в цепочке FORWARD, что вам и нужно. Так что, транзитный пакет будет обработан и при добавлении правил через веб-морду для интерфейса Home(Bridge0). 

Должен заметить, что правила добавленные для интерфейса L2TP0 на out, по идее точно так же должны отработать на проходящем трафике (если вы все верно указали и действительно не ошиблись с 0.0.0.0/32). Если они не отрабатывают, тогда и вправду похоже на баг.

Posted
8 minutes ago, werldmgn said:

Не согласен с Вами. Я это понимаю так: пакет сначала попадет на сетевой интерфейс, входящий в интерфейс home(bridge0), затем принимается решение о маршрутизации. Т.к. пакет транзитный, он попадает в цепочку FORWARD, а не в INPUT. Цепочку FORWARD проходят ВСЕ пакеты, идущие транзитом через роутер. Если вы сделаете из cli "show netfilter", то вы увидите , что правила, добавленные через веб-интерфейс, попадают в цепочку  "_NDM_ACL_IN"  прыжок на которую есть не только в цепочке INPUT, но и в цепочке FORWARD, что вам и нужно. Так что, транзитный пакет будет обработан и при добавлении правил через веб-морду для интерфейса Home(Bridge0). 

Должен заметить, что правила добавленные для интерфейса L2TP0 на out, по идее точно так же должны отработать на проходящем трафике (если вы все верно указали и действительно не ошиблись с 0.0.0.0/32). Если они не отрабатывают, тогда и вправду похоже на баг.

Мне не нужно закрывать доступ к корпоративным адресам через основное подключение к Интернету, к чему приведёт access-list на интерфейсе Home.
Мне не нужно фильтровать ВЕСЬ трафик по источнику на бридже. Зачем мне нагружать такой задачей маршрутизатор?
Мне нужно фильтровать только тот трафик, который будет уходить в корпоративную сеть.
Поэтому я настаиваю на том, что фильтровать источники трафика в корпоративную сеть нужно на L2TP0.

43 minutes ago, werldmgn said:

Должен заметить, что правила добавленные для интерфейса L2TP0 на out, по идее точно так же должны отработать на проходящем трафике (если вы все верно указали и действительно не ошиблись с 0.0.0.0/32). Если они не отрабатывают, тогда и вправду похоже на баг.

Ну ведь есть же кусок вывода show running config, подтверждающий описку в начальном посте темы.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

This site uses cookies. By clicking "I accept" or continuing to browse the site, you authorize their use in accordance with the Privacy Policy.