我想知道是否可以让服务器运行带有服务器密钥的 OpenVPN 并让多个客户端连接到它?
我希望服务器为 10.9.8.1,第一个客户端为 10.9.8.2(这有效),第三个客户端为 10.9.8.3,因此它们三个出现在同一个专用网络上。我无法连接第三个,我明白了
TCP/UDP: Socket bind failed on local address [undef]:1194: Address already in use.
当我尝试将第三个连接到 VPN 服务器时。
答案1
当然有可能。您可能想要尝试的配置是,tap
而不是tun
您想知道的配置,尽管配置可能有点困难,但通过这种方式将主机集中在一个网络中会更容易。您可能需要为此启用客户端到客户端的连接 - 在示例 OpenVPN 配置中注释掉了一行。
不过,你的错误是另一回事。这意味着使用端口 1194 的程序(在这种情况下是 OpenVPN)已经在运行,因此您必须在配置中指定其他端口,或者确保前一个实例在不应该打开的情况下已关闭。
ps ax | grep openvpn
如果 OpenVPN 正在运行且不应该运行,并且它的 PID 为 1234(左侧第一个数字),您可以键入kill 1234
将其关闭。
答案2
该错误表明本地主机上的端口 1194 不可绑定(可能已被另一个 openvpn 连接使用)。您可以使用它来检查该过程网络统计命令(PID 946,本例中的 openvpn 进程):
netstat -npa | grep 1194
udp 0 0 0.0.0.0:1194 0.0.0.0:* 946/openvpn
开放VPN客户端默认尝试使用 1194 作为本地主机上的端口(我认为不应该,不是真正相关,但可能决定配置防火墙规则)。
在这种情况下,解决方案是配置开放VPN客户与诺宾德选项:
--nobind
Do not bind to local address and port. The IP stack will allocate a dynamic
port for returning packets. Since the value of the dynamic port could not be
known in advance by a peer, this option is only suitable for peers which will
be initiating connections by using the --remote option.
尝试启动你的客户--nobind
参数选项或添加一行nobind
在你的配置文件上。