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

hre*_*mer 5 openvpn ping tun

我的目标:

我想在公司 netcup 的虚拟服务器上设置 openVPN,运行 Debian 挤压。我只想要从客户端到服务器的 VPN 连接;客户端不应该能够看到对方,服务器也不需要作为其他服务的网关。

我的设置:

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

编辑:尤其是这个:OpenVPN 配置 - Windows 7 客户端和 debian 服务器,这个可怜的家伙甚至没有得到一个回复​​,只是评论......但他有一个非常相似的问题,如果不是同样的问题......

提前致谢!


Debian Squeeze 上的 server.conf

端口 1194 proto udp

-10.xxx 地址升序:

拓扑子网

开发 tun1

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

ifconfig-noexec 路由-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

push "dhcp-option DNS 10.240.43.1" ;push "route 10.240.43.0 255.255.255.0" ;push "redirect-gateway def1"

保活 10 120

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

用户nobody组nobody

持久键持久调谐状态 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 类型的服务器

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
Run Code Online (Sandbox Code Playgroud)

连接到服务器时 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]]
Run Code Online (Sandbox Code Playgroud)

服务器路由:

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
Run Code Online (Sandbox Code Playgroud)

hre*_*mer 0

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