Client 1: 192.168.255.3
не могу пинговать 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"
Я использую openvpn на этот докер и цифровой океан vps.
У каждого клиента нет проблем с подключением к серверу, но ни один клиент не может пинговать другого клиента.
Скорее всего, вам потребуется создать правило брандмауэра, которое позволяет клиентам общаться друг с другом. Если вы просто хотите, чтобы они проверяли связь, вам нужно будет разрешить прохождение пакетов 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) от одного клиента к другому.
Откройте 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
теперь каждый подключенный клиент должен иметь возможность пинговать вас
Необязательно: чтобы узнать, был ли он добавлен, откройте брандмауэр Защитника Windows: wf.msc
.