VPN-туннель между роутерами

Для чего нужен VPN-туннель между двумя роутерами? Чтобы объединить ресурсы локальных сетей в единую сеть. В примере, рассмотренном ниже, используются два обычных роутера, где первый – служит VPN-сервером, второй – клиентом, и создается туннель. При этом, роутер с VPN сервером – должен иметь постоянный IP. Если все, приведенное выше, для вас актуально, дальше – читаем внимательно.

Что мы получим?

Топология соединений – такая:

роутер с vpn сервером
Топология сети

На схеме, «красный» роутер – это «сервер», а «синий» – «клиент». Вместе – они образуют туннель. Заметим еще раз, что IP-адрес в «глобальной» сети у «сервера» – должен быть постоянным (фиксированным). Протокол VPN, других вариантов – не позволяет. Канал VPN через роутер – «сервер» – идет в Интернет, где его видит роутер-«клиент».
В примере, рассмотренном дальше, внутренний IP первого роутера: 192.168.0.1, адреса всех устройств – отличаются только в последней цифре. Внутренний IP «клиентского» роутера- уже отличается (вместо предпоследнего «0», там – «1»). Соответственно, после «прокладки» туннеля, мы объединим две локальных сети: 192.168.0.хх и 192.168.1.хх.

Теперь – вопросы практические

Сразу оговоримся: мы будем использовать «не заводские» прошивки. А именно, это dd-wrt. В качестве «сервера», возьмем WRT54GL от Linksys, он будет работать под управлением v24-vpn-generic:

vpn через роутер
Прошивка dd-wrt

Установка должна проходить в два этапа (сперва mini-build в качестве «первоначальной» прошивки, затем – собственно, «vpn»).
В качестве роутера «филиала» (то есть, «клиентского» роутера), может быть роутер с прошивкой dd-wrt на ядре 2.6-kernel (в названиях – обозначается «K2.6»). Вообще, прошивка нужна, возможно, и с более старым ядром (со встроенным «open-vpn» – оьязательно).

Примечание: ознакомьтесь с процессом установки данных прошивок! Для разных моделей, действия – будут различны. Рекомендуется только опытным пользователям.

Настроим туннель VPN

Как настроить VPN на роутере – рассматривают во многих обзорах. Там речь идет об оборудовании Cisco и прочем, способном создать «серьезную» сеть. Однако, прошивки dd-wrt позволят нам быстро включить wifi роутер с VPN – сервером (просто, пишется скрипт начальной загрузки).
В прошивке для «сервера», такой, как мы взяли, «open-vpn» – реализован. Vpn-демон, нужно просто включить и настроить скриптом. Чтобы создать туннель, роутер openvpn «с сервером» – нужен только один. А сейчас мы рассмотрим, как настроить VPN-«клиент».

Настройка VPN-клиента

Заходим в web-интерфейс. Вкладка «Administration» -> «Commands», позволяет устанавливать скрипт:

как настроить vpn на роутере
Заходим в web-интерфейс

Если нажать «Save Startup» – скрипт будет выполнен при начальной загрузке. А «Save Firewall» – это скрипт «файервола».

Стартовый скрипт для клиентского роутера:

cd /tmp
#перейти в каталог
echo ”
#начинаем создание файла
remote 10.10.10.10
#первой строкой здесь – соединяемся с «сервером» (мы должны знать его IP)
proto udp
#выбрали протокол
port 1194
#и – значение порта (по умолчанию, в open-vpn старых версий – было «5000»)
dev tun0
#внутреннее «имя» устройства-туннеля
secret /tmp/ key.key
#этот файл – будет содержать ключ
verb 3
comp-lzo
keepalive 15 60
#это – чтобы автоматически подключался к «серверу» при обрыве (раз в 15 сек)
daemon
” > client1-main.conf
#файлик с конфигурацией – был сохранен
echo ”
тут должен быть ключ (надо подставить)
” > key.key
#записали файлик с ключом
ln -s /usr/sbin/openvpn /tmp/myvpn
#указали на нужный нам демон (точнее, на файл)
/tmp/myvpn –mktun –dev tun0
#открытие туннеля, настройка
ifconfig tun0 10.0.1.2 netmask 255.255.255.0 promisc up
# значение для IP VPN
route add -net 192.168.0.0 netmask 255.255.255.0 gw 10.0.1.1
#здесь мы объединили две сети
sleep 5
#ждем
/tmp/myvpn –config client1-main.conf
#применили настройки для tun0-туннеля
На этом – все. И заметим, что «адрес» туннеля – мы придумали сами (с другими IP – не связан никак).

Без скрипта файервола, как мы не старались – работать не будет. А скрипт – следующий:

iptables -I INPUT 2 -p udp –dport 1194 -j ACCEPT
#разрешение на прием
iptables -I FORWARD -i br0 -o tun0 -j ACCEPT
#теперь, полученные из туннеля пакеты (и направленные в него) – файервол «игнорирует»
iptables -I FORWARD -i tun0 -o br0 -j ACCEPT

В результате, страница настроек – выглядит так:

роутер с vpn
Страница настроек

Настройки для «сервера»

Стартовый скрипт «серверной» части «туннеля» – выглядит проще:

Все – то же самое, но без «remote». До строки с «ifconfig».
Эта строка – будет с другим аргументом tun0:

ifconfig tun0 10.0.1.1 netmask 255.255.255.0 promisc up #серверный VPN IP не равен клиентскому
route add -net 192.168.1.0 netmask 255.255.255.0 gw 10.0.1.2
#и, при задании маршрутизации – мы добавили нужную сеть
#дальше все – аналогично, до последней строчки скрипта

Нажимается «Save Startup». А скрипт файервола – здесь нужен тоже, и он – полностью совпадает с «клиентским».
Настройка VPN через роутер, на этом – завершена. Изменения всех настроек, как и скрипты, вступят в силу после перезагрузки (что касается и «клиентского» роутера»).

Генерим ключ с помощью OpenVpn

Как видим, настройка роутера VPN (как «сервера», так и «клиента») – оказалась не очень и сложной. В каждом скрипте, в приведенных примерах, мы писали: «здесь должен быть ключ». Разумеется, эту запись, при внесении скрипта в роутер – не нужно копировать.
С генерировать ключ VPN, можно программой под Windows. Название – не будет оригинальным, это – программа «OpenVpn».

настройка роутера vpn
С генерировать ключ VPN

Скачайте ее с официального сайта (openvpn.net), один exe-файл (приблизительно 5 Мегабайт). Запустите на установку (выбрав галочки, как на рисунке).
Для генерации файла с ключом, в Windows-консоли, вы наберете: openvpn.exe –genkey –secret key.txt. Примечание: предварительно, командой «cd», надо зайти в папку этой программы (затем – в папку /bin).
wifi роутер с vpn
Командная строка

Ключ VPN – появится в созданном текстовом файле. Его «содержимое», вы копируете в каждый скрипт (ключ – один для «клиента» и «сервера»).

Результаты ваших действий

Каждый роутер с VPN – сервисом (будь это «сервер», или «клиент») – продолжает быть «роутером». Он – раздает сеть wi-fi, и т.д. Смысл «туннеля» – в «объединении» (все IP-адреса первой «локалки» – станут видимыми из другой, и обратно).
Конечно, все это – мы не придумали сами. Исходник статьи (на английском, но там – много лишнего) – взят с адреса: www.tux89.com/reseau/installation-de-openvpn-serveur-sur-le-routeur-dd-wrt/?lang=en.
Тесты скорости – демонстрируют, что канал VPN работает не так уж и быстро. Скорость доступа (между сетями), имеет границу в 5-6 Мбит/с. Возможно, сказались характеристики роутера Linksys (ведь Linksys WRT – являются «прародителями» dd-wrt). Любой современны D Link VPN роутер в качестве «сервера» – использовать с dd-wrt не удастся. Для dir-620, к примеру, подходит прошивка dd-wrt «от Asus RT-N13U B1». Но в этой прошивке, «open-wrt» – не предусмотрено. На более сильном железе, с прошивками «K2.6»-версий – результаты должны быть другими. Хотя, скорости в 3-5 Мегабит/с вполне хватит, если передавать небольшие файлы и данные.

Помните: установка «альтернативных» прошивок – лишает гарантии.

Если локальных сетей – больше двух

В этом случае, смысл – будет тот же. Взяв один «сервер», и n-1 роутер-«клиент» VPN, можно объединить n сетей. Будет проложен ровно «n-1» VPN-туннель, и по идее, вся «маршрутизация» – будет идти через «сервер» (а как же еще). Избежать серьезной нагрузки на «сервер», в этом случае – не удается. Для «домашнего» роутера – это будет приемлемо вряд ли (ну, максимум – 2-3 сети).
При добавлении нового «роутера» (то есть, локальной сети «n+1»), нужно вносить изменения в «серверный» скрипт. Такая настройка – для опытных администраторов.

Предыдущая
LinksysСнова Linksys: настройка «гигабитного» роутера EA2700
Следующая
AppleКак настроить роутер от компании Apple?
Помогла статья? Оцените её
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд
Загрузка...
Комментарии
  1. Александр

    Достаточно непростая процедура. Но игра стоит свеч.

  2. Alexander

    А вот еще вопрос, если на одном роутере поднят VPN сервер, то как пробросить доступ пользователей с VPN соединения к пользователям второго роутера?

    • Марат

      об этом история умалчивает )))

Добавить комментарий

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