OpenVPN: разрешить серверу связываться с клиентом без перенаправления всего клиентского трафика через VPN?

OpenVPN: разрешить серверу связываться с клиентом без перенаправления всего клиентского трафика через VPN?

Итак, я настроил достаточно простой tunсервер OpenVPN, и у меня возникли проблемы с тем, чтобы сервер мог взаимодействовать со всеми подключенными клиентами.

В настоящее время у меня есть две группы клиентов: некоторые не используют VPN для подключения к Интернету (только для общения с другими клиентами), а некоторые отправляют redirect-gatewayвесь свой трафик через VPN.

При моей настройке все подключенные клиенты могут взаимодействовать с сервером и другими клиентами. Однако с сервера я могу связаться (например, пинговать) только с клиентами, которые используют redirect-gatewayVPN для отправки всего своего трафика. Клиенты, не использующие эту конфигурацию, могут пинговать сервер, но сервер не может пинговать обратно (они не отвечают на него, и он отключается по тайм-ауту).

Как настроить маршрутизацию так, чтобы сервер мог взаимодействовать с клиентами, даже если они не используют VPN в качестве шлюза по умолчанию?

Вот соответствующая конфигурация сервера:

port 1194
proto udp
dev tun
topology subnet
push "topology subnet"
server 10.7.0.0 255.255.255.0
ifconfig-pool-persist /etc/openvpn/ipp.txt
client-config-dir /etc/openvpn/ccd
client-to-client
keepalive 10 120
cipher AES-256-CBC
comp-lzo
user nobody
group nobody
persist-key
persist-tun
explicit-exit-notify 1

В каталоге конфигурации клиента на сервере у каждого клиента есть такой файл (просто чтобы присвоить каждому статический IP-адрес):

ifconfig-push 10.7.0.10 255.255.255.0

Соответствующие части конфигурации локального клиента:

client
dev tun
proto udp
remote {server's public ip} 1194
float
keepalive 15 60
ns-cert-type server
key-direction 1
tun-mtu 1500
cipher AES-256-CBC
keysize 256
comp-lzo yes
nobind

Клиенты, использующие VPN для доступа в Интернет, добавляют redirect-gateway def1 bypass-dhcpв свою конфигурацию.

Я использую ufwдля брандмауэра своего сервера - вот соответствующая конфигурация (в /etc/ufw/before.rules):

*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.7.0.0/8 -j SNAT --to-source {server's public ip}

Поскольку это работает на OpenVZ VPS, я не могу использовать MASQUERADE, но приведенный выше вариант, похоже, работает так же хорошо.

Есть идеи, как правильно это настроить? Спасибо заранее. Если это имеет значение, сервер работает на CentOS.

Связанный контент