С прошедшими и наступающими праздниками! Поднял старую проблему, которую поднимал на нескольких форумах, которую не решил и отложил на свободное время. И оно настало.
Есть несколько сетей, объедененных OpenVPN. В каждой сети местный сервер с OV для компьютеров является шлюзом по умолчанию .Пришло время менять основной сервер. На него накатил Alt 6 Centarius (так сложилось исторически что множество лет пользуюсь везде альтом). На новом сервере все сервисы поднялись и заработали без проблем проблема только с сервером OV. Он упорно не видит сети за клиентскими шлюзами. При этом заметил, что не отрабатывает команда route из конфига сервера. Ниже конфиги и логи (коих много, извините) и комментарии.
server.conf
port 1194
proto udp
dev-type tap
dev tap01
#dev-type tun
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh1024.pem
server 10.10.200.0 255.255.255.0
ifconfig-pool-persist /etc/openvpn/ipp.txt
client-config-dir ccd
#client-to-client
route 10.10.200.0 255.255.255.0
route 192.168.1.0 255.255.255.0
route 192.168.2.0 255.255.255.0
route 192.168.11.0 255.255.255.0
route 192.168.10.0 255.255.255.0
route 192.168.12.0 255.255.255.0
route 192.168.14.0 255.255.255.0
route 192.168.15.0 255.255.255.0
route 192.168.16.0 255.255.255.0
route 192.168.17.0 255.255.255.0
push "route 172.21.0.0 255.255.0.0"
push "route 10.10.200.0 255.255.255.0"
#tun-mtu 1500
#tun-mtu-extra 32
keepalive 10 120
#tls-auth /etc/openvpn/keys/ta.key 0
comp-lzo
user openvpn
group openvpn
persist-key
persist-tun
status /etc/openvpn/openvpn-status.log
log /etc/openvpn/openvpn.log
verb 3
client.conf (один из клиентов)
client
dev openvpn
dev-type tap
proto udp
remote 111.111.111.111 1194
resolv-retry infinite
nobind
user openvpn
group openvpn
persist-key
persist-tun
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/client1.crt
key /etc/openvpn/keys/client1.key
#tls-auth /etc/openvpn/keys/ta.key 1
ns-cert-type server
#tun-mtu 1500
#tun-mtu-extra 32
pull
comp-lzo
verb 3
log /etc/openvpn/openvpn.log
status /etc/openvpn/status-log.log
настройки из каталога ./ccd
iroute 192.168.1.0 255.255.255.0
лог при запуске сервера. В нём меня смущают строки с 7 по 10
1. Fri Jan 6 12:34:06 2012 OpenVPN 2.1.4 x86_64-alt-linux-gnu [SSL] [LZO2] [EPOLL] built on Nov 30 2010
2. Fri Jan 6 12:34:06 2012 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
3. Fri Jan 6 12:34:06 2012 Diffie-Hellman initialized with 1024 bit key
4. Fri Jan 6 12:34:06 2012 TLS-Auth MTU parms [ L:1574 D:138 EF:38 EB:0 ET:0 EL:0 ]
5. Fri Jan 6 12:34:06 2012 Socket Buffers: R=[124928->131072] S=[124928->131072]
6. Fri Jan 6 12:34:06 2012 ROUTE default_gateway=195.222.153.193
7. Fri Jan 6 12:34:06 2012 OpenVPN ROUTE: OpenVPN needs a gateway parameter for a --route option and no default was specified by either --route-gateway or --ifconfig options
8. Fri Jan 6 12:34:06 2012 OpenVPN ROUTE: failed to parse/resolve route for host/network: 10.10.200.0
9. Fri Jan 6 12:34:06 2012 OpenVPN ROUTE: OpenVPN needs a gateway parameter for a --route option and no default was specified by either --route-gateway or --ifconfig options
10. Fri Jan 6 12:34:06 2012 OpenVPN ROUTE: failed to parse/resolve route for host/network: 192.168.1.0
11. Fri Jan 6 12:34:06 2012 TUN/TAP device tap01 opened
12. Fri Jan 6 12:34:06 2012 TUN/TAP TX queue length set to 100
13. Fri Jan 6 12:34:06 2012 /sbin/ip link set dev tap01 up mtu 1500
14. Fri Jan 6 12:34:06 2012 /sbin/ip addr add dev tap01 10.10.200.1/24 broadcast 10.10.200.255
15. Fri Jan 6 12:34:06 2012 Data Channel MTU parms [ L:1574 D:1450 EF:42 EB:135 ET:32 EL:0 AF:3/1 ]
16. Fri Jan 6 12:34:06 2012 chroot to '/var/lib/openvpn' and cd to '/' succeeded
17. Fri Jan 6 12:34:06 2012 GID set to openvpn
18. Fri Jan 6 12:34:06 2012 UID set to openvpn
19. Fri Jan 6 12:34:06 2012 UDPv4 link local (bound): [undef]:1194
20. Fri Jan 6 12:34:06 2012 UDPv4 link remote: [undef]
21. Fri Jan 6 12:34:06 2012 MULTI: multi_init called, r=256 v=256
22. Fri Jan 6 12:34:06 2012 IFCONFIG POOL: base=10.10.200.2 size=253
23. Fri Jan 6 12:34:06 2012 IFCONFIG POOL LIST
24. Fri Jan 6 12:34:06 2012 solikamsk,10.10.200.4
25. Fri Jan 6 12:34:06 2012 client1,10.10.200.8
26. Fri Jan 6 12:34:06 2012 chernushka,10.10.200.12
27. Fri Jan 6 12:34:06 2012 vereshagino,10.10.200.16
28. Fri Jan 6 12:34:06 2012 Initialization Sequence Completed
конец лога при подключении одного из клиентов. Тут смущает 5 и 6 строки.
1. Fri Jan 6 12:50:15 2012 ip addr add dev openvpn 10.10.200.8/24 broadcast 10.10.200.255
2. Fri Jan 6 12:50:15 2012 ip route add 172.21.0.0/16 via 10.10.200.1
3. Fri Jan 6 12:50:15 2012 ip route add 10.10.200.0/24 via 10.10.200.1
4. RTNETLINK answers: File exists
5. Fri Jan 6 12:50:15 2012 ERROR: Linux route add command failed: shell command exited with error status: 2
6. Fri Jan 6 12:50:15 2012 chroot to '/var/lib/openvpn' and cd to '/' succeeded
7. Fri Jan 6 12:50:15 2012 GID set to openvpn
8. Fri Jan 6 12:50:15 2012 UID set to openvpn
9. Fri Jan 6 12:50:15 2012 Initialization Sequence Completed
route после запуска сервера. Как видно, новых маршрутов нет. Если маршрут добавить route add -net 192.168.1.0 dev tap01 , то сервер клиентской сети видно, но за ней никого. При этом заметил, если сменить интерфейс на tun, то даже с прописью маршрутов руками, клиентских серверов не видно. Под видно я имею ввиду ping. А вот сети-клиенты замечательно видят все за сетью сервера при любом раскладе.
[root@host01 openvpn]# ip r
1111.111.111.112/28 dev eth1 proto kernel scope link src 111.111.111.111 metric 1
10.10.200.0/24 dev tap01 proto kernel scope link src 10.10.200.1
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
172.21.0.0/16 dev eth0 proto kernel scope link src 172.21.0.1
default via 111.111.111.112 dev eth1 proto static
route на одном из клиентов
222.222.222.223/30 dev eth1 proto kernel scope link src 222.222.222.222
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.1
10.10.200.0/24 dev openvpn proto kernel scope link src 10.10.200.8
172.21.0.0/16 via 10.10.200.1 dev openvpn
default via 222.222.222.223 dev eth1
результаты tcpdump и traceroute, если нужно, напишу.