我正在尝试在我的电脑上设置OpenVPN
服务器。我已按照描述的步骤进行操作这里。
我的服务器配置文件如下所示:
local 192.168.1.150
port 1194
dev tun
ifconfig 10.8.0.1 10.8.0.2
secret static.key
我的客户端配置文件如下所示:
remote A.B.C.D # this is my public IP address, is that correct?
port 1194
dev tun
ifconfig 10.8.0.2 10.8.0.1
secret static.key
当我启动服务器和客户端时,客户端显示以下内容:
Fri Jan 31 20:04:27 2014 OpenVPN 2.2.1 x86_64-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] [eurephia] [MH] [PF_INET6] [IPv6 payload 20110424-2 (2.2RC2)] built on Feb 27 2013
Fri Jan 31 20:04:27 2014 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Fri Jan 31 20:04:27 2014 WARNING: file 'static.key' is group or others accessible
Fri Jan 31 20:04:27 2014 Static Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Fri Jan 31 20:04:27 2014 Static Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Jan 31 20:04:27 2014 Static Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Fri Jan 31 20:04:27 2014 Static Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Jan 31 20:04:27 2014 Socket Buffers: R=[229376->131072] S=[229376->131072]
Fri Jan 31 20:04:27 2014 TUN/TAP device tun0 opened
Fri Jan 31 20:04:27 2014 TUN/TAP TX queue length set to 100
Fri Jan 31 20:04:27 2014 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Fri Jan 31 20:04:27 2014 /sbin/ifconfig tun0 10.8.0.2 pointopoint 10.8.0.1 mtu 1500
Fri Jan 31 20:04:27 2014 Data Channel MTU parms [ L:1544 D:1450 EF:44 EB:4 ET:0 EL:0 ]
Fri Jan 31 20:04:27 2014 Local Options hash (VER=V4): 'd3880969'
Fri Jan 31 20:04:27 2014 Expected Remote Options hash (VER=V4): 'c41bf3b8'
Fri Jan 31 20:04:27 2014 UDPv4 link local (bound): [undef]
Fri Jan 31 20:04:27 2014 UDPv4 link remote: [AF_INET]A.B.C.D:1194
Fri Jan 31 20:04:37 2014 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
我添加了一条规则,ufw
允许所有传入流量到端口1194
。
我还在路由器的防火墙中添加了一条规则,允许所有传入流量到达端口1194
。
我使用静态 IP 地址192.168.1.150
。
我尝试关闭两个防火墙,看看是否能正常工作,但没有结果。
我的客户端无法连接到我的服务器,这有什么原因吗?请注意,我连接到我的公共 IP 地址,这是正确的吗?还是应该是其他原因?
编辑:
服务器日志(verb 3
):
Fri Jan 31 23:01:54 2014 OpenVPN 2.2.1 x86_64-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] [eurephia] [MH] [PF_INET6] [IPv6 payload 20110424-2 (2.2RC2)] built on Feb 27 2013
Fri Jan 31 23:01:54 2014 WARNING: you are using user/group/chroot/setcon without persist-tun -- this may cause restarts to fail
Fri Jan 31 23:01:54 2014 WARNING: you are using user/group/chroot/setcon without persist-key -- this may cause restarts to fail
Fri Jan 31 23:01:54 2014 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Fri Jan 31 23:01:54 2014 Static Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Fri Jan 31 23:01:54 2014 Static Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Jan 31 23:01:54 2014 Static Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Fri Jan 31 23:01:54 2014 Static Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Jan 31 23:01:54 2014 Socket Buffers: R=[229376->131072] S=[229376->131072]
Fri Jan 31 23:01:54 2014 TUN/TAP device tun0 opened
Fri Jan 31 23:01:54 2014 TUN/TAP TX queue length set to 100
Fri Jan 31 23:01:54 2014 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Fri Jan 31 23:01:54 2014 /sbin/ifconfig tun0 10.8.0.1 pointopoint 10.8.0.2 mtu 1500
Fri Jan 31 23:01:54 2014 Data Channel MTU parms [ L:1544 D:1450 EF:44 EB:4 ET:0 EL:0 ]
Fri Jan 31 23:01:54 2014 Local Options hash (VER=V4): 'c41bf3b8'
Fri Jan 31 23:01:54 2014 Expected Remote Options hash (VER=V4): 'd3880969'
Fri Jan 31 23:01:54 2014 GID set to neftas
Fri Jan 31 23:01:54 2014 UID set to neftas
Fri Jan 31 23:01:54 2014 UDPv4 link local (bound): [AF_INET]192.168.1.150:1194
Fri Jan 31 23:01:54 2014 UDPv4 link remote: [undef]
答案1
ECONNREFUSED
表示您尝试连接的端口未在您尝试连接的 IP 上打开。这意味着您连接到了错误的 IP,您没有成功打开防火墙上的端口,服务器没有成功启动,或者服务器正在使用其他端口。尝试以下操作:
nmap
在主机名为“localhost”的服务器上使用“ ”来检查服务器是否在您想要的端口上正常运行。在具有服务器公共 IP 的客户端上使用它来检查目标端口是否打开。
如果您发布服务器日志也会有所帮助。
答案2
我在国外的 VPS 上设置 OpenVPN 服务器时也遇到了同样的问题。通过 nmap,我发现我选择的 UDP 端口(我的情况是 443)已关闭,无法接收流量。
我使用 ufw 来确保端口 443/udp 已打开,并且接收我从客户端请求的流量。
sudo apt-get install -y ufw
ufw allow ssh
ufw allow 443/udp (Insert your own port/protocol here)
然后我编辑了 ufw 的配置文件:
sudo nano /etc/default/ufw
并替换为:
DEFAULT_FORWARD_POLICY="DROP"
到
DEFAULT_FORWARD_POLICY="ACCEPT"
然后,简单激活并重新启动 OpenVPN 即可。
sudo ufw enable
并通过输入以下内容进行检查:
sudo ufw status
并检查我的所有防火墙设置是否正确,然后使用 nmap 进行交叉检查:
sudo nmap -sU 443 localhost
这似乎对我有用。可能对其他人不起作用,但它解决了我的问题,而且只花了我大约 5 分钟。