Проблемы с настройкой веб-трафика клиента Openvpn
Я настроил сервер доступа openvpn в моем VPS. И теперь, когда я живу в Китае, правительство блокирует многие иностранные сайты, такие как Facebook и Twitter.
Я могу использовать сервер vpn через межсетевой экран Китая для доступа к твиттеру и так далее через мой рабочий стол под управлением Windows XP.
Тем не менее, мой ноутбук под управлением xubuntu 12.04 не может пробить национальный брандмауэр. Я могу подключиться к серверу vpn с помощью терминального клиента openvpn в Ubuntu с помощью команды "sudo openvpn --config client.ovpn"
Поскольку рабочий стол работает нормально, я думаю, что настройка сервера доступа vpn в порядке. Есть ли особые настройки в клиенте Ubuntu? Я не изменил конфигурацию, предоставленную сервером доступа openvpn.
Я много гуглил проблему, инструкции iptables меня сильно смутили. И я открываю IP вперед в Ubuntu, а также. Все еще не работает.
Исходная таблица маршрутов в xubuntu:
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 wlan0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlan0
173.224.215.16 192.168.0.1 255.255.255.255 UGH 0 0 0 wlan0
192.168.0.0 0.0.0.0 255.255.255.0 U 2 0 0 wlan0
Таблица маршрутов после подключения к vpn:
0.0.0.0 5.5.0.1 128.0.0.0 UG 0 0 0 tun0
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 wlan0
5.5.0.0 0.0.0.0 255.255.248.0 U 0 0 0 tun0
46.x.x.x 192.168.0.1 255.255.255.255 UGH 0 0 0 wlan0
128.0.0.0 5.5.0.1 128.0.0.0 UG 0 0 0 tun0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlan0
173.224.215.16 192.168.0.1 255.255.255.255 UGH 0 0 0 wlan0
192.168.0.0 0.0.0.0 255.255.255.0 U 2 0 0 wlan0
46.xxx это публичный ip моего vps.
client.ovpn:
...
setenv FORWARD_COMPATIBLE 1
client
server-poll-timeout 4
nobind
remote 46.x.x.x 1194 udp
remote 46.x.x.x 1194 udp
remote 46.x.x.x 443 tcp
remote 46.x.x.x 1194 udp
remote 46.x.x.x 1194 udp
remote 46.x.x.x 1194 udp
remote 46.x.x.x 1194 udp
remote 46.x.x.x 1194 udp
dev tun
dev-type tun
ns-cert-type server
reneg-sec 604800
sndbuf 100000
rcvbuf 100000
auth-user-pass
# NOTE: LZO commands are pushed by the Access Server at connect time.
# NOTE: The below line doesn't disable LZO.
comp-lzo no
verb 3
setenv PUSH_PEER_INFO
...
Я опускаю CA, ключи и т. Д.
Заранее спасибо.
1 ответ
Я обнаружил проблему! Это вызвано китайским национальным брандмауэром.
Все DNS-серверы в Китае загрязнены, поэтому веб-сайты, такие как "твиттер" и "фейсбук", были перенаправлены на целевые объекты, не связанные с выходом. Таким образом, веб-сайты не могут быть доступны в Китае. Смотрите ссылку для отравления кеша DNS.
Таким образом, использование VPN-сервера для поиска DNS может решить эту проблему, просто добавив две строки в файл конфигурации openvpn (client.ovpn):
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
Также убедитесь, что resolvconf пакет устанавливается на клиенте, так как этот скрипт зависит от него.
Теперь сервер доступа OpenVPN отлично работает, чтобы я пробил китайский брандмауэр.