Я установил сервер openvpn дома на centos 7. с помощью digital ocean doc .
ip route
показал мой сетевой интерфейс сервера ens32.
поэтому я добавил в iptables правило для перенаправления маршрутизации в подсеть OpenVPN
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o ens32 -j MASQUERADE
У меня также есть DNS Google в конфигурации моего сервера.
нажмите "dhcp-option DNS 8.8.8.8"
нажмите "dhcp-option DNS 8.8.4.4"
, и я также настроил сервер, чтобы клиенты перенаправляли весь трафик через OpenVPN.
push "redirect-gateway def1 bypass-dhcp"
и я делаю это в домашнем Интернете, поэтому на маршрутизаторе я сделал переадресацию порта на порт openvpn.
на моем телефоне с Android клиентское приложение openvpn успешно входит на сервер и получает частный IP-адрес (10.8 .0.6), и он показывает, что несколько КБ были отправлены и получены, и он зеленый и счастливый! но он НЕ МОЖЕТ получить доступ к Интернету.
Я пробовал так много разных вещей, я понятия не имею, почему он не может получить доступ в Интернет.
Сам openvpn сервер я проверил с помощью curl google.com
что у него есть доступ к Интернету.
есть идеи?
Наконец-то обнаружена проблема и решение, я увидел это сообщение в journalctl -xe
для (журналы сервера openvpn)
client / __ MYPUBLICHOMEIP __: 39661 IP-пакет с неизвестным IP version = 15 замечен
Затем я понял, что на моем клиенте по умолчанию сжатие было включено, но на стороне сервера сжатие не было включено.
раскомментирование этой строки в конфигурации сервера openvpn устранило проблему:
comp-lzo