Страница 1 из 1

Метрика в OpenVPN

Добавлено: 2013-11-28 12:19:13
lynx
Доброго времени суток.
Есть 2 машины: openvpn-сервер под FreeBSD9.0 (к нему подключены 2 аплинка em0 217.117.*.* и локальный em1 10.10.75.*) и клиентская машина под win xp (тоже 2 аплинка 217.117.*.* с метрикой 20 и 10.10.75.* с метрикой 10). На серверной машине поднял openvpn, конофиг openvpn.conf

Код: Выделить всё

port 2000
proto udp
dev tun0
ca /usr/local/etc/openvpn/keys/ca.crt
cert /usr/local/etc/openvpn/keys/server.crt
key /usr/local/etc/openvpn/keys/server.key
dh /usr/local/etc/openvpn/keys/dh1024.pem
server 10.10.100.0 255.255.255.0
client-config-dir ccd
client-to-client
route 10.10.100.0 255.255.255.0 10.10.100.1 3
route-metric 3
tls-server
tls-auth keys/ta.key 0
tls-timeout 120
auth MD5
cipher BF-CBC
keepalive 10 120
comp-lzo
max-clients 100
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
verb 3
Конфиг клиентской части в ccd

Код: Выделить всё

ifconfig-push 10.10.100.6 10.10.100.5
route 217.117.*.0 255.255.255.128
В конфиге на клиентской машине прописал

Код: Выделить всё

dev tun
proto udp
remote 217.117.*.* (айпи на em0)
port 2000 
client
resolv-retry infinite
ca ca.crt
cert client.crt
key client.key
tls-client
tls-auth ta.key 1
auth MD5
cipher BF-CBC
ns-cert-type server
comp-lzo
persist-key
persist-tun
verb 3
Машины коннектятся по openvpn, пинг по внутренним айпишникам туннеля идет, но винда присвоила маршруту 10.10.100.0/24 метрику 30, в то время как нужна метрика 3. В чем может быть причина?
P.S. эти настройки только для тестового стенда. В результате должны получиться сервер и клиент, связанные 2 туннелями поверх 2 подсетей, один туннель должен быть приоритетным, но если линк с сетью, поверх которой он идет, отвалится, клиентская машина должна автоматически переключиться на второй запасной туннель. Эту задачу я попытался решить с помощью метрики.

Re: Метрика в OpenVPN

Добавлено: 2013-11-28 12:49:06
Miguel
Безымянный.jpg
А вот так?

Re: Метрика в OpenVPN

Добавлено: 2013-11-28 12:56:07
lynx
Так, конечно, тоже сойдет, но хотелось бы чтобы метрику присваивал openvpn-сервер.

Re: Метрика в OpenVPN

Добавлено: 2013-11-28 15:56:20
Miguel
по идее в конфиг сервера добавить

Код: Выделить всё

push "route-metric 3"
или

Код: Выделить всё

push "route 10.10.10.0 255.255.255.0 vpn_gateway 3"
но мне не помогло. это связано с какими-то заморочками в маршрутизации под окнами.

Re: Метрика в OpenVPN

Добавлено: 2013-11-29 7:26:33
Miguel
да, там есть что-то вроде базовой метрики или базы метрики, это применяется к маршрутам не постоянным. и если на вашем интерфейсе база метрики 30, то выполняя для него

Код: Выделить всё

route 10.10.10.0 255.255.255.0 vpn_gateway 3
вы получите маршрут с метрикой 33. прибавляется там.

Re: Метрика в OpenVPN

Добавлено: 2013-11-29 12:02:46
lynx
Присвоил туннелю метрику 3 вручную, но при попытке потрейсить какой-нибудь внешний узел, трейс все равно идет по маршруту с метрикой 10 (10.10.75.*).

Re: Метрика в OpenVPN

Добавлено: 2013-12-03 15:11:07
Miguel
А метрики и не основное средство маршрутизации. Unix подобные оси, как пишут, вообще их игнорируют.
Вообще, для того, чтоб создать устойчивую систему с резервным каналом, можно применять скрипты cmd на клиентской стороне, которые запускаются при обрыве/поднятии сессии vpn. Open VPN такое умеет. Скрипты эти прописывать маршруты могут, ну на что вашей фантазии хватит, в общем. И там еще поддерживается механизм определения разрыва, какой-нибудь keep-alive. Ну то есть, чтоб клиент быстрее отлавливал разрыв.