OpenVPN - перенаправление-шлюз не работает

OpenVPN - перенаправление-шлюз не работает

Я настроил сервер OpenVPN (VPN ip=10.8.0.1) на сервере с публичным ip. И у меня есть рабочая станция (Ubuntu) в моей лаборатории со школьным ip, которая может получить доступ к интрасетевым ресурсам школы.

Я хочу, чтобы мой Android-телефон и Windows-компьютер могли получить доступ к этим ресурсам. Поэтому я:

  • Конфигурация сервера 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 ПОСЛЕДУЮЩАЯ МАРШРУТИЗАЦИЯ ПРИНЯТЬ -A ПОСЛЕДУЮЩАЯ МАРШРУТИЗАЦИЯ
    -s 10.8.0.0/24 -o wlx0810752b55c9 -j МАСКАРАД

  • Конфигурация CCD моего домашнего ПК такова:

    ifconfig-push 10.8.0.5 255.255.255.0
    push "маршрут-шлюз 10.8.0.3"
    push "перенаправление-шлюз def1 обход-dhcp"
    push "dhcp-option DNS 8.8.8.8"

  • Результат1 ПК не может подключиться к интернету. Таблица маршрутизации этого ПК:

    маршрут печать -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 тоже не может.

    $ busybox ip route show table all
    default via 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
$

Я прошел через множество тем по этому поводу, но не нашел рабочего решения. Так что, кто-нибудь может мне помочь, любые предложения приветствуются!

решение1

В каталоге ccd на сервере файл рабочей станции должен содержать iroute. Попробуйте это, пожалуйста. Я пытаюсь сделать то же самое, не используя сервер доступа и используя клиент Linux в качестве шлюза, как показано здесь. https://www.youtube.com/watch?v=b7qr0laM8kA

Связанный контент