我正在尝试在我的虚拟机上获取 OpenVPN 的工作设置并从客户端对其进行身份验证。
我不确定,但在我看来它与套接字有关,因为它没有设置为 LISTEN,而且 localhost 似乎不正确。我以前从未设置过 VPN。
# netstat -tulpn | grep vpn
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 127.0.0.1:1194 0.0.0.0:* 24059/openvpn
我认为这个设置不正确。
以下是我所做工作的一些细节。我有一个来自 MediaTemple 的 VPS:
这些是我启动 openvpn 之前的接口:
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:39482 errors:0 dropped:0 overruns:0 frame:0
TX packets:39482 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3237452 (3.2 MB) TX bytes:3237452 (3.2 MB)
venet0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:127.0.0.1 P-t-P:127.0.0.1 Bcast:0.0.0.0 Mask:255.255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
RX packets:4885284 errors:0 dropped:0 overruns:0 frame:0
TX packets:4679884 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:835278537 (835.2 MB) TX bytes:1989289617 (1.9 GB)
venet0:0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:205.[redacted] P-t-P:205.186.148.82 Bcast:0.0.0.0 Mask:255.255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
我已经关注本指南介绍了如何设置基本服务器并获取 .p12 文件但是,我收到一条错误消息,指出/dev/net/tun
缺少内容,因此我创建了它
mkdir -p /dev/net
mknod /dev/net/tun c 10 200
chmod 600 /dev/net/tun
这解决了阻止服务启动的错误,但是我无法连接。
在服务器上,我设置了 myserver.conf 文件(按照教程)来指示local 127.0.0.1
(我也尝试使用公共 IP 地址,也许我不明白他们所说的本地 IP 是什么意思?)。服务器启动时没有错误,这是启动时的日志:
Sun Apr 1 17:21:27 2012 OpenVPN 2.1.3 x86_64-pc-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] [MH] [PF_INET6] [eurephia] built on Mar 11 2011
Sun Apr 1 17:21:27 2012 IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by IANA. OpenVPN 2.0-beta16 and earlier used 5000 as the default port.
Sun Apr 1 17:21:27 2012 NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
Sun Apr 1 17:21:27 2012 /usr/bin/openssl-vulnkey -q -b 1024 -m <modulus omitted>
Sun Apr 1 17:21:27 2012 TUN/TAP device tun0 opened
Sun Apr 1 17:21:27 2012 /sbin/ifconfig tun0 10.8.0.1 pointopoint 10.8.0.2 mtu 1500
Sun Apr 1 17:21:27 2012 GID set to openvpn
Sun Apr 1 17:21:27 2012 UID set to openvpn
Sun Apr 1 17:21:27 2012 UDPv4 link local (bound): [AF_INET]127.0.0.1:1194
Sun Apr 1 17:21:27 2012 UDPv4 link remote: [undef]
Sun Apr 1 17:21:27 2012 Initialization Sequence Completed
这将创建一个如下所示的 tun0 接口:
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.8.0.1 P-t-P:10.8.0.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
并且 netstat 命令仍然指示状态为不是设置LISTEN
。
在客户端,我已将 p12 证书安装到两台设备(一台是 Android 平板电脑,另一台是 Ubuntu 台式机)。我也没有看到端口 1194 处于打开状态。
两个客户端都安装了证书文件,然后要求我提供 L2TP 密钥(已在文件中设置),但奇怪的是,它们要求我提供用户名和密码,我不知道从哪里可以得到这些。我尝试了所有登录信息,也尝试了一些疯狂猜测,但都是徒劳的。
如果我可以提供更多信息,请告诉我。
答案1
OpenVPN 是一个 SSL VPN 客户端,它不使用 L2TP 协议。您需要安装 OpenVPN 客户端,或者寻找支持 L2TP 的其他解决方案。