PDA

Показать полную графическую версию : [решено] Проблема с маршрутом в OpenVPN


VladDV
15-04-2011, 10:53
Добрый день.

Пытаюсь объединять два шлюза OpenVPNом через устройство TUN сети 10.10.0.0/16 и 192.168.20.0/24. Виртуальная сеть - 192.168.201.0/24. Проблема в том, что на шлюзе 10.10.0.0/16 не добавляется маршрут к 192.168.20.0/24.

Привожу конфиги с сервера:

/etc/openvpn/server.conf:

tls-server
daemon
server 192.168.201.0 255.255.255.0
port 1194
proto udp
dev tun
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/vpn.crt
key /etc/openvpn/keys/vpn.key
dh /etc/openvpn/keys/dh1024.pem

client-to-client
client-config-dir /etc/openvpn/ccd
push "route 10.10.0.0 255.255.0.0"
route 10.10.0.0 255.255.0.0 192.168.200.1
route 192.168.20.0 255.255.255.0 192.168.201.20

keepalive 10 120
comp-lzo
persist-key
persist-tun
verb 9
log-append /var/log/openvpn.log
status /var/log/openvpn-status.log


/etc/openvpn/ccd/client:

ifconfig-push 192.168.201.20 192.168.201.1
iroute 192.168.20.0 255.255.255.0


Соединение устанавливается, но маршрут добавляется только для 10.10.0.0:

route -n:

192.168.201.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
192.168.201.0 192.168.201.2 255.255.255.0 UG 0 0 0 tun0
192.168.200.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.10.0.0 192.168.200.1 255.255.0.0 UG 0 0 0 eth0
0.0.0.0 192.168.200.1 0.0.0.0 UG 0 0 0 eth0

В логе пишет ошибку "ERROR: Linux route add command failed: external program exited with error status: 7"

Возможно из-за того, что не может найти сеть 192.168.201.0/24, т.к.

ifconfig tun0

tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:192.168.201.1 P-t-P:192.168.201.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Дает такое результат (P-t-P:192.168.201.2 Mask:255.255.255.255). Но почему так происходит и как это исправить не могу разобраться... Need help

Alan85
16-04-2011, 21:13
а если попробовать сделать задержку перед добавлением маршрутов
route-delay <sec>

VladDV
17-04-2011, 07:09
Options error: --route-delay cannot be used with --mode server

Alan85
17-04-2011, 10:00
http://linuxforum.ru/viewtopic.php?pid=162116#p162116 навеяло: ipconfig/ifconfig на клиенте верный?

VladDV
18-04-2011, 03:16
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:192.168.201.20 P-t-P:192.168.201.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:269 errors:0 dropped:0 overruns:0 frame:0
TX packets:116283 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:30754 (30.0 KiB) TX bytes:7036435 (6.7 MiB)

Не совсем понял про 30ю маску. Выше ifconfig, который у меня. Судя по приведенной ссылке, явно неверный. Причем маска 255.255.255.255, т.е. даже не подсеть. IP и шлюз такие, какими я изначально предполагал выдать клиенту. В общем чего-то я явно не понимаю :(

P.S.: выставил в клиентских настройках адрес клиента - 192.168.201.22 (согласно 30й маске), после чего все поднялось и маршрут до 20й сети появился. Но тогда получается, что я могу подключить всего 64 клиента. А если понадобится больше?




© OSzone.net 2001-2012