Мне интересно, как это сделать. Я могу связаться с обоими клиентами (nielswork и nielsnet с сервера OpenVPN (Ubuntu 18.04 LTS): nielsserver), но я также хотел бы связаться с nielsnet с nielswork и наоборот через VPN. Все машины находятся в одной сети (10.8.0.0/24), и на сервере включена переадресация IP. Странно, что у всех разные шлюзы, хотя я не уверен, что проблема в этом. Я не отправляю никаких маршрутов клиентам (пока) и не использую VPN для всего своего трафика, только NFS/SSH. Вот вывод маршрута для устройств tun0.
НА NIELSWORK (КЛИЕНТ1):
10.8.0.1 10.8.0.9 255.255.255.255 UGH 50 0 0 tun0
10.8.0.9 * 255.255.255.255 UH 50 0 0 tun0
НА СЕРВЕРЕ NIELS (СЕРВЕР OPENVPN)
10.8.0.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0
10.8.0.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
В NIELSNET (КЛИЕНТ2):
10.8.0.1 10.8.0.5 255.255.255.255 UGH 50 0 0 tun0
10.8.0.5 * 255.255.255.255 UH 50 0 0 tun0
решение1
Кажется, все это можно решить, раскомментировав
;client-to-client
в/etc/openvpn/server.conf
в самом файле говорится следующее:
# Uncomment this directive to allow different
# clients to be able to "see" each other.
# By default, clients will only see the server.
# To force clients to only see the server, you
# will also need to appropriately firewall the
# server's TUN/TAP interface.
Хотя странно, что у всех клиентов и сервера в таблице маршрутизации указан разный шлюз, теперь они могут спокойно общаться друг с другом.
решение2
Если вы используете openvpn-as в качестве VPN-сервера, вам просто нужно разрешить маршрутизацию в частных подсетях.
Это можно сделать в разделе «Настройки VPN» веб-интерфейса администратора:
- на вопрос «Должны ли клиенты VPN иметь доступ к частным подсетям» установите «да с использованием маршрутизации» или «да с использованием NAT»
- затем добавьте частную подсеть в список ниже (например, 172.27.224.0/20)
- сохраните и примените на работающем сервере, это сделано.