Я хочу, чтобы каждое соединение на виртуальной машине (Windows XP) ТОЛЬКО использовало мой сервер OpenVPN, как только соединение с OpenVPN будет потеряно, я хочу потерять все возможности подключения к Интернету на виртуальной машине. Естественно, хост виртуальной машины (Windows 7) никогда не будет подключаться к VPN и отключаться от моего реального Интернета.
Я почти уверен, что смогу сделать это с окнами route
команда, которая позволяет моей машине с Windows XP подключаться к моему серверу OpenVPN, мы скажем, что 1.2.3.4.
Я следовал этому руководству: http://community.spiceworks.com/how_to/show/1334 но я даже не могу заставить их примеры работать.
Вот мои конфигурации маршрута, введенные командой route print
маршрутизация соединения до 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
После некоторых проб и ошибок я нашел решение своей проблемы:
Чтобы предотвратить все случайные или случайные отключения от 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
Затем отключите DCHP, предоставив адаптеру статический 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-адреса, указанные в списке шлюзов по умолчанию, а не только один. Также обратите внимание, что наш поддельный шлюз указан первым (вверху), а реальный шлюз - вторым.
Это, в свою очередь, означает, что также, когда мы пытаемся подключиться к нашему IP-адресу сервера OpenVPN, в этом примере 1.2.3.4
он будет перенаправлен на поддельный шлюз (192.168.1.222) и не позволит нам подключиться. Мы этого не хотим. Поэтому мы должны создать другой маршрут с более высоким приоритетом (более низкой метрикой), чем 2, который говорит, что при подключении к нашему IP-адресу OpenVPN мы хотим, чтобы он подключался к реальному шлюзу (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, что ?! Почему он это сделал?
Насколько я понимаю, по умолчанию, когда DCHP понимает, что шлюз никуда не денется через столько секунд, он попытается попробовать вторичный шлюз, в данном случае ваш настоящий шлюз.
Чтобы этого не произошло, необходимо отключить DCHP, назначив статический IP-адрес, маску подсети и шлюз своим свойствам в Интернете. Пошаговое руководство с картинками о том, как это сделать в XP, Vista и 7.
После того, как вы это сделаете, снова подключитесь к VPN, убедитесь, что он все еще работает, а затем подключитесь. Попробуйте подключиться к сайту и подождите 2-3 минуты, чтобы убедиться, что он не загружается и все готово.
Вот как вы можете предотвратить случайное отключение VPN от раскрытия вашего реального IP-адреса.
Если вас беспокоят утечки DNS и IP в OpenVPN и вам нужен простой и автоматический способ предотвращения утечек IP и DNS при использовании OpenVPN, ознакомьтесь с этими двумя простыми инструментами, предлагаемыми www.openvpnchecker.com
OpenVPN Watchdog: http://openvpnchecker.com/
Брандмауэр OpenVPN: http://openvpnchecker.com/firewall.htm Изменить / удалить сообщение