web-dev-qa-db-ja.com

OpenVPNサーバーでクライアントとクライアント間の通信を許可するにはどうすればよいですか?

Client 1: 192.168.255.3はpingできませんClient 2: 192.168.255.4
Client 1Client 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を実行することはできません。

1
modInfo

ほとんどの場合、クライアントが相互に通信できるようにするファイアウォールルールを作成する必要があります。 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つのクライアントから別のクライアントに転送できるようにします。

1
SB Ph.D.

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

0
modInfo