Как предотвратить раскрытие вашего IP-адреса VPN при отключении?

Как предотвратить раскрытие вашего IP-адреса VPN при отключении?

Я хочу, чтобы каждое соединение в виртуальной машине (windows XP) использовало ТОЛЬКО мой сервер OpenVPN, как только соединение с OpenVPN будет потеряно, я хочу потерять все интернет-подключения в виртуальной машине. Естественно, хост виртуальной машины (Windows 7) никогда не подключится к VPN и не отключится от моего реального интернета.

Я почти уверен, что смогу сделать это с помощью routeкоманды Windows, которая позволяет подключаться к моему серверу OpenVPN только с помощью компьютера с Windows XP, скажем так:1.2.3.4.

Я следовал этому руководству:http://community.spiceworks.com/how_to/show/1334 но я даже не могу заставить их примеры работать.

Вот мои конфигурации маршрутов, полученные с помощью командыroute print

Маршрутизация pre-openVPN-подключения:

===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.1.1   192.168.1.108       30
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
      192.168.1.0    255.255.255.0    192.168.1.108   192.168.1.108       30
    192.168.1.108  255.255.255.255        127.0.0.1       127.0.0.1       30
    192.168.1.255  255.255.255.255    192.168.1.108   192.168.1.108       30
        224.0.0.0        240.0.0.0    192.168.1.108   192.168.1.108       30
  255.255.255.255  255.255.255.255    192.168.1.108   192.168.1.108       1
  255.255.255.255  255.255.255.255    192.168.1.108               3       1
Default Gateway:       192.168.1.1
===========================================================================
Persistent Routes:
  None

после подключения OpenVPN (обратите внимание, что 1.2.3.4 заменил мой реальный IP-адрес VPN):

===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0        128.0.0.0         10.8.0.5        10.8.0.6       1
          0.0.0.0          0.0.0.0      192.168.1.1   192.168.1.108       30
         10.8.0.1  255.255.255.255         10.8.0.5        10.8.0.6       1
         10.8.0.4  255.255.255.252         10.8.0.6        10.8.0.6       30
         10.8.0.6  255.255.255.255        127.0.0.1       127.0.0.1       30
   10.255.255.255  255.255.255.255         10.8.0.6        10.8.0.6       30
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
        128.0.0.0        128.0.0.0         10.8.0.5        10.8.0.6       1
          1.2.3.4  255.255.255.255      192.168.1.1   192.168.1.108       1
      192.168.1.0    255.255.255.0    192.168.1.108   192.168.1.108       30
    192.168.1.108  255.255.255.255        127.0.0.1       127.0.0.1       30
    192.168.1.255  255.255.255.255    192.168.1.108   192.168.1.108       30
        224.0.0.0        240.0.0.0         10.8.0.6        10.8.0.6       30
        224.0.0.0        240.0.0.0    192.168.1.108   192.168.1.108       30
  255.255.255.255  255.255.255.255         10.8.0.6        10.8.0.6       1
  255.255.255.255  255.255.255.255    192.168.1.108   192.168.1.108       1
Default Gateway:          10.8.0.5
===========================================================================
Persistent Routes:
  None

решение1

После некоторых проб и ошибок я нашел решение своей проблемы:

Чтобы предотвратить все случайные или непреднамеренные отключения от VPN, раскрывающие ваш реальный IP-адрес, вам необходимо настроить все пункты назначения так, чтобы они проходили через поддельный шлюз, за ​​исключением вашего IP-адреса VPN.

Экспертам по сетям и компьютерам:

Предположим следующее:

Обычный шлюз по умолчанию:192.168.1.1
Неиспользуемый частный IP:192.168.1.222
IP-адрес сервера OpenVPN:1.2.3.4

Используя cmd:

route -p add 0.0.0.0 mask 0.0.0.0 192.168.1.222 metric 2
route -p add 1.2.3.4 mask 255.255.255.255 192.168.1.1 metric 1

Затем отключите DHCP, назначив адаптеру статический IP-адрес и используя неиспользуемый частный IP-адрес в качестве поддельного шлюза по умолчанию; таким образом блокируя все соединения, кроме вашего OpenVPN.


Для тех, кому нужен более пошаговый подход:

Первое, что вам нужно сделать, это открыть командную строку, удерживая клавишу Windows (кнопка справа от левого Ctrl) и нажав r, появится диалоговое окно. Введите «cmd» и нажмите Enter.

Должен появиться черный ящик с какой-то надписью, это называется командной строкой, и все команды, вводимые с этого момента, будут выполняться в этом черном ящике.

Первое, что нужно выяснить, это то, что фальшивый шлюз должен находиться в сетевом интерфейсе. Что такое «интерфейс»? Ну, в этом случае это частный IP, который был назначен компьютеру, что, похоже, дает 2 варианта, учитывая мою таблицу «до OpenVPN»: или 127.0.0.1или 192.168.1.108. Я знаю по опыту, что 127.0.0.1 — это IP-адрес обратной связи, поэтому он сузил круг поиска. Однако, если бы я не знал свой IP-адрес, я мог бы нажать «Выполнить» (клавиша Windows + r), ввести cmd и нажать OK. Появляется черное поле, введите команду CMD ipconfigи получите вывод вроде:

Ethernet adapter Local Area Connection:

        Connection-specific DNS Suffix  . :
        IP Address. . . . . . . . . . . . : 192.168.1.108
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        Default Gateway . . . . . . . . . : 192.168.1.1

Там мне конкретно сообщается мой IP-адрес и, таким образом, «интерфейс» — 192.168.1.108, поэтому мой поддельный шлюз должен быть в диапазоне 192.168.1.100до 192.168.1.254, и не может быть уже использован.

Например, предположим, что я хочу использовать IP-адрес 192.168.1.101. Чтобы проверить, используется ли он, я ввожу команду ping 192.168.1.101и получаю ответ вроде этого:

Pinging 192.168.1.101 with 32 bytes of data:

Reply from 192.168.1.101: bytes=32 time=1ms TTL=64
Reply from 192.168.1.101: bytes=32 time=1ms TTL=64
Reply from 192.168.1.101: bytes=32 time=1ms TTL=64
Reply from 192.168.1.101: bytes=32 time=1ms TTL=64

Ping statistics for 192.168.1.101:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 1ms, Maximum = 1ms, Average = 1ms

Это будет означать, что IP 192.168.1.101в настоящее время занят, и я cannotиспользую его для своего фальшивого шлюза. Поэтому я решаю попробовать IP 192.168.1.222и выдаю ту же команду ping: ping 192.168.1.222. Если ответ будет следующим:

Pinging 192.168.1.222 with 32 bytes of data:
Reply from 192.168.1.100: Destination host unreachable.
Reply from 192.168.1.100: Destination host unreachable.
Reply from 192.168.1.100: Destination host unreachable.
Reply from 192.168.1.100: Destination host unreachable.

Ping statistics for 192.168.1.222:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Тогда я бы успешно нашел частный IP, который в настоящее время не используется и может использоваться для моего поддельного шлюза. Для остальной части ответа я буду использовать 192.168.1.222как мой поддельный шлюз.

Следующий шаг — отправить каждую попытку назначения через наш поддельный шлюз, а не через настоящий. Мы делаем это, выполнив следующую команду:

route -p add 0.0.0.0 mask 0.0.0.0 192.168.1.222 metric 2

означает 0.0.0.0 mask 0.0.0.0, что "каждый адрес" будет отправлен на шлюз 192.168.1.222. metric 2Часть назначает этому маршруту приоритет2- это важно, потому что приоритет (метрика)1будет иметь приоритет над приоритетом2.

Если задать для него метрику 2, то он получит более высокий приоритет, чем шлюз, назначенный вашим DHCP, который в моем случае был 30. Это означает, что каждый пункт назначения будет пытаться пройти через шлюз 192.168.1.222, а не через реальный шлюз, по сути направляя все ваши попытки установить соединение в никуда.

Вы можете убедиться, что сделали все правильно, выполнив ipconfigкоманду еще раз:

Ethernet adapter Local Area Connection:

        Connection-specific DNS Suffix  . :
        IP Address. . . . . . . . . . . . : 192.168.1.108
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        Default Gateway . . . . . . . . . : 192.168.1.222
                                            192.168.1.1

Обратите внимание, что на этот раз у нас есть 2 IP-адреса, перечисленных под шлюзом по умолчанию, а не только один. Также обратите внимание, что наш поддельный шлюз указан первым (сверху), а реальный шлюз указан вторым.

Что это в свою очередь означает, что также, когда мы пытаемся подключиться к нашему серверу OpenVPN IP, в этом примере 1.2.3.4он будет направлен на поддельный шлюз (192.168.1.222) и не позволит нам подключиться. Мы этого не хотим. Поэтому мы должны создать другой маршрут с более высоким приоритетом (более низкой метрикой), чем 2, который говорит, что при подключении к нашему OpenVPN IP мы хотим, чтобы он подключался к настоящему шлюзу (192.168.1.1).

Первое, что мы хотим сделать, это подтвердить, что такое сервер OpenVPN, мы можем сделать это, снова используя команду ping. Обычно поставщики VPN предоставляют вам адрес, например, us.bestvpn.comдля подключения, нам нужно выяснить, для какого IP-адреса этот URL является псевдонимом, что лучше всего сделать с помощью команды ping, мы вводим:

ping us.bestvpn.com

и ответ должен быть примерно таким:

Pinging us.bestvpn.com [1.2.3.4] with 32 bytes of dataгде IP-адрес в скобках — это IP-адрес сервера OpenVPN. Мы будем использовать 1.2.3.4в качестве IP-адреса VPN-сервера.

Теперь нам нужно настроить его так, чтобы этот IP-адрес был направлен на наш реальный шлюз. Для этого мы выполняем команду:

route -p add 1.2.3.4 mask 255.255.255.255 192.168.1.1 metric 1

Метрика 1 позволит маршруту получить приоритет над метрикой 2, которую мы дали маршруту поддельного шлюза. Важно отметить, что это mask 255.255.255.255означает точный IP 1.2.3.4- что верно для моего случая, но вы можете захотеть создать маску 255.255.255.0, которая по сути скажет ему, что любой IP в диапазоне от 1.2.3.0до 1.2.3.254будет направлен на настоящий шлюз. Это полезно, если ваш провайдер OpenVPN использует диапазон IP для подключения к нему.

Теперь мы должны иметь возможность подключиться к VPN как обычно, а затем, как только подключитесь, можете просматривать весь интернет. Как только вы отключитесь, вы заметите, что, кажется, что он не подключается, а затем внезапно подключается, с вашим РЕАЛЬНЫМ IP, что?! Почему он это сделал?

Насколько я понимаю, по умолчанию, когда DHCP понимает, что шлюз не работает в течение определенного количества секунд, он пытается попробовать вторичный шлюз, в данном случае ваш настоящий шлюз.

Чтобы этого не произошло, необходимо отключить DHCP, назначив статический IP-адрес, маску подсети и шлюз вашим интернет-свойствам.Пошаговое руководство с картинками о том, как это сделать в XP, Vista и 7.

После того, как вы это сделаете, снова подключитесь к VPN, проверьте, что он все еще работает, затем подключитесь. Попробуйте подключиться к сайту и подождите 2-3 минуты, чтобы убедиться, что он не загружается, и все готово.

Таким образом вы можете предотвратить раскрытие вашего реального IP-адреса при случайном отключении VPN.

решение2

Если вас беспокоят утечки DNS и IP в OpenVPN и вам нужен простой и автоматический способ предотвращения утечек IP и DNS при использовании OpenVPN, ознакомьтесь с этими двумя простыми инструментами, предлагаемыми www.openvpnchecker.com

  1. Контрольный таймер OpenVPN:http://openvpnchecker.com/

  2. Брандмауэр OpenVPN:http://openvpnchecker.com/firewall.htm Редактировать/Удалить сообщение

Связанный контент