Я устанавливаю сервер OpenVPN (VPN ip = 10.8.0.1) на сервере с публичным ip. И в моей лаборатории есть рабочая станция (Ubuntu) со школьным ip, которая может получить доступ к интранет-ресурсам школы.
Я хочу, чтобы мой Android Phone и Windows PC могли получить доступ к этим ресурсам. Так что я:
Конфигурация сервера OpenVPN:
сервер
подсети топологии dev tun
10.8.0.0 255.255.255.0
client-config-dir / etc / openvpn / server / ccd
push "route 10.8.0.0 255.255.255.0"
push "route-gateway 10.8.0.3"Подключите мою рабочую станцию к серверу и получите ip 10.8.0.3, его конфигурацию ccd (эквивалентную конфигурации клиента):
ifconfig-push 10.8.0.3 255.255.255.0
В рабочей станции использовали iptables и добавили некоторые элементы:
$ sudo iptables -t filter -S
-P ВВОД ПРИНЯТЬ
-P ВПЕРЕД ПРИНЯТЬ
-P ПРИНЯТЬ ВЫХОД
$ sudo iptables -t nat -S
-P ПРИНЯТЬ
-P ПРИНЯТЬ
-P ПРИНЯТЬ -P ВЫХОД ПРИНЯТЬ
-P ПОСТРОИТЬСЯ ПРИНЯТЬ
-A POST .0.0 / 24 -o wlx0810752b55c9 -j MASQUERADEКонфигурация ccd моего компьютера дома:
ifconfig-push 10.8.0.5 255.255.255.0
push "route-gateway 10.8.0.3"
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"Результат1 ПК не может подключиться к Интернету. Таблица маршрутов этого компьютера:
route print -4
0.0.0.0 0.0.0.0 192.168.1.254 192.168.1.21 35
0.0.0.0 128.0.0.0 10.8.0.3 10.8.0.5 291
128.0.0.0 128.0.0.0 10.8.0.3 10.8.0.5 291
последние два пункта - это то, что «redirect-gateway def1» добавил, без удаления исходного шлюза по умолчанию. Мне интересно, почему def1 работает для перенаправления трафика? Поскольку оригинальный шлюз по умолчанию все еще существует и имеет лучшую метрику, таким образом, трафик не будет проходить через VPN.
Результат 2 Мой Android Phone тоже не может.
$ busybox ip route показать таблицу все по
умолчанию через 10.183.93.203 dev ccmni0 table 1002
default dev tun0 src 10.8.0.4
10.8.0.0/24 dev tun0 table 1015
10.8.0.0/24 dev tun0 src 10.8.0.4 ...
Я убедился, что рабочая станция не получает трафик:
$ sudo tcpdump -i tun0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 262144 bytes
^C
0 packets captured
0 packets received by filter
0 packets dropped by kernel
$
Я прошел много тем об этом без рабочего решения. Таким образом, любой может помочь мне, любое предложение приветствуется!
Ответы:
В каталоге ccd на сервере файл рабочей станции должен содержать iroute. Попробуйте, пожалуйста, я пытаюсь сделать то же самое без использования сервера доступа и использования клиента Linux в качестве шлюза, как показано здесь https://www.youtube.com / смотреть? v = b7qr0laM8kA
источник