Настройка openvpn на роутере tp link

Обновлено: 01.07.2024

Имеется клиент, который пользуется 3G интернетом, соответственно NAT и серый IP адрес. Имеется необходимость туда попадать на сервер терминалов и IP камеры. Я решил сделать подключение к уже имеющемуся серверу OpenVPN. И оттуда прокинуть порты на камеры и сервер. У клиента используется 3G роутер TP-Link TL-MR3020.
На него залил прошивку OpenWRT Attitude Adjustment Beta 2.

Прошивку берем тут и прошиваем из вебморды стоковой прошивки роутера, как при обычном обновлении.

Так как на борту флеш объемом всего 4Мб, то пришлось поставить туда усб хаб и флешку. Но чтобы увиделась флешка сначала нужно доустановить пакеты.

opkg install kmod-usb-uhci kmod-usb-storage block-mount kmod-fs-ext4
insmod usb-ohci

Cоздаем точку подключения:
mkdir /mnt/sda1

Я флешку на компе заранее отформатировал в ext4, маунтим ее:
mount -t ext4 /dev/sda1 /mnt/sda1 -o rw,sync

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

Копируем туда установленные пакеты:
tar -C /overlay -cvf - . | tar -C /mnt/sda1 -xvf –

Немного правим конфиг:
vi /etc/config/fstab

чтобы выглядело вот так:
config 'mount'
option target /overlay
option device /dev/sda1
option fstype ext4
option options rw,sync
option enabled 1
option enabled_fsck 1

затем перезагружаем роутер
reboot

Теперь мы не ограничены исходным размером flash роутера. И можем себе позволить поставить практически все :)
Смотрим свободное место:
df -h
Filesystem Size Used Available Use% Mounted on
rootfs 504.4M 25.0M 453.8M 5% /
/dev/root 2.0M 2.0M 0 100% /rom
tmpfs 14.3M 168.0K 14.1M 1% /tmp
tmpfs 512.0K 0 512.0K 0% /dev
/dev/sda1 504.4M 25.0M 453.8M 5% /overlay
overlayfs:/overlay 504.4M 25.0M 453.8M 5% /

Устанавливаем необходимые нам пакеты:
opkg install openvpn nano mc luci-i18n-russian

Для нормальной работы mc нужно выполнить две строчки:

export TERMINFO=/usr/share/terminfo
export TERM=xterm

И чтобы каждый раз их не выполнять руками нужно их добавить в /etc/profile :
nano /etc/profile

Затем копируем на роутер в /etc/openvpn/ ключи и сертификаты созданные на сервере openvpn:
ca.crt
dh1024.pem
client.crt
client.key
ta.key

Правим конфиг
nano /etc/config/openvpn

package openvpn
config openvpn client
option enabled 1
option client 1
option dev tun
option proto udp
list remote "remote.server.ip 1194"
option resolv_retry infinite
option nobind 1
option persist_key 1
option persist_tun 1
option ca /etc/openvpn/ca.crt
option cert /etc/openvpn/client.crt
option key /etc/openvpn/client.key
option dh /etc/openvpn/dh1024.pem
option ns_cert_type server
option tls_auth "/etc/openvpn/ta.key 1"
option comp_lzo 1
option verb 0

затем запускаем openvpn
/etc/init.d/openvpn start
/etc/init.d/openvpn enable

Теперь настраиваем 3g. Устанавливаем пакеты:
opkg install kmod-usb-serial kmod-usb-serial-option

Добавляем в /etc/config/network
nano /etc/config/network

Перезагружаем роутер и проверяем:
ping 192.168.254.1 -c 5
PING 192.168.254.1 (192.168.254.1): 56 data bytes
64 bytes from 192.168.254.1: seq=0 ttl=64 time=947.409 ms
64 bytes from 192.168.254.1: seq=1 ttl=64 time=606.373 ms
64 bytes from 192.168.254.1: seq=2 ttl=64 time=576.448 ms
64 bytes from 192.168.254.1: seq=3 ttl=64 time=554.852 ms
64 bytes from 192.168.254.1: seq=4 ttl=64 time=503.695 ms
--- 192.168.254.1 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 503.695/637.755/947.409 ms

ifconfig
3g-wan Link encap:Point-to-Point Protocol
inet addr:172.20.17.132 P-t-P:10.64.64.64 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:220 errors:0 dropped:0 overruns:0 frame:0
TX packets:234 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:25248 (24.6 KiB) TX bytes:23382 (22.8 KiB)

tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:192.168.254.105 P-t-P: 192.168.254.106 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:10 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:840 (840.0 B) TX bytes:840 (840.0 B)

Все отлично работает, несмотря на задержки. Другого интернета нет, так как здание находится далековато от всего, и подключить человеческий интернет стоит слишком дорого, то приходится довольствоваться этим. 3g модем Huawei e150, у кторого принудительно включен режим только модем, с другими модемами придется возможно поплясать.
Подробнее про подключение флешки и размещению пакетов почитать можно тут, про openvpn тут

В этой статье речь пойдет о настройке OpenVPN на маршрутизаторы в качестве VPN клиента.

Большинство недорогих роутеров таких как TP Link не поддерживают технологию OpenVPN и могут работать только по PPTP VPN, который считается недостаточно надежным.

Благодаря установке прошивки OpenWRT, роутер сможет работать как OpenVPN клиент и обеспечить надежное шифрование всех данных работающих по Wi—Fi или подключенных по кабелю.

Для настройки VPN по технологии OpenVPN на роутер автор использовал TP-Link TL-WR1043ND с версией ПО v3, но можно использовать и более дешевые модели роутеров, на который есть прошивка OpenWRT.

В качестве VPN сервиса выбран VPN Monster, так как в отличие от других сервисов, данные конфигурации и сертификатов находятся в одном файле .ovpn, что избавит от редактирования файла конфигурации вручную и от возможных проблем при этом.

Автор не может гарантировать того, что выполнив данную инструкцию все будет работать, как написано, так как не бывает одинаковых задач и в каждом случае бывают разные условия: модель роутера, версия ПО роутера, тип подключения интернет провайдера и много других условий. Выполняя инструкцию у вас должен быть хотя бы минимальный опыт работы с OS Linux и с железом.

Установка OpenVPN на роутер можно разделить на два этапа – это установка прошивки OpenWRT и настройка OpenVPN на нем.

Установка прошивки OpenWRT на роутер TP-Link

ВНИМАНИЕ! Перепрошивка роутера снимает его с гарантии, неправильные и непоследовательные действия с прошивкой могут привести к выходу из строя вашего устройства. Только на свой страх и риск можете приступать к выполнению данной инструкции. Автор статьи и прошивки не несет ответственности за ваши действия.

Заходим на сайт OpenWRT и качаем 2 прошивки для вашей модели роутера. Выбираем прошивку в соответствии с версией роутера и версией программного обеспечения раутера. Первая прошивка должна заканчиваться на factory.bin вторая на sysupgrade.bin. Первой прошивкой мы будем прошивать роутер из веб интерфейса старой прошивки, второй будем обновлять прошивку уже из прошивки с новым интерфейсом.

Заходим в веб-интерфейс роутера по адресу 192.168.0.1 или 192.168.1.1 и переходим в раздел системные инструменты далее обновление ПО. Еще раз убеждаемся, что версия ПО совпадает с версией ПО новой прошивки, (в противном случае роутер может выйти из строя) и обновляем прошивку новой прошивкой с окончанием factory.bin. Ждем несколько минут, не обновляя страницу и не выключая питание роутера. Прошивка готова.

Прошивка TP Link

Подключаем роутер к кабелю интернета, активируем интернет, перейдя на любой сайт.

Заходим на роутер по протоколу SSH, для этого качаем программу PuTTY или любой другой SSH клиент, введя IP адрес роутера и стандартный порт 22. Пользователь root, пароль пустой или тоже root. Если войти не получается, перезагружаем роутер.

Доступ по SSH в OpenWRT

Выполняем следующую команду в SSH клиенте: opkg update для обновления системы и команду opkg install luci для установки веб сервера для веб-интерфейса.

Если не удается установить luci по причине отсутствия интернета на роутере, установите все пакеты вручную локально.

Заходим по адресу 192.168.1.1 в браузере в веб интерфейс. Логин и пароль root.

веб интерфейс OpenWRT

При первом входе система будет предлагать сменить пароль, меняем его.

Далее заходим в раздел System подраздел Backup Flash Firmware и обновляем роутер второй прошивкой в разделе Flash new firmware image указываем путь к прошивке с окончанием sysupgrade.bin и подтверждаем.

Обновление прошивки OpenWRT

На этом прошивка роутера завершена, приступаем к установке OpenVPN.

Установка OpenVPN на прошивку OpenWRT

Если прошивка OpenWRT уже установлена, значит основная работа уже выполнена.

Заходим в роутер через PuTTY терминал введя адрес 192.168.1.1, логин root и ваш пароль.

Выполняем команду opkg update

Далее opkg install openvpn

Последнюю команду можно выполнить через веб интерфейс роутера. Для этого зайдем в веб интерфейс далее в раздел “System” и подраздел “Software”.

Если не получается, убедитесь, что имя файла ovpn соответствует указанному, а также попробуйте выбрать сервер с протоколом TCP или другой сервер.

На этом этапе OpenVPN подключен и работает.

Далее вам необходимо настроить фаервол, чтобы VPN смотрел в интернет.

Сделать это можно из командной строки по iptables, но я расскажу как это сделать через веб-интерфейс.

Заходим в браузере на 192.168.1.1

Далее Network -> Interfaces -> Add

Name of new interface: VPN

Protocol of new interface: Unmanaged

Cover of following interface: tun0

Добавить в Firewall зону VPN c интерфейсом tun0 и разрешить с него доступ на LAN, разрешить доступ с LAN на VPN.

Настройка фаервола в OpenWRT

Если Вы видите IP VPN сервера, значит вы настроили фаервол правильно. Если не удалось зайти на сайт, значит фаервол настроен неправильно но VPN работает.

Добавляем OpenVPN и автоподключение к серверу в автозагрузку.

Для этого заходим на роутер по протоколу SCP через программу WinSCP находим файл /etc/rc.local и вписываем в него такие строки:

openvpn --config /root/vpn.ovpn &

Перезагружаем роутер, после загрузки и подключению к интернету проверяем IP.

Если необходимо выбрать другой сервер, просто заменяем файл /root/vpn.ovpn на другой с таким же именем.

Не лишним будет сразу же поменять DNS сервер.

Для этого переходим в Network > Interfaces > WAN > Advanced Settings.

Снимаем галочку Use DNS servers advertised by peer.

В поле Use custom DNS servers указываем адрес DNS сервера, можно два.

Если все это сложно, можно просто купить готовый роутер с прошивкой OpenWRT и лицензией VPN Monster, для этого обратитесь в поддержку.

При соединении OpenVPN домашняя сеть может выступать в качестве сервера, а удаленное устройство может получать доступ к серверу через маршрутизатор, который работает как шлюз сервера OpenVPN. Чтобы использовать функцию VPN, необходимо включить OpenVPN-сервер на маршрутизаторе, а также установить и запустить программное обеспечение VPN-клиента на удаленном устройстве. Пожалуйста, следуйте инструкциям ниже, чтобы установить соединение OpenVPN.


Шаг1. Настройка OpenVPN сервера на маршрутизаторе:

1.Войдите в веб-интерфейс маршрутизатора. Если вы не знаете, как это сделать, воспользуйтесь инструкциями:

2.Перейдите в Дополнительные настройки (Advanced) > VPN Server > OpenVPN и отметьте Включить VPN Server (Enable VPN Server).


• Перед включением VPN-сервера рекомендуется настроить службу динамического DNS (рекомендуется), назначить статический IP-адрес для порта WAN маршрутизатора и синхронизировать системное время с интернетом.

• При первой настройке OpenVPN сервера может потребоваться сгенерировать сертификат перед включением VPN-сервера.

3.Выберите Тип Сервиса (Service Type – протокол связи) для OpenVPN сервера: UDP, TCP.

4.Введите Порт VPN Сервиса (VPN Service Port), к которому подключается VPN-устройство, номер порта должен быть от 1024 до 65535.

5. В полях подсеть VPN/маска сети (VPN Subnet/Netmask) введите диапазон IP-адресов, которые могут быть зарезервированы сервером OpenVPN.

6. Выберите тип клиентского доступа (Client Access). Выберите Домашнюю сеть (Home Network Only), только если хотите, чтобы удаленное устройство имело доступ к домашней сети; выберите Интернет и домашнюю сеть (Internet and Home Network), если вы также хотите, чтобы удаленное устройство имело доступ к интернету через VPN-сервер.

7. Нажмите Кнопку Сохранить (Save).


Если сертификат уже создан, пропустите этот шаг или нажмите кнопку Создать (Generate), чтобы обновить сертификат.


Шаг 2. Настройка OpenVPN подключения на удаленном устройстве:

Необходимо установить клиентскую утилиту OpenVPN на каждом устройстве, которое вы планируете применить функцию VPN для доступа к маршрутизатору. Мобильные устройства должны загружать сторонние приложения из Google Play или Apple App Store.

2. После установки скопируйте файл, экспортированный с маршрутизатора, в папку «config» клиентской утилиты OpenVPN (например, C:\Program Files\OpenVPN\config – для Windows). Путь зависит от того, где была установлена утилита OpenVPN .

3.Запустите клиенсткую утилиту и подключите ее к OpenVPN серверу.

Чтобы узнать более подробную информацию о каждой функции и конфигурации, перейдите в Центр загрузки, чтобы загрузить руководство по вашему продукту.

VPN на роутера VPN

Компания TP-Link предлагает широкий модельный ряд роутеров для массового сегмента. Маршрутизаторы tp-link часто рекомендуются интернет провайдерами, а также провайдерами VPN из-за простоты их настройки и богатых возможностей выбора. Для настройки ВПН подключения, в первую очередь необходимо убедиться, что провайдер поддерживает устройство, а также что устройство способно работать с выбранным протоколом.

Протоколы и тип подключения

Существует две ситуации, когда может потребоваться настройка ВПН на tp-link:

  1. Настройка доступа в интернет через PPTP или L2TP. Большинство интернет провайдеров в многоквартирных домах подключают пользователей именно таким способом. Предоставляется минимальная безопасность, но очевидно, что никакой речи об анонимности не идет. Для настройки такого подключения достаточно убедиться, что роутер поддерживает PPTP через VPN.
  2. Подключение к платному ВПН провайдеру для обхода блокировок и обеспечения анонимности и безопасности. Подключение обычно настраивается через OpenVPN протокол, который поддерживается не всеми роутерами. Можно подключиться и через PPTP, но в таком случае теряется смысл всей затеи. Большинство ВПН провайдеров работают с кастомными прошивками DD-WRT или Tomato.

Как настроить PPTP соединение

Расширенные инструкции по настройке можно найти на сайте интернет провайдера. Если роутер tp-link поддерживает PPTP через VPN, настроить его не составит труда:

Следующим шагом настраивается W-iFi сеть во вкладке Wireless, чтобы маршрутизатор смог раздавать интернет по беспроводной сети.

Настройка OpenVPN на роутере

Поддержки протокола openvpn в оригинальной прошивке tp-link нет. Для подключения к впн сети, необходимо использовать кастомные прошивки DD-WRT или Tomato. Проверить совместимость устройства с openvpn протоколом и прошивкой DD-WRT, а также скачать прошивку и прочитать инструкцию по прошивке, можно на сайте DDWRT.

Перед тем, как поменять прошивку, нужно убедиться, что устройство полностью с ней совместимо. Не нужно пытаться установить прошивки других ревизий или модификаций – это превратит маршрутизатор в «кирпич». Полное название модели устройства и его ревизия должны полностью совпадать с таблицей на сайте DD-WRT.

VPN в роутере TP-link

Как настроить обновленную прошивку

Как поднять собственный сервер

В кастомных прошивках от Andy Padavan или DD-WRT на роутере Tp-link можно поднять собственный сервер. Для этого нужно сгенерировать ключи и сертификаты openvpn, а также профиль сети. Сделать это можно либо через программу OpenVPN для ПК либо через веб-интерфейс маршрутизатора.

Прошивка от Padavan

Недостатки и вывод

Маршрутизаторы tp-link – это, в основном, бюджетные устройства для массового сегмента. Во многих протокол VPN поддерживается в урезанном виде, а при использовании роутера в качестве VPN сервера, соединение может быть нестабильным.

VPN подключение создает повышенную нагрузку на процессор маршрутизатора, из-за чего бюджетные устройства могут зависать, терять соединение с сервером или глючить.

Читайте также: