В наших прошлых материалах мы уже поднимали тему использования VPN не только как средства для организации корпоративной сети, но и как способа доступа в интернет для повышения безопасности работы в общественных сетях и обхода разного рода региональных ограничений. В последнем случае имеет смысл использовать VPN-канал не для всего трафика, а только для тех сайтов, доступ к которым в вашем расположении затруднен. Это несложно сделать, если в вашем распоряжении имеется роутер Mikrotik, а если нет, то появляется еще одна причина его купить.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Будем считать, что у вас уже есть интернет-подключение с точкой выхода трафика в том расположении, откуда возможен неограниченный доступ к требуемым ресурсам. Это может быть как собственный сервер, либо аккаунт у одного из многочисленных VPN-провайдеров. Выбирая расположение точки выхода, следует учитывать как возможность доступа к требуемым ресурсам, так и задержки при передаче данных. Так сервера расположенные в США обладают гораздо более высоким временем доступа, нежели сервера расположенные в Европе, поэтому их следует выбирать, когда требуется доступ именно к американским ресурсам, скажем, Netflix или покупкам у американских продавцов на Amazon и Ebay.
В нашем случае будет использоваться OpenVPN сервер на базе бесплатного VPS от Oracle с расположением в США. Вы можете использовать любой доступный вариант, а о настройке Mikrotik в качестве VPN-клиента для различных типов подключения вы можете более подробно прочитать в нашей статье.
При создании подключения в обязательном порядке снимите флаг Add Default Route, нам не требуется направлять весь трафик в VPN-канал, а маршрутизацию мы настроим позже вручную.
Для того, чтобы клиенты нашей локальной сети могли выходить в интернет через VPN-подключение, следует настроить NAT. Для этого перейдем в IP - Firewall - NAT и создадим новую запись со следующими параметрами: Chain - srcnat, Src. Address - диапазон вашей локальной сети, Out. Interface - интерфейс вашего VPN-подключения, в нашем случае это выглядит так:
Затем перейдите на закладку Action и укажите требуемое действие: masquerade. Также можно быстро выполнить все это в командной строке:
/ip firewall nat
add action=masquerade chain=srcnat out-interface=ovpn-out1 src-address=192.168.186.0/24
Следующим шагом создадим список сайтов, которые должны будут выходить в интернет через VPN-подключение и добавим в него какой-нибудь сайт. Для этого перейдем в IP - Firewall - Address Lists и добавим новую запись. В поле Name следует указать имя списка, либо выбрать его, если список существует, в Address укажите IP-адрес или доменное имя, в последнем случае роутер сам будет определять требуемые IP-адреса.
Эта же настройка через консоль:
/ip firewall address-list
add address=2ip.ru list=US_only
Теперь промаркируем все необходимые пакеты, для этого переместимся в IP - Firewall - Mangle и добавим новое правило: на закладке General укажем Chain - prerouting, In. Interface - bridge1, на закладке Advanced выберем Dst. Address List - US-only, а на закладке Action укажем Action - mark routing, New Routing Mark - произвольное имя метки - в нашем случае ORA и ниже снимаем флаг Passthrough.
Это же действие в консоли:
/ip firewall mangle
add action=mark-routing chain=prerouting dst-address-list=US_only in-interface=bridge1 new-routing-mark=ORA passthrough=no
Таким образом мы добавим к пакетам, направляемым к сайтам из списка специальную метку, на основании которой будет приниматься решение о их маршрутизации.
И наконец перейдем к самой маршрутизации, перейдем в IP - Routes и создадим новый маршрут. В качестве адреса назначения Dst. Address укажем 0.0.0.0/0, а в поле Gateway укажем интерфейс VPN-соединения, ниже выберем поле Routing Mark и укажем там нашу метку ORA.
Через командную строку данное действие можно выполнить так:
/ip route
add distance=1 gateway=ovpn-out1 routing-mark=ORA
Только что мы создали дополнительную таблицу маршрутизации, в которую будут попадать все промаркированные нами пакеты. Если шлюз, указанный в данной таблице недоступен, то пакет перейдет в основную таблицу маршрутизации - main - и уйдет в интернет через шлюз провайдера. Если это по каким-либо причинам нежелательно, то следует выполнить еще одну настройку. Перейдем в IP - Routes - Rules и создадим новое правило: Routing mark - ORA, Action - lookup only in table, Table - выберите имя, соответствующее вашей метке маршрутизации, в нашем случае также ORA.
В консоли для создания правила выполните:
/ip route rule
add action=lookup-only-in-table routing-mark=ORA table=ORA
Таким образом мы замкнем промаркированные пакеты в собственной таблице маршрутизации и при недоступности VPN-соединения эти сайты также окажутся недоступны. Через основного провайдера эти пакеты отправлены не будут.
Теперь самое время проверить, что все работает как надо. Мы не даром добавили в список сайт 2ip, перейдем на него и убедимся, что доступ к нему был осуществлен через наш VPN c выходом в США.
В дальнейшем вам потребуется только добавлять необходимые сайты в список, либо убирать из него. Также вы можете настроить несколько VPN-каналов с разными точками выхода и несколько таблиц маршрутизации, направляя пакеты к различным сайтам через разные туннели.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Последние комментарии