Есть 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
Код: Выделить всё
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
P.S. эти настройки только для тестового стенда. В результате должны получиться сервер и клиент, связанные 2 туннелями поверх 2 подсетей, один туннель должен быть приоритетным, но если линк с сетью, поверх которой он идет, отвалится, клиентская машина должна автоматически переключиться на второй запасной туннель. Эту задачу я попытался решить с помощью метрики.