Я сейчас нахожусь в Китае, и мое VPN-соединение (кстати, сервер не мой. Я использую платную услугу), похоже, не работает. Обычно из Китая я мог подключиться к своей VPN, и все было хорошо. Однако на этот раз мои соединения все еще блокируются или каким-то образом мешают. Я хочу попытаться решить эту проблему.
Я попытался подключиться к VPN типа PPTP и OpenVPN, и оба оказались заблокированными. Я также пробовал туннелировать трафик через SSH, и это тоже заблокировано.
Думая, что это может быть проблема с DNS, я попытался использовать DNS-серверы от Google до OpenDNS и Earthlink (думая, что последний может быть более «неясным»). Я пытался периодически очищать свой DNS-кеш, чтобы попробовать все это. По-прежнему не удается подключиться к определенным сайтам.
Когда я пингую сайт, который не заблокирован из Китая (например, я использую serverfault.com), я получаю нормальный ответ. Когда я запускаю traceroute, я также вижу ожидаемый путь. Например:
traceroute to serverfault.com (64.34.119.12), 64 hops max, 52 byte packets
1 192.168.1.1 (192.168.1.1) 1.715 ms 0.735 ms 0.649 ms
2 218.108.255.120 (218.108.255.120) 1.838 ms 1.601 ms 1.844 ms
... more China servers... then on to the US. No problems.
Когда я подключаю свой VPN, я вижу:
traceroute to serverfault.com (64.34.119.12), 64 hops max, 52 byte packets
1 192.168.111.100 (192.168.111.100) 236.321 ms 237.770 ms 235.804 ms
2 * * *
3 * * *
... and we never get there.
Единственное, что меня выделяет, это то, что без VPN мой первый переход - это 192.168.1.1 (который действительно является адресом по умолчанию для маршрутизатора ... к которому, кстати, у меня нет пароля), но я использую VPN теперь будет 192.168.1.100. Почему это могло быть? Может ли это быть частью моей проблемы?
Что вы думаете? Что я могу сделать, чтобы это исправить?
В качестве примечания, если кого-то интересуют какие-либо данные, сгенерированные из Китая (трассировки, пинги или что-то еще, что я могу сгенерировать), просто дайте мне знать, и я пингую, копаю, отслеживаю, отслеживаю, что угодно.
Если вы используете OpenVPN, вы можете попробовать настроить его следующим образом:
1) Вы можете попробовать использовать UDP вместо TCP. UDP не может быть взломан так же просто, как TCP (пакетами RST или FIN). Вы можете сделать это с помощью директивы:
proto udp
(в обоих конфигурационных файлах - и для сервера, и для клиента)
2) Вы можете использовать свои DNS-серверы, которые вы можете отправлять через параметры DHCP с сервера OpenVPN. Пожалуйста, попробуйте эту директиву:
push "dhcp-option DNS IP.of.your.DNS.server(s)"
(в конфигурационном файле сервера)
3) Вы можете попробовать использовать для "обычного" трафика перенаправление вашего шлюза по умолчанию через туннель OpenVPN с помощью этой директивы:
push "redirect-gateway"
(в файле конфигурации сервера)
Обычно метод, используемый для сокращения трафика VPN, заключается в подделке пакета FIN или RST, исходящего от сервера и запрашивающего закрытие соединения.
tcpdump или Wireshark помогут вам найти их, просто сравните захват на хосте и другой на клиенте.