Если первый случай подходит для, например, подключения с работы в квартирную сеть, то клиент Openvpn часто нужен совсем для другого. Как пишут на одном из сайтов, предлагающим VPN серверы - VPN обеспечит Вам анонимность, безопасность и свободу. Поясню, если Вы купили (поставили) VPN сервер во Франции, то теперь везде, где захотите, можете выдавать себя за француза - ip у Вас будет французский.
Как правило не везде Вам нужен французский ip, и я расскажу как при обращении на одни сайты оставлять старый ip, а на других использовать ip openvpn сервера.
Итак, прежде всего нужно поставить openvpn
Код: Выделить всё
opkg install openvpn-openssl
Поместим конфиг openvpn клиента в папку /opt/etc/openvpn. У меня этот конфиг называется router.ovpn.
Отредактируем скрипт запуска /opt/etc/init.d/S20openvpn и укажем этот конфиг в строке
Код: Выделить всё
ARGS="--daemon --cd /opt/etc/openvpn --config router.ovpn"
В скрипте, возможно, понадобиться загрузка модуля tun.ko (это зависит от конкретного устройства).
Конфиги openvpn серверов обычно содержат директиву `push route ....` или `push "redirect-gateway ..."` и у клиента, при запуске openvpn клиента измениться шлюз по умолчанию. Нам это не нужно, мы будем использовать openvpn туннель только для нескольких ip.
Отредактируем текстовый файл /opt/etc/openvpn/router.ovpn. Добавим в него в самое начало строку
Код: Выделить всё
route-nopull
Примечание. Вместо route-nopull можно использовать route-noexec. См. официальную документацию по openvpn.
А в следующих строках с помощью директив route укажим ip на которые будем "ходить" через vpn
Код: Выделить всё
route 178.62.9.171
route ....
Примечание. Командой route можно задавать не единичные ip, а подсети. См. официальную документацию по openvpn.
Запустим openvpn сервер командой
Код: Выделить всё
/opt/etc/init.d/S20openvpn start
и выполним правила iptables
Код: Выделить всё
iptables -I FORWARD -i br0 -o tun0 -j ACCEPT
iptables -I FORWARD -i tun0 -o br0 -j ACCEPT
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
Здесь br0 - сетевой интерфейс LAN, а tun0 - openvpn интерфейс. Правила iptables зависят от устройства.
Теперь если Вы зайдете на myip.ru (именно его мы добавили командой `route 178.62.9.171`), то Вам скажут, что Ваш ip из Франции (из той страны, где у Вас vpn сервер).
На этом все. Замечания, примеры для конкретных моделей роутеров приветствуются.