
Иногда требуется пустить только определенный трафик через VPN, что бы не нагружать и так не быстрое защищенное соединение.
Для примера у нас есть домашний пк в сети 192.168.0.0/24(например 192.168.0.15). На этом пк установлен клиент OpenVPN, который создал виртуальный адаптер с адресом в сети 10.8.0.0/24(например 10.8.0.4). Сервер VPN имеет внутренний адрес 10.8.0.5. Ниже будет конфиг, который направит в VPN только запросы относящиеся к сети 10.8.0.0/24 все остальные буду идти как обычно, не замедляя VPN соединение. Особенно это заметно когда на пк стоит торрент качалка.
Заходим на свой сервер OPENVPN через ssh.
Идем в папку где лежит конфиг сервера, по умолчанию /etc/openvpn/server.conf
открываем, ищем строку (она пускает весь траффик через VPN)
redirect-gateway def1 bypass-dhcp
И заменяем ее на следующее:
#Эта строка должна быть удалена или за комментирована,
#она пускает весь трафик через VPN
#push "redirect-gateway def1 bypass-dhcp"
#передаем клиентам OPENVPN публичные DNS сервера GOOGLE
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
#Заворачиваем все запросы к ДНС в VPN, нужно для работы DNS в сети VPN
push "route 8.8.8.8 255.255.255.255 vpn_gateway"
push "route 8.8.4.4 255.255.255.255 vpn_gateway"
#Пишем необходимые ip или подсети, при запросе которых траффик пойдет в VPN
push "route 10.8.0.0 255.255.255.255 vpn_gateway"
Все, можно перезапустить сервер и пробовать.
Таким образом можно направлять трафик через VPN только для заблокированных сайтов. Например:
Еще немного интересного по OpenVPN