无法与 OpenVPN 服务器建立 TCP 连接

无法与 OpenVPN 服务器建立 TCP 连接
Client OpenVPN assigned IP: 10.8.0.2
   ↓ TCP on 1194
Internet
Router port-forwards 1194 to server- Public IP 104.162.67.198
Server LAN IP: 10.8.0.1

我认为以上就是我想要做的(10.8.0.0/24 是分配的 IP)。
我正尝试通过 TCP 将多个远程客户端路由到运行 Ubuntu 14.04 的 OpenVPN 服务器(否则用作 samba 文件共享)。

如你所见,在我的 server.conf 中,我按下“路由......”几乎每个选项都包含我服务器分配的 IP 地址、服务器内部 IP 地址和我的网络公共 IP 地址,因为我不确定哪些需要路由。

请参阅下面我所做的详细信息和故障排除,任何建议都将非常感谢。

服务器配置文件

port 1194
proto tcp
mode server
dev tun
ca ca.crt
cert sambasrv.crt
sambasrv.key
dh dh2048.pem
ifconfig-pool-persis ipp.txt
push "route 192.168.0.19 255.255.255.0"
push "route 10.8.0.1 255.255.255.0"
push "route 10.0.0.0 255.0.0.0"
push "route 104.173.62.178 255.255.0"
push "route 10.8.0.1/24 104.173.62.178"
client-config ccd
route 10.8.0.2 255.255.255.0
keepalive 10 20
max-clinets 100
user nobody
group nogroup
persist-key
persist-tun
log-append openvpn.log
verb 4

客户端配置文件

client dev tun
remote 104.173.62.178 1194
resolv-retry infinite
nobind
user nobody
group no group
persist key
persist tun
;mute-replay-warnings
ca ca.crt
cert client1.crt
key client1.key
comp-lzo
verb 4

我现在得到本地地址 [undef] 上的套接字绑定失败,尽管全天使用不同的配置,我已经成功使 OpenVPN 服务器初始化,但在重启/更多故障排除后又回到了致命错误状态。

/etc/openvpn server.conf
Tue Dec 11 17:36:18 2012 Socket Buffers: R=[87380->131072] S=[16384->131072]
Tue Dec 11 17:36:18 2012 TCP/UDP: Socket bind failed on local address [undef]: Address already in use
Tue Dec 11 17:36:18 2012 Exiting due to fatal error

服务器可以 ping 通自身(10.8.0.1),但不能 ping 通客户端。
客户端 ping 10.8.0.1(服务器)超时。

以下是之前文章中推荐过的更多测试结果:

telnet 10.8.0.1 1194

无法连接#我读到的意思是 OpenVPN 没问题,但网络不行

netstat -nlp | grep 1194
udp   0   0 0.0.0:1194   0.0.0.0:*   3593/openvpn

对于上面的 netstat,我不知道为什么是 udp 而不是 tcp。也许那里有问题?

接口配置

ifconfig tun0 connect
inet addr:10.8.0.1 P-t-P:10.8.0.2 Mask:255.255.255.255

ip 路由显示:

default via 192.168.1.1 dev em1
10.8.0.0/24 via 10.8.0.2 dev tun0
10.8.0.2 dev tun0 proto kernel scope link src 10.8.0.1
192.168.1.0/24 dev em1 proto kernel scope link src 192.168.1.34

我试过了:

$iptables -t nat -A POSTROUTING -o tun+ -j MASQUERADE
$iptables -A INPUT -i tun0 -j ACCEPT

启用 IP 转发:

echo 1 > /proc/sys/net/ipv4/ip_forward

另请注意,在客户端,我尝试使用 Tunnelblick 连接到服务器,并已成功添加 client.conf、ca.crt、client1.ct 和 clinet1.key。尝试连接时,有数据包发出,但没有数据包进入。

答案1

在 OPENVPN 日志文件中你会发现:

TCP/UDP:本地地址 [undef] 上的套接字绑定失败:地址已在使用中

我通过“双重重启”OpenVPN 服务器解决了这个问题。它可以切换绑定问题。第一次可以,下次就不行了。

希望它能帮助别人

卢茨

相关内容