У меня есть два клиента openvpn в подсетях 10.0.1.0 (client1) и 192.168.0.0 (client2) с серверным подключением openvpn с IP 192.168.150.1
На сервере включена переадресация IP.
В настоящее время IP-адрес vpn client1 - 192.168.150.10, а IP-адрес P-t-P - 192.168.150.9. Я создал следующий статический маршрут на client1:
route add -net 10.0.1.0 netmask 255.255.255.0 gw 192.168.150.9
Таблица маршрутизации на client1 выглядит так:
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.150.9 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
192.168.150.1 192.168.150.9 255.255.255.255 UGH 0 0 0 tun0
10.0.1.0 192.168.150.9 255.255.255.0 UG 0 0 0 tun0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
Я подумал, что было бы правильно разрешить трафику от client1 достигать компьютеров в сети client2, но это не работает. 192.168.150.9 (адрес P-t-P) правильный для маршрутизации? Я пробовал использовать 192.168.150.1, но не смог создать маршрут.
Я также попытался добавить это в конфигурацию сервера:
push "route 192.168.0.0 255.255.255.0"
push "route 10.0.1.0 255.255.255.0"
Он создает на client1 следующий маршрут:
10.0.1.0 192.168.150.9 255.255.255.0 UG 0 0 0 tun0
Но не работает. Конечно, пример маршрута "push" верен? Что мне еще нужно сделать? На сервере ничего нет? Просто включить переадресацию IP?
Что-нибудь отображается в журналах брандмауэра? Можете ли вы с помощью tcpdump точно определить, где тормозит трафик? Какую систему вы используете (linux, freebsd, какую версию)?
Также попробуйте это в конфигурации сервера (из OpenVPN документация):
# 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.
;client-to-client
Чтобы мои клиенты разговаривали друг с другом через сервер OpenVPN, мне нужно было раскомментировать client-to-client
в моей конфигурации, как предлагает @kyrisu, но мне также пришлось добавить topology subnet
в мою конфигурацию сервера:
# Configure server mode and supply a VPN subnet
# for OpenVPN to draw client addresses from.
# The server will take 10.8.0.1 for itself,
# the rest will be made available to clients.
# Each client will be able to reach the server
# on 10.8.0.1. Comment this line out if you are
# ethernet bridging. See the man page for more info.
server 10.8.0.0 255.255.255.0
topology subnet