openvpn:连接已建立,无法 ping 服务器 tun 接口(debian 服务器、windows 和 os x 客户端)

openvpn:连接已建立,无法 ping 服务器 tun 接口(debian 服务器、windows 和 os x 客户端)

我的目标:

我想在公司 netcup 的 vServer 上设置 openVPN,运行 Debian squeeze。我只想要从客户端到服务器的 VPN 连接;客户端不应该能够互相看到,而且服务器不需要充当其他服务的网关。

我的设置:

1 个 Debian squeeze vServer、3 个 Windows 7 客户端、2 个 OS X Lion 客户端,客户端都在我的 192.168.xx 家庭子网中,服务器上的防火墙尚未设置限制,客户端上的防火墙不阻止传出连接,我甚至根据此帖子添加了 ICMPv4 协议作为例外:OpenVPN 服务器无法 ping 客户端。子网中有一个 WLAN 路由器和 fritz.box 路由器,它是我的互联网提供商的网关。WLAN 路由器有防火墙,但也没有设置限制。

我的限制:

由于这是一个虚拟服务器,openVPN 服务器在其上运行,因此存在一些限制:1)首先必须解锁 tun 设备“tun1”,并为其分配一个固定地址(10.240.43.1),我无法更改该地址,因为 2)不允许修改 ifconfig 以及 IP 表(我理解这是因为虚拟技术为多个客户使用一个内核,因此不允许一个客户修改他们的设置),这意味着 3)我无法启用/禁用 IPv4 转发(是的,我以 root 身份登录),我之所以这么说是因为我已经发现 50 多篇帖子存在几乎相同但略有不同的问题。

目前有效的方法:

客户端可以通过 Windows 7 和 OS X Lion 上的 openVPN GUI 客户端连接到 Debian 计算机上的 openVPN 服务器,客户端在所需子网 (10.240.43.x) 中分配 IP 地址,日志不会显示任何错误。我将在最后发布一个例子。

曾经起作用的方法(这让我抓狂了):

在第二个 Windows 7 客户端上设置 openVPN 时,建立了连接,分配了 IP 地址,并且客户端可以通过 tun 接口的地址 ping 服务器。我很高兴我在同一台 MacBook 上启动了 OS X 进行设置,但没有成功,第二天我启动 Windows 7 时,没有更改 server.conf 或 openvpn 的客户端配置,我遇到了与其他 Windows 7 和 OS X 客户端相同的麻烦。对我来说,这意味着至少这一次配置肯定没问题,从那时起,我一直在试图弄清楚发生了什么,如果有人能指出我做错的地方,我将不胜感激(我对此还很陌生,而且英语不是我的母语)

根据我所读到的关于正确配置的 openVPN 连接的内容,应该做什么:

ping。我想从客户端 ping 10.240.43.1(服务器 tun 接口 IP)或从服务器 ping 10.240.43.xx(<-- 客户端 IP)。当服务器 ping 客户端或客户端 ping 服务器时,我收到超时,而且当我尝试 tracert(在 Windows 中)时,我甚至没有到达第一个节点,如果我理解正确的话,那将是我的 fritz.box 路由器。我还读到,当我连接到 openVPN 时,我应该有一个不同的公共 IP 地址,但我没有得到它,它保持我从提供商那里获得的相同动态 IP 地址。注意,我在 Windows 的客户端配置文件中添加了一个自定义配置,以防止 Windows 将其视为未识别的网络,这确实有效。但是这并不能解决我的问题……我真的尝试了我能找到的每一篇相关帖子,所以请不要将我重定向到另一个“类似”的问题……

编辑:特别是这个:OpenVPN 配置 - Windows 7 客户端和 Debian 服务器,这个可怜的家伙甚至没有收到任何回复,只有评论。但他有一个非常相似的,如果不是相同的问题。

提前致谢!


Debian Squeeze 上的 server.conf

端口 1194 原始 udp

-10.xxx 地址升序:

拓扑子网

开发tun1

-防止 ifconfig 操作,否则在服务器上重新启动 openvpn 守护程序时会出现错误 - 无论如何都无法在我的服务器上添加路由:

ifconfig-noexec route-noexec

ca /etc/openvpn/easy-rsa/keys/ca.crt cert /etc/openvpn/easy-rsa/keys/server.crt key /etc/openvpn/easy-rsa/keys/server.key dh /etc/openvpn/easy-rsa/keys/dh1024.pem

服务器 10.240.43.0 255.255.255.0

ifconfig-pool-persist ipp.txt

推送“dhcp-option DNS 10.240.43.1”;推送“路由 10.240.43.0 255.255.255.0”;推送“重定向网关 def1”

保持活动 10 120

tls-auth /etc/openvpn/easy-rsa/keys/ta.key 0 comp-lzo

用户无人组无人

持久键持久状态 openvpn-status.log 动词 3


一个 Windows 客户端配置示例:client1.opvn

客户

开发tun1

开发节点 openVPN

原始 UDP

我的服务器的远程公共 IP 地址 1194

虚拟默认网关可解决 Windows“未识别的网络”/“未知网络”问题:

路由度量 50 路由 0.0.0.0 0.0.0.0 10.240.43.1

解析-重试无限

不绑定

持久密钥持久调谐

ca“C:\Program Files (x86)\OpenVPN\config\ca.crt” cert“C:\Program Files (x86)\OpenVPN\config\client1.crt” key“C:\Program Files (x86)\OpenVPN\config\client1.key”

ns-cert-type 服务器

tls-auth“C:\Program Files (x86)\OpenVPN\config\ta.key” 1

comp-lzo 动词 3


当 openVPN 连接并且分配了 IP 地址时,Windows 客户端上的 route print -4 的输出:

===========================================================================
Schnittstellenliste
 22...00 ff 14 5f fc a5 ......TAP-Windows Adapter V9
 21...00 ff 8a b4 4f 15 ......TeamViewer VPN Adapter
 16...00 18 de 68 09 6c ......Intel(R) PRO/Wireless 3945ABG-Netzwerkverbindug
 11...00 15 c5 b7 7d 12 ......Broadcom 440x 10/100-integrierter Controller
  1...........................Software Loopback Interface 1
 18...00 00 00 00 00 00 00 e0 Microsoft-ISATAP-Adapter
 19...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface
 15...00 00 00 00 00 00 00 e0 Microsoft-ISATAP-Adapter #2
 17...00 00 00 00 00 00 00 e0 Microsoft-ISATAP-Adapter #4
===========================================================================

IPv4-Routentabelle
===========================================================================
Aktive Routen:
     Netzwerkziel    Netzwerkmaske          Gateway    Schnittstelle Metrik
          0.0.0.0          0.0.0.0      192.168.1.1     192.168.1.72     20
          0.0.0.0          0.0.0.0      10.240.43.1      10.240.43.8     50
      10.240.43.0    255.255.255.0   Auf Verbindung       10.240.43.8    286
      10.240.43.8  255.255.255.255   Auf Verbindung       10.240.43.8    286
    10.240.43.255  255.255.255.255   Auf Verbindung       10.240.43.8    286
        127.0.0.0        255.0.0.0   Auf Verbindung         127.0.0.1    306
        127.0.0.1  255.255.255.255   Auf Verbindung         127.0.0.1    306
  127.255.255.255  255.255.255.255   Auf Verbindung         127.0.0.1    306
      192.168.1.0    255.255.255.0   Auf Verbindung      192.168.1.72    276
     192.168.1.72  255.255.255.255   Auf Verbindung      192.168.1.72    276
    192.168.1.255  255.255.255.255   Auf Verbindung      192.168.1.72    276
        224.0.0.0        240.0.0.0   Auf Verbindung         127.0.0.1    306
        224.0.0.0        240.0.0.0   Auf Verbindung      192.168.1.72    276
        224.0.0.0        240.0.0.0   Auf Verbindung       10.240.43.8    286
  255.255.255.255  255.255.255.255   Auf Verbindung         127.0.0.1    306    
  255.255.255.255  255.255.255.255   Auf Verbindung      192.168.1.72    276
  255.255.255.255  255.255.255.255   Auf Verbindung       10.240.43.8    286
===========================================================================
Ständige Routen:
  Keine

连接到服务器时openVPN状态日志的输出:

Sat Jan 19 23:21:17 2013 OpenVPN 2.3.0 i686-w64-mingw32 [SSL (OpenSSL)] [LZO] [PKCS11] [eurephia] [IPv6] built on Jan  8 2013
Sat Jan 19 23:21:17 2013 MANAGEMENT: TCP Socket listening on [AF_INET]127.0.0.1:25340
Sat Jan 19 23:21:17 2013 Need hold release from management interface, waiting...
Sat Jan 19 23:21:17 2013 MANAGEMENT: Client connected from [AF_INET]127.0.0.1:25340
Sat Jan 19 23:21:17 2013 MANAGEMENT: CMD 'state on'
Sat Jan 19 23:21:17 2013 MANAGEMENT: CMD 'log all on'
Sat Jan 19 23:21:18 2013 MANAGEMENT: CMD 'hold off'
Sat Jan 19 23:21:18 2013 MANAGEMENT: CMD 'hold release'
Sat Jan 19 23:21:18 2013 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Sat Jan 19 23:21:18 2013 Control Channel Authentication: using 'C:\Program Files (x86)\OpenVPN\config\ta.key' as a OpenVPN static key file
Sat Jan 19 23:21:18 2013 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Sat Jan 19 23:21:18 2013 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Sat Jan 19 23:21:18 2013 Socket Buffers: R=[8192->8192] S=[8192->8192]
Sat Jan 19 23:21:18 2013 UDPv4 link local: [undef]
Sat Jan 19 23:21:18 2013 UDPv4 link remote: [AF_INET][[public server ip]]:1194
Sat Jan 19 23:21:18 2013 MANAGEMENT: >STATE:1358634078,WAIT,,,
Sat Jan 19 23:21:18 2013 MANAGEMENT: >STATE:1358634078,AUTH,,,
Sat Jan 19 23:21:18 2013 TLS: Initial packet from [AF_INET][[public server ip]]:1194, sid=473dff0c 89fc085c
Sat Jan 19 23:21:18 2013 VERIFY OK: depth=1, C=AT, ST=Tyrol, L=Innsbruck, O=[[custom company name]], OU=General, CN=openvpn-eq, name=openvpn-[[custom name]], emailAddress=[[custom mail address]]
Sat Jan 19 23:21:18 2013 VERIFY OK: nsCertType=SERVER
Sat Jan 19 23:21:18 2013 VERIFY OK: depth=0, C=AT, ST=Tyrol, L=Innsbruck, O=[[custom company name]], OU=General, CN=openvpn-eq, name=openvpn-[[custom name]], emailAddress=[[custom mail address]]
Sat Jan 19 23:21:19 2013 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Sat Jan 19 23:21:19 2013 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Sat Jan 19 23:21:19 2013 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Sat Jan 19 23:21:19 2013 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Sat Jan 19 23:21:19 2013 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA
Sat Jan 19 23:21:19 2013 [openvpn-eq] Peer Connection Initiated with [AF_INET][[public server ip]]3:1194
Sat Jan 19 23:21:20 2013 MANAGEMENT: >STATE:1358634080,GET_CONFIG,,,
Sat Jan 19 23:21:22 2013 SENT CONTROL [openvpn-eq]: 'PUSH_REQUEST' (status=1)
Sat Jan 19 23:21:22 2013 PUSH: Received control message: 'PUSH_REPLY,dhcp-option DNS 10.240.43.1,route-gateway 10.240.43.1,topology subnet,ping 10,ping-restart 120,ifconfig 10.240.43.8 255.255.255.0'
Sat Jan 19 23:21:22 2013 OPTIONS IMPORT: timers and/or timeouts modified
Sat Jan 19 23:21:22 2013 OPTIONS IMPORT: --ifconfig/up options modified
Sat Jan 19 23:21:22 2013 OPTIONS IMPORT: route-related options modified
Sat Jan 19 23:21:22 2013 OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
Sat Jan 19 23:21:22 2013 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Sat Jan 19 23:21:22 2013 MANAGEMENT: >STATE:1358634082,ASSIGN_IP,,10.240.43.8,
Sat Jan 19 23:21:22 2013 open_tun, tt->ipv6=0
Sat Jan 19 23:21:22 2013 TAP-WIN32 device [openVPN] opened: \\.\Global\{145FFCA5-1EBD-49E6-9CA2-42B832968EFE}.tap
Sat Jan 19 23:21:22 2013 TAP-Windows Driver Version 9.9 
Sat Jan 19 23:21:22 2013 Set TAP-Windows TUN subnet mode network/local/netmask = 10.240.43.0/10.240.43.8/255.255.255.0 [SUCCEEDED]
Sat Jan 19 23:21:22 2013 Notified TAP-Windows dºÀRr
Sat Jan 19 23:21:22 2013 Successful ARP Flush on interface [22] {145FFCA5-1EBD-49E6-9CA2-42B832968EFE}
Sat Jan 19 23:21:27 2013 TEST ROUTES: 1/1 succeeded len=1 ret=1 a=0 u/d=up
Sat Jan 19 23:21:27 2013 MANAGEMENT: >STATE:1358634087,ADD_ROUTES,,,
Sat Jan 19 23:21:27 2013 C:\Windows\system32\route.exe ADD 0.0.0.0 MASK 0.0.0.0 10.240.43.1 METRIC 50
Sat Jan 19 23:21:27 2013 Route addition via IPAPI succeeded [adaptive]
Sat Jan 19 23:21:27 2013 Initialization Sequence Completed
Sat Jan 19 23:21:27 2013 MANAGEMENT: >STATE:1358634087,CONNECTED,SUCCESS,10.240.43.8,[[public server ip]]

服务器路由:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.233.133.2    *               255.255.255.255 UH    0      0        0 tun1
10.241.162.2    *               255.255.255.255 UH    0      0        0 *
static.88-198-1 gw.netcup.net   255.255.255.255 UGH   0      0        0 eth0
10.240.43.2     *               255.255.255.255 UH    0      0        0 tun1
xx.xx.xx.xx     *               255.255.255.192 U     0      0        0 eth0
10.233.133.0    10.233.133.2    255.255.255.0   UG    0      0        0 tun1
xx.xx.228.0     *               255.255.254.0   U     0      0        0 eth0
xx.xx.240.0     *               255.255.252.0   U     0      0        0 eth0
xx.xx.232.0     *               255.255.248.0   U     0      0        0 eth0
10.20.0.0       *               255.255.0.0     U     0      0        0 *
default         gw.netcup.net   0.0.0.0         UG    0      0        0 eth0

答案1

您是否以管理员身份运行了 openvpngui?(右键单击,以管理员身份运行)?这是常见错误,因为添加路由需要提升权限。(当然是在 Windows Vista/7/8 上)。

答案2

这可能不是理想的解决方案,但我可以将问题追溯到一个密钥/证书对可以正确解决该问题对我来说是从 Linux-vServer 虚拟化技术切换到基于 KVM 的技术,这解决了所有问题,因为我可以自己控制要使用哪些 tun 设备,现在每个客户端(WIndows、OS X..)都可以毫无问题地连接并访问服务器上的服务。

相关内容