如何允许 OpenVPN 服务器上的客户端与客户端进行通信?

如何允许 OpenVPN 服务器上的客户端与客户端进行通信?

Client 1: 192.168.255.3无法 ping 通Client 2: 192.168.255.4
怎样操作才能Client 1正常通讯Client 2

```

# cat /var/lib/docker/volumes/ovpn-data-example/_data/openvpn.conf

server 192.168.255.0 255.255.255.0
verb 3

key /etc/openvpn/pki/private/vpn.server.key
ca /etc/openvpn/pki/ca.crt
cert /etc/openvpn/pki/issued/vpn.server.crt
dh /etc/openvpn/pki/dh.pem
tls-auth /etc/openvpn/pki/ta.key

key-direction 0
keepalive 10 60
persist-key
persist-tun

proto udp
# Rely on Docker to do port mapping, internally always 1194
port 1194
dev tun0
status /tmp/openvpn-status.log

user nobody
group nogroup

client-to-client
topology subnet

### Route Configurations Below
route 192.168.255.0 255.255.255.0

### Push Configurations Below
push "route 192.168.255.0 255.255.255.0"
push "block-outside-dns"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"

我在这个码头工人和数字海洋 vps。

每个客户端与服务器的连接都没有问题,但是任何客户端都无法 ping 通另一个客户端。

答案1

您很可能需要制定允许客户端相互通信的防火墙规则。如果您只想让它们 ping,则需要允许 ICMP 数据包通过。如果您想要的不仅仅是 ping,则需要指定其他规则。如果您使用 iptables 规则允许跨客户端通信,则删除 openvpn 配置中的“客户端到客户端”。

例如:

iptables -I INPUT -m conntrack --cstate ESTABLISHED,RELATED -j ACCEPT
iptables -I OUTPUT -m conntrack --cstate ESTABLISHED,RELATED -j ACCEPT
iptables -I FORWARD -m conntrack --cstate ESTABLISHED,RELATED -j ACCEPT

iptables -I FORWARD -s 192.168.255.3 -d 192.168.255.4 -p ICMP --cstate NEW -j ACCEPT
iptables -I FORWARD -s 192.168.255.4 -d 192.168.255.3 -p ICMP --cstate NEW -j ACCEPT

前三条规则告诉防火墙允许与已建立的连接相关的连接

最后两个允许 ICMP(ping)数据包从一个客户端转发到另一个客户端。

答案2

如何添加 Windows 防火墙规则以通过 OpenVPN 实现客户端到客户端的通信

以管理员权限打开 PowerShell 并输入:

New-NetFirewallRule -DisplayName “OpenVPN allow Inbound” -Direction Inbound -Program %ProgramFiles%\OpenVPN\bin\openvpn.exe -RemoteAddress LocalSubnet -Action Allow
New-NetFirewallRule -DisplayName “OpenVPN allow Outbound” -Direction Outbound -Program %ProgramFiles%\OpenVPN\bin\openvpn.exe -RemoteAddress LocalSubnet -Action Allow
Set-NetFirewallProfile Public -DefaultInboundAction Allow -DefaultOutboundAction Allow

从现在起,每个连接的客户端都应该能够 ping 你

可选:要查看是否已添加,请打开 Windows Defender 防火墙:wf.msc

相关内容