LinuxForum.Fans
Тема

OpenVPN нет пинга до клиента

Автор: NODE49 9 сообщений 3668 просмотров
#323290

Всем привет!
Знаю, проблема избитая, почитал, что пишут по теме в инете, решения не нашел.

Сеть за сервером___сервер______шлюз
192.168.1.0/24 192.168.1.2 192.168.1.1

сеть за клиентом___клиент______шлюз
192.168.0.0/24 192.168.0.2 192.168.0.1

Нужно в идеале чтобы сеть клиента видела сеть за сервером и наоборот.
На данном этапе сеть за клиентом и клиент видят сервер и сеть за сервером, а в обратную сторону - связи нет.
Даже если отбросить пока сети, то сервер не пингует клиента, хотя сервер доступен клиенту через туннель по ssh!
Тестировалось на клиенте win7 (из дома) и debian (с реального филиала) - одинаково не пингуется клиентская сторона.

конфиги:
сервер

Показать
port 11982 #Порт
proto udp #Протокол
dev tun #Название виртуального устройства

ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server-key.crt
key /etc/openvpn/easy-rsa/keys/server-key.key # This file should be kept secret
dh /etc/openvpn/easy-rsa/keys/dh2048.pem

tls-server
tls-auth /etc/openvpn/easy-rsa/keys/ta.key 0


server 10.10.10.0 255.255.255.0 # vpn subnet
ifconfig-pool-persist ipp.txt # Тут будут храниться ip адреса клиентов
#push "route 192.168.1.0 255.255.255.0" # home
keepalive 3 30
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
verb 5
mute 20

route 192.168.0.0 255.255.255.0 # Маршрут от сервера до ХХХ
route 192.168.20.0 255.255.255.0 # Маршрут от сервера до admin

client-to-client
client-config-dir /etc/openvpn/clients # Тут будут настройки для каждого филиала

ссд сервера

Показать

push "route 192.168.1.0 255.255.225.0" #маршрут на сети за сервером
iroute 192.168.20.0 255.255.255.0 #маршрут на сети за клиентом

клиент (win7)

Показать

remote ХХ.ХХ.ХХ.ХХ 11982
client
dev tun
proto udp
resolv-retry infinite # this is necessary for DynDNS
nobind
persist-key
persist-tun
comp-lzo
tls-auth c:/progra~1/openvpn/config/ecomax/ta.key 1
ca c:/progra~1/openvpn/config/ecomax/ca.crt
cert c:/progra~1/openvpn/config/ecomax/max.crt
key c:/progra~1/openvpn/config/ecomax/max.key
verb 5
mute 20

iptables -L -n

Показать

Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

на клиенте фаэрволл также выключен

форвардинг на сервере включен скриптом:

Показать
#!/bin/sh

iptables -F
iptables -t nat -F
iptables -t mangle -F

iptables -X
iptables -t nat -X
iptables -t mangle -X

#Включение форвардинга
echo "1" > /proc/sys/net/ipv4/ip_forward

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

#Поднимает NAT на интерфейсах
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.2

интерфейсы на сервере:

Показать
# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:14:85:d6:a0:2a
inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6611 errors:0 dropped:0 overruns:0 frame:0
TX packets:6311 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1017494 (993.6 KiB) TX bytes:1758515 (1.6 MiB)
Interrupt:18 Base address:0xc000

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:70 errors:0 dropped:0 overruns:0 frame:0
TX packets:70 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:6720 (6.5 KiB) TX bytes:6720 (6.5 KiB)

tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.10.10.1 P-t-P:10.10.10.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:246 errors:0 dropped:0 overruns:0 frame:0
TX packets:283 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:46646 (45.5 KiB) TX bytes:38750 (37.8 KiB)

роутинг на сервере при установленном туннеле

Показать
# route -nNvee
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface MSS Window irtt
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0 0 0 0
10.10.10.0 10.10.10.2 255.255.255.0 UG 0 0 0 tun0 0 0 0
10.10.10.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0 0 0 0
192.168.0.0 10.10.10.2 255.255.255.0 UG 0 0 0 tun0 0 0 0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 0 0 0
192.168.20.0 10.10.10.2 255.255.255.0 UG 0 0 0 tun0 0 0 0

роутинг на клиенте после поднятия туннеля

Показать
IPv4 таблица маршрута
===========================================================================
Активные маршруты:
Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика
0.0.0.0 0.0.0.0 10.10.10.5 10.10.10.6 30 <--- вот это не понятно откуда появляется, ведь нет указания на перенаправление трафика клиента!!!
0.0.0.0 0.0.0.0 192.168.20.1 192.168.20.100 281
10.10.10.0 255.255.255.0 10.10.10.5 10.10.10.6 30
10.10.10.0 255.255.255.0 10.10.10.14 10.10.10.6 30
10.10.10.0 255.255.255.0 10.10.10.10 10.10.10.6 30
10.10.10.4 255.255.255.252 On-link 10.10.10.6 286
10.10.10.6 255.255.255.255 On-link 10.10.10.6 286
10.10.10.7 255.255.255.255 On-link 10.10.10.6 286
92.255.235.84 255.255.255.255 192.168.20.1 192.168.20.100 25
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
192.168.1.0 255.255.255.0 10.10.10.5 10.10.10.6 30
192.168.20.0 255.255.255.0 On-link 192.168.20.100 281
192.168.20.100 255.255.255.255 On-link 192.168.20.100 281
192.168.20.255 255.255.255.255 On-link 192.168.20.100 281
192.168.56.0 255.255.255.0 On-link 192.168.56.1 276
192.168.56.1 255.255.255.255 On-link 192.168.56.1 276
192.168.56.255 255.255.255.255 On-link 192.168.56.1 276
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 192.168.56.1 276
224.0.0.0 240.0.0.0 On-link 10.10.10.6 286
224.0.0.0 240.0.0.0 On-link 192.168.20.100 281
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
255.255.255.255 255.255.255.255 On-link 192.168.56.1 276
255.255.255.255 255.255.255.255 On-link 10.10.10.6 286
255.255.255.255 255.255.255.255 On-link 192.168.20.100 281
===========================================================================
Постоянные маршруты:
Сетевой адрес Маска Адрес шлюза Метрика
0.0.0.0 0.0.0.0 192.168.20.1 По умолчанию
===========================================================================

чувствую, что-то просто упустил из виду, второй день бьюсь, не пойму что...

#323297
"NODE49⇓" написал:
роутинг на клиенте после поднятия туннеля

Это роутинг на венде. Никогда его не понимал.
Я конечно не знаток, но посоветую вам сделать клиента на линуксе подключиться и тогда смотреть. В линуксе таблица маршрутизации на порядок понятнее. В данной ситуации, я так предполагаю, что виной маршрутизация.

#323298

Выдавайте адрес через ccd клиенту. И сможете его пинговать.

#323318
elve написал:
Выдавайте адрес через ccd клиенту. И сможете его пинговать.

Пробовал через ccd. Туннель установился, но через него ничего не проходит ни в одну сторону. Клиентом в этом случае была винда. Сегодня попробую с клиентом на линуксе, посмотрим.

Можно поинтересоваться, в чем отличие выдачи адресов явно через ссд и неявно в плане маршрутизации? Почему пинги должны к клиенту пойти в случае выдачи через ссд?

#323328
kisil написал:

Я конечно не знаток, но посоветую вам сделать клиента на линуксе подключиться и тогда смотреть. В линуксе таблица маршрутизации на порядок понятнее. В данной ситуации, я так предполагаю, что виной маршрутизация.

Сделал выдачу адресов через ссд, цепляюсь с клиента на дебиан7:

конфиг клиента

Показать

persist-key
persist-tun
remote ХХ.ХХ.ХХ.ХХ 11982
client
dev tun
proto udp
nobind
user nobody
group nogroup
persist-key
persist-tun
comp-lzo
tls-auth /etc/openvpn/ecomax/ta.key 1
ca /etc/openvpn/ecomax/ca.crt
cert /etc/openvpn/ecomax/eco-max.crt
key /etc/openvpn/ecomax/eco-max.key
verb 5
mute 20
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
verb5

роутинг клиента после поднятия туннеля:

Показать
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface MSS Window irtt
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0 0 0 0
10.10.10.0 10.10.10.10 255.255.255.0 UG 0 0 0 tun0 0 0 0
10.10.10.10 0.0.0.0 255.255.255.255 UH 0 0 0 tun0 0 0 0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 0 0 0
192.168.1.0 10.10.10.10 255.255.255.0 UG 0 0 0 tun0 0 0 0

роутинг на сервере

Показать
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface MSS Window irtt
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0 0 0 0
10.10.10.0 10.10.10.2 255.255.255.0 UG 0 0 0 tun0 0 0 0
10.10.10.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0 0 0 0
192.168.0.0 10.10.10.2 255.255.255.0 UG 0 0 0 tun0 0 0 0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 0 0 0
192.168.20.0 10.10.10.2 255.255.255.0 UG 0 0 0 tun0 0 0 0

с клиента сервер пингуется, с сервера клиент - нет.

#323333

Вяснилось следующее: при установленнии туннеля клиенту выдается виртуальный адрес 10.10.10.9, серверу - 10.10.10.10. Пинг с сервера до клиента на этот адрес идёт, на клиенте пакеты видны в tcpdump. Осталось научить сервер видеть за виртуальными адресами реальные. Кто знает как?

#323346
NODE49 написал:
Вяснилось следующее: при установленнии туннеля клиенту выдается виртуальный адрес 10.10.10.9, серверу - 10.10.10.10. Пинг с сервера до клиента на этот адрес идёт, на клиенте пакеты видны в tcpdump. Осталось научить сервер видеть за виртуальными адресами реальные. Кто знает как?

Курим маршруты.

#323348
text
push "route 10.10.10.0 255.255.255.0"
#323370
Kettler написал:
text
push "route 10.10.10.0 255.255.255.0"

Не помогает. Добавлял и в ccd и в server.conf - изменений нет.

Войдите или зарегистрируйтесь, чтобы ответить.