Клиент OpenVPN на окна 7, пакеты, не направленные

У меня есть клиент OpenVPN в Windows 7, который соединяется с сервером OpenVPN с касанием.
Туннель устанавливает правильно.
AFAIK, коснитесь средств, что мой виртуальный адаптер 'фактически' подключен к удаленной LAN, получает удаленный IP LAN, и участвуйте в широковещательной передаче по локальной сети domani и так далее.
Когда туннель устанавливается, мой виртуальный адаптер получает корректный IP.
Но я не могу проверить с помощью ping-запросов другие хосты в удаленной сети.
Это могла бы быть проблема на sererver стороне, но прежде, чем проверить там, что я заметил что-то странное на стороне клиента в способе, которым Windows обрабатывает виртуальный интерфейс.
Давайте начнем.
Когда туннель произошел, виртуальный интерфейс произошел также. В моей таблице маршрутизации i видят мою физическую сеть 192.168.2.0, заражают мой локальный IP, 192.168.2.134.
Затем я вижу удаленную сеть 172.16.1.0, непосредственно присоединенную к моему интерфейсу 172.16.1.40.Пока все хорошо. (я удалил петлевые записи),

          0.0.0.0          0.0.0.0      192.168.2.1    192.168.2.134     25
       172.16.1.0    255.255.255.0         On-link       172.16.1.40    276
      172.16.1.40  255.255.255.255         On-link       172.16.1.40    276
     172.16.1.255  255.255.255.255         On-link       172.16.1.40    276
      192.168.2.0    255.255.255.0         On-link     192.168.2.134    281
    192.168.2.134  255.255.255.255         On-link     192.168.2.134    281
    192.168.2.255  255.255.255.255         On-link     192.168.2.134    281
        224.0.0.0        240.0.0.0         On-link       172.16.1.40    276
        224.0.0.0        240.0.0.0         On-link     192.168.2.134    281
  255.255.255.255  255.255.255.255         On-link       172.16.1.40    276
  255.255.255.255  255.255.255.255         On-link     192.168.2.134    281

Таким образом клиенты в удаленной сети не должны быть достигнуты через шлюз, но посредством прямой маршрутизации через виртуальный интерфейс, обеспеченный openvpn.
Но когда я прослеживаю маршрут до хоста в удаленной сети (который мой ПК должен рассматривать как локальный), мой клиент направляет его на шлюзе, и очевидно, заблудиться.

C:\Users\agostinox>tracert 172.16.1.17
  1     1 ms     1 ms     1 ms  192.168.2.1
  2    14 ms    96 ms   101 ms  192.168.1.1
  3     *        *        *     Richiesta scaduta.
  4    24 ms    12 ms    12 ms  172.17.129.137
  5     *        *        *     Richiesta scaduta.

И здесь кажется, что пакеты системных маршрутов прямо к шлюзу, поскольку это не видело непосредственно приложенный сетевой адаптер. Почему это происходит?

Редактирование 1 - детализирует на моей клиентской конфигурации OpenVPN

C:\Users\agostinox>openvpn --version
OpenVPN 2.3.6 x86_64-w64-mingw32 [SSL (OpenSSL)] [LZO] [PKCS11] [IPv6] built on Mar 19 2015
library versions: OpenSSL 1.0.1m 19 Mar 2015, LZO 2.08

И моя клиентская конфигурация:

remote xxx.xxx.xxx.xxx
cipher AES-128-CBC
port 1194
proto tcp-client
dev tap
ifconfig 172.16.1.40 255.255.255.0
dev-node "Connessione alla rete locale (LAN) 3"
secret a_file_containing_my_preshared_key.key
ping 10
comp-lzo
verb 4
mute 10

Отредактируйте 2, детали о моей конфигурации сервера

Вот "резервное копирование" моей (pfsense) конфигурации сервера.
Поскольку Вы видите, что конфигурация в возможном минимуме.

<openvpn>
  <openvpn-server>
  <vpnid>2</vpnid> 
  <mode>p2p_shared_key</mode> 
  <protocol>TCP</protocol> 
  <dev_mode>tap</dev_mode> 
  <ipaddr /> 
  <interface>wan</interface> 
  <local_port>1194</local_port> 
  <description><![CDATA[ test tap OpenVPN server]]> 
  </description>
  <custom_options /> 
  <shared_key>... my shared key, omitted ...</shared_key> 
  <crypto>AES-128-CBC</crypto> 
  <engine>none</engine> 
  <tunnel_network /> 
  <tunnel_networkv6 /> 
  <remote_network /> 
  <remote_networkv6 /> 
  <gwredir /> 
  <local_network /> 
  <local_networkv6 /> 
  <maxclients /> 
  <compression>yes</compression> 
  <passtos /> 
  <client2client /> 
  <dynamic_ip /> 
  <pool_enable>yes</pool_enable> 
  <topology_subnet /> 
  <serverbridge_dhcp /> 
  <serverbridge_interface /> 
  <serverbridge_dhcp_start /> 
  <serverbridge_dhcp_end /> 
  <netbios_enable /> 
  <netbios_ntype>0</netbios_ntype> 
  <netbios_scope /> 
  </openvpn-server>
</openvpn>

Отредактируйте 3, вывод ipconfig / все

Когда туннель произошел, это - вывод

ipconfig /all
Scheda Ethernet TAP-Interface:

   Suffisso DNS specifico per connessione:
   Descrizione . . . . . . . . . . . . . : TAP-Windows Adapter V9
   Indirizzo fisico. . . . . . . . . . . : 00-FF-7B-FB-32-C0
   DHCP abilitato. . . . . . . . . . . . : Sì
   Configurazione automatica abilitata   : Sì
   Indirizzo IPv6 locale rispetto al collegamento . : fe80::3838:3c0c:c3c6:fcca%35(Preferenziale)
   Indirizzo IPv4. . . . . . . . . . . . : 172.16.1.40(Preferenziale)
   Subnet mask . . . . . . . . . . . . . : 255.255.255.0
   Lease ottenuto. . . . . . . . . . . . : giovedì 16 aprile 2015 09:57:32
   Scadenza lease . . . . . . . . . . .  : venerdì 15 aprile 2016 09:57:32
   Gateway predefinito . . . . . . . . . : fe80::20c:29ff:fe92:2272%35
   Server DHCP . . . . . . . . . . . . . : 172.16.1.0
   IAID DHCPv6 . . . . . . . . . . . : 1107361659
   DUID Client DHCPv6. . . . . . . . : 00-01-00-01-14-AE-89-EA-F0-4D-A2-63-11-97
   Server DNS . . . . . . . . . . . . .  : fec0:0:0:ffff::1%1
                                           fec0:0:0:ffff::2%1
                                           fec0:0:0:ffff::3%1
   NetBIOS su TCP/IP . . . . . . . . . . : Attivato
3
задан 16 April 2015 в 11:01
3 ответа

У меня такое чувство, что вы не настаиваете ваши маршруты правильно с сервера. Я заметил, что ваш шлюз для VPN - это IPv6-адрес.

Попробуйте использовать параметр push в server.conf, чтобы протолкнуть ваши маршруты. Вы также можете добавить директиву server , чтобы можно было зарезервировать клиентскую подсеть.

Если вы используете Linux, вам понадобится net.ipv4.ip_forward = 1 на VPN-сервере, также настроенном с помощью sysctl .

С уважением,

-Иулиан

0
ответ дан 3 December 2019 в 07:00

ನಿಮ್ಮ ತೆರೆದ ವಿಪಿಎನ್ ಸ್ಥಾಪನೆಯ ಬಿನ್ ಫೋಲ್ಡರ್‌ನಲ್ಲಿ OpenVPNgui.exe, openvpn.exe ಮತ್ತು openvpnserver.exe ಫೈಲ್‌ಗಳನ್ನು ಪತ್ತೆ ಮಾಡಿ. ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ವಸ್ತುಗಳ ಮೇಲೆ ಬಲ ಕ್ಲಿಕ್ ಮಾಡಿ, ಗುಣಲಕ್ಷಣಗಳನ್ನು ಆರಿಸಿ ಮತ್ತು ನಂತರ ಹೊಂದಾಣಿಕೆ ಟ್ಯಾಬ್. "ಈ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ನಿರ್ವಾಹಕರಾಗಿ ಚಲಾಯಿಸಿ" ಚೆಕ್ ಬಾಕ್ಸ್ ಕ್ಲಿಕ್ ಮಾಡಿ, ಮತ್ತು ಗುಣಲಕ್ಷಣಗಳ ಫಲಕವನ್ನು ಮುಚ್ಚಿ. ಓಪನ್‌ವಿಪಿಎನ್‌ನಿಂದ ಸಂಪೂರ್ಣವಾಗಿ ಮುಚ್ಚಿ (ಕಾರ್ಯಗತಗೊಳ್ಳುವ ಯಾವುದೂ ಇನ್ನೂ ಚಾಲನೆಯಲ್ಲಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸಲು ಟಾಸ್ಕ್ ಮ್ಯಾನೇಜರ್ ಬಳಸಿ). ಓಪನ್ ವಿಪಿಎನ್ ಅನ್ನು ಮತ್ತೆ ಪ್ರಾರಂಭಿಸಿ ಮತ್ತು ಇನ್ನೊಂದು ಪ್ರಯತ್ನ ನೀಡಿ.

1
ответ дан 3 December 2019 в 07:00

Не слишком хорошо разбирается в Windows. OpenVPN, FWIW, вот моя ставка на то, кто может быть виновен здесь:

  • Глядя на результат вашей команды маршрутизации Windows, похоже, что вы пропустили запись шлюза для сети OpenVPN. Правда, у вас есть адрес в сети VPN (адрес 172.16.1.40), но для этой сети не определен gw. На моем ящике у меня есть доступ к нескольким сетям, каждая из которых имеет свой собственный GW в следующем виде:

     0.0.0.0.0 0 172.20.68.2 172.20.69.3 20
    10.0.3.0 255.255.255.0 172.20.68.5 172.20.69.3 21
    

Чтобы исправить это, откройте конфигурацию вашего сервера openvpn и добавьте к ней строку вида:

 push "route 172.16.1.0 255.255.255.0"

. Это гарантирует, что к клиенту будет проложен правильный маршрут при каждом подключении к серверу.

  • Вы также можете пропустить обратный маршрут - иногда (не всегда по причинам, которые я не совсем понимаю) вам нужно добавить iroute к конфигурационному элементу, который у вас есть для данного клиента в каталоге сервера ccd (/etc/openvpn/ccd//). Это вызовет обратный маршрут, когда клиент подключается к серверу. Содержимое одного из моих ccd файлов выглядит следующим образом:

    iroute 192.168.87.0 255.255.255.0
    

Это гарантирует, что сервер OpenVPN может корректно маршрутизировать данные обратно к клиенту

  • Я думаю, что вы также можете просто добавить iroutes в конфигурацию основного сервера, но тогда они будут определены, даже если клиент не подключен. Это будет выглядеть следующим образом:

    route 192.168.87.0 255.255.255.0 192.168.11.1
    
  • EDIT: Также обратите внимание, что запуск OpenVPN клиентов на Windows требует административных привилегий. В противном случае, OpenVPN не сможет добавлять маршруты и т.п. (как отмечено в комментариях к вашему вопросу). Лучше всего запустить его в качестве сервиса, чтобы соединения появлялись автоматически при загрузке. По крайней мере, это действительно хорошо работает в моих сценариях.

Я думаю, что это может заставить вас идти снова. OpenVPN действительно великолепен, и я успешно использую его как в бизнесе, так и в играх уже некоторое время :-)

.
1
ответ дан 3 December 2019 в 07:00

Теги

Похожие вопросы