У меня есть файл конфигурации OpenVPN, который работает отлично от терминала:
sudo openvpn --config openvpn.conf
После соединения через терминал моя таблица маршрутизации следующие:
[van@d2:Desktop]$ ip route
0.0.0.0/1 via 255.255.255.0 dev tun0
default via 192.168.0.1 dev wlp3s0 proto static metric 600
10.9.0.1 via 255.255.255.0 dev tun0
<vpn_server_ip_addr> via 192.168.0.1 dev wlp3s0
128.0.0.0/1 via 255.255.255.0 dev tun0
169.254.0.0/16 dev wlp3s0 scope link metric 1000
192.168.0.0/24 dev wlp3s0 proto kernel scope link src 192.168.0.5 metric 600
255.255.255.0 dev tun0 proto kernel scope link src 10.9.0.4
Я хотел попытаться получить вещи, работающие от Администратора сети, таким образом, я установил network-manager-openvpn
и затем импортированный соединение VPN из рабочего файла конфигурации. Однако, когда я соединяю использование Администратора сети, трафик не направлен через сервер OpenVPN. Таблица маршрутизации (после соединения использования записи Администратора сети) следующие:
[van@d2:Desktop]$ ip route
default via 192.168.0.1 dev wlp3s0 proto static metric 600
10.9.0.0/24 dev tun0 proto kernel scope link src 10.9.0.4 metric 50
<vpn_server_ip_addr> via 192.168.0.1 dev wlp3s0 proto static metric 600
169.254.0.0/16 dev wlp3s0 scope link metric 1000
192.168.0.0/24 dev wlp3s0 proto kernel scope link src 192.168.0.5 metric 600
192.168.0.1 dev wlp3s0 proto static scope link metric 600
Я попытался добавить 0.0.0.0 записи (от рабочей таблицы маршрутизации), но она отклоняется:
[van@d2:Desktop]$ sudo ip route add 0.0.0.0/1 via 255.255.255.0 dev tun0
RTNETLINK answers: Network is unreachable
Я также попытался удалить:
10.9.0.0/24 dev tun0 proto kernel scope link src 10.9.0.4 metric 50
и замена его с:
10.9.0.1 via 255.255.255.0 dev tun0
но это также перестало работать с подобным сообщением об ошибке (удаление работало).
Мой вопрос: как я могу соединиться с сервером OpenVPN через Администратора сети и вынудить весь трафик быть направленным через туннель VPN?
Я нашел "решение" (и я использую этот термин очень свободно здесь) на основе этого сообщения: Администратор сети не устанавливает IP4. ШЛЮЗ для соединения OpenVPN - хотя я убежден, что это - ошибка с network-manager-openvpn
модуль.
Проблема происходит, потому что никакой шлюз не установлен для туннеля OpenVPN:
[van@d2:~]$ nmcli device show tun0
GENERAL.DEVICE: tun0
GENERAL.TYPE: tun
GENERAL.HWADDR: (unknown)
GENERAL.MTU: 1500
GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: tun0
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/15
IP4.ADDRESS[1]: 10.9.0.4/24
IP4.ADDRESS[2]: 192.168.0.7/32
IP4.GATEWAY: --
IP6.ADDRESS[1]: fe80::cd28:e3cf:f9e6:1417/64
IP6.GATEWAY --
Шлюз по умолчанию может быть получен с помощью:
[van@d2:~]$ ip route
default via 192.168.0.1 dev wlp3s0 proto static metric 600
...
Теперь используйте nmcli con show
получить UUID туннеля OpenVPN (tun0 в моем случае):
[van@d2:~]$ nmcli con show
NAME UUID TYPE DEVICE
VAN-200-5GHz <SOME-UUID>-9c79da9597a1 802-11-wireless wlp3s0
van <SOME-UUID>-484ee303d901 vpn wlp3s0
tun0 <SOME-UUID>-2a1a14674e78 tun tun0
Wired connection 1 <SOME-UUID>-d3935bcf886b 802-3-ethernet --
После того как Вы имеете UUID, устанавливаете использование шлюза:
nmcli con mod <SOME-UUID>-b717eca7a5a0 ipv4.gateway 192.168.0.1
Теперь проверьте, чтобы удостовериться, что Вы используете IP-адрес Сервера VPN:
dig @resolver1.opendns.com myip.opendns.com +short
<YOUR-VPN-SERVER-IP>
Один из побочных эффектов использования этого метода, Вы закончите с соединением "зомби" каждый раз, когда Вы добавляете tun0 шлюз (и они сохранятся через перезагрузки):
[van@d2:~]$ nmcli con show
NAME UUID TYPE DEVICE
VAN-200-5GHz <SOME-UUID>-9c79da9597a1 802-11-wireless wlp3s0
Wired connection 1 <SOME-UUID>-d3935bcf886b 802-3-ethernet --
van <SOME-UUID>-484ee303d901 vpn --
tun0 <SOME-UUID>-c4381868f3f3 tun --
tun0 <SOME-UUID>-157870b81351 tun --
tun0 <SOME-UUID>-a1bc29fb7bef tun --
Можно удалить их использование:
[van@d2:~]$ nmcli con del tun0
Connection 'tun0' (<SOME-UUID>-157870b81351) successfully deleted.
Connection 'tun0' (<SOME-UUID>-c4381868f3f3) successfully deleted.
Connection 'tun0' (<SOME-UUID>-a1bc29fb7bef) successfully deleted.
При рассмотрении, как сложный это работает вокруг этих проблем только, чтобы смочь соединиться с OpenVPN с помощью Администратора сети, Вы, вероятно, собираетесь быть далеко более обеспеченными просто соединение через терминал (предположение, что у Вас есть действительный файл конфигурации OpenVPN).
Я не уверен, как сообщить об ошибках этой природы, поэтому если кто-либо знает, вмешайтесь.