Командная строка не распознает VPN и делает запросы с реального IP?
система
- Ubuntu 15.10 Wily
- Окружение рабочего стола: GNOME Shell 3.16.4
- VPN: Astrill v2.9.3
проблема
Я живу в Китае. Без VPN я не могу получить доступ ко многим сайтам, включая Google, Facebook и т. Д. Таким образом, я купил Astrill VPN и установил его на свой компьютер.
VPN работает отлично, по крайней мере, на моих браузерах. Я могу получить доступ к Facebook, Google и другим сайтам, доступным в США на Firefox и Chromium. Тем не менее, командная строка терминала, кажется, не знает, что я нахожусь на VPN и могу получить доступ к заблокированным сайтам в Китае.
Например, я могу получить доступ к Google robots.txt
подать, перейдя в google.com/robots.txt
в веб-браузере. Тем не менее, когда я пытаюсь загрузить файл через командную строку, набрав:
wget https://www.google.com/robots.txt
Это просто застревает там. Я также попытался написать простой скрипт на Python с urllib2.urlopen()
на URL-адресе и на каждом заблокированном URL-адресе, на котором я его пробовал,
urlopen error [Errno 110] Connection timed out>
Это заставило меня поверить, что командная строка терминала просто не распознает, что у меня включен VPN, и что я делаю wget
запрос с моего фактического IP-адреса из Китая.
Я всегда думал, что VPN - это прокси-сервер, который применяется в масштабе всей системы, и поэтому я думал, что командная строка терминала поверит, что я больше не в Китае. Оказывается, я могу ошибаться и быть дезинформированным.
Что можно сделать?
Редактировать:
Я установил несколько приложений, которые будут искать геолокацию IP-адреса:
sudo apt-get install geoip-bin geoip-database
,
Я получил мой IP-адрес, распознанный командной строкой, запустив hostname -I
,
Поэтому я попытался найти свое местоположение, запустив: geoiplookup $(hostname -I)
Выход? GeoIP Country Edition: IP Address not found
Я попытался ввести тот же IP-адрес с некоторыми веб-приложениями в моем браузере, и, как и ожидалось, не повезло.
1 ответ
Ну, я выяснил проблему.
Оказывается, я использовал свой Astrill VPN, настроенный как OpenWeb. Это означает, что VPN туннелируется только через веб-браузеры и еще много чего.
Затем я изменил свою конфигурацию на OpenVPN, что означает "он имеет расширенные функции раздельной маршрутизации / раздельного туннелирования и может туннелировать все приложения на вашем компьютере". Все приложения означают веб-браузеры и все остальное, включая командную строку терминала. Теперь все мои запросы из командной строки выполняются через VPN-туннель, и я счастливый человек.
Я предполагаю, что конфигурация OpenVPN - это "общесистемный прокси", который, как я всегда думал, будет конфигурацией всех VPN. Использование OpenWeb ранее объясняет, почему я могу получить доступ только к заблокированным китайским сайтам из Интернета.
Если вы хотите узнать больше о разнице между протоколами VPN - вот что скажет Astrill, но я не знаю, применимо ли это ко всем VPN. Тем не менее, я думаю, что их объяснения меняются незначительно.