Openvpn-клиент на OpenWRT (tap)

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

Установка

  1. Устанавливаем пакет openvpn:

opkg update
opkg install openvpn

Запуск/Настройка

Разместите файлы конфигурации (с расширением opvn и key/cert) где-нибудь в директории /root. (В этом руководстве мы предполагаем, что сервер настроен для работы с tap устройством. Чтобы убедиться в этом, проверьте наличие строки dev tap в конфигурационном файле с расширением ovpn. Если вы видите строку dev tun, то это руководство вам не подходит)

Запускаем openvpn:

openvpn --config myvpnconfig.ovpn

Если ваше интернет-соденинение в порядке и конфигурационный файл openvpn составлен правильно (конфиг и сертификаты вам даст владелец openvpn-сервера) вы должны увидеть такую надпись:

Initialization Sequence Completed
Она означает, что соединение с openvpn-сервером установлено успешно. Если вы видите сообщения об ошибках, то обратитесь в службу поддержки вашего openvpn-сервера.

Теперь ваш маршрутизатор подключен к openvpn-серверу, трафик туннелируется через него и ваш внешний ip-адрес теперь должен совпадать с внешним адресом openvpn-сервера. Но наша задача дать возможность клиентам за маршрутизатором прозрачно работать через это openvpn-соединение. Чтобы сделать это используем такую команду:

iptables -t nat -A POSTROUTING -o tap+ -j SNAT --to-source 10.xx.x.xx
Вместо 10.xx.x.xx подставьте ваш VPN ip-адрес. Для того, чтобы узнать ваш ip-адрес openvpn запустите:
ifconfig tap0
И посмотрите в поле `inet address`.

Теперь все клиенты за маршрутизатором получают интернет через openvpn-сервер.

Если вы хотите, чтобы vpn-соединение восстанавливалось после каждой перезагрузки маршрутизатора, добавьте эти строки в /etc/rc.local перед строкой exit 0:

iptables -t nat -A POSTROUTING -o tap+ -j SNAT --to-source 10.xx.x.xx
openvpn --config /root/myvpnconfig.ovpn &
exit 0

Back to top

ru/doc/howto/vpn.client.openvpn.tap.txt · Last modified: 2012/10/29 16:41 by zend