Я установил сервер openvpn дома на centos 7. с помощью цифровой океан документ.
ip route
показал, что сетевой интерфейс моего сервера - ens32. поэтому я добавил в iptables правило для перенаправления маршрутизации в подсеть OpenVPN
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o ens32 -j MASQUERADE
У меня также есть DNS Google в конфигурации моего сервера.
push "dhcp-option DNS 8.8.8.8"
push "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 packet with unknown IP version=15 seen
Затем я понял, что на моем клиенте было включено сжатие конфигурации по умолчанию, но на стороне сервера сжатие не было включено.
раскомментирование этой строки в конфигурации сервера openvpn устранило проблему:
comp-lzo