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"
このdocker とDigital Oceanvpsでopenvpnを使用しています。
すべてのクライアントはサーバーへの接続に問題はありませんが、どのクライアントも別のクライアントにpingを実行することはできません。
ほとんどの場合、クライアントが相互に通信できるようにするファイアウォールルールを作成する必要があります。 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
最初の3つのルールは、すでに確立されている接続に関連する接続を許可するようにファイアウォールに指示します
最後の2つは、ICMP(ping)パケットを1つのクライアントから別のクライアントに転送できるようにします。
管理者権限で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
。