LINUX.ORG.RU
ФорумAdmin

OpenVPN на debian (нет пинга с сервера до клиента), туннель в сеть за OpenWRT не работает

 ,


0

1

Добрый день. Имеется Openvpn сервер на VDS серваке (debian 7, виртуализация OpenVZ), два клиента, находящихся за NAT провайдеров. В качестве одного из

клиентов выступает OpenWRT роутер (192.168.0.1)(client2), а в качестве второго хост с OpenVPN GUI клиентом (192.168.1.101)(client1). Также в локальной сети роутера

openWRT есть компьютер(192.168.0.232).Возникают следующие проблемы: 1) Клиенты успешно подключаются к серверу, клиенты между собой пингуются (по IP выданным OpenVPN сервером), однако с сервера ни один клиент не пингуется (как по выданным сервером ip, так и по локальным). 2) Как получить доступ с клиента 192.168.1.101 к компьютеру 192.168.0.232? Форвардинг как на сервере, так и на роутере включен. Привожу конфиги сервера и клиента (который на OpenWRT):

server.conf:

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key 
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
client-config-dir /etc/openvpn/ccd 
route 192.168.0.0 255.255.255.0      # роут в локальную сеть роутера
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
client-to-client
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
route 192.168.0.0 255.255.255.0

/etc/openvpn/ccd/client2:

iroute 192.168.0.0 255.255.255.0

client2.conf:

client
dev tun
proto udp
remote x.x.x.x 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client2.crt
key client2.key
ns-cert-type server
comp-lzo
verb 3
remote-cert-tls server

Конфиг клиента OpenVPN GUI (client1) аналогичен конфигу клиента Openwrt (client2). Также на роутере прописаны правила в /etc/firewall.user:

iptables -A zone_lan_forward -o tun0 -j ACCEPT
iptables -t nat -A postrouting_rule -o tun0 -j MASQUERADE

iptables -I INPUT -i tun0 -j ACCEPT
iptables -I FORWARD -i tun0 -j ACCEPT
iptables -I OUTPUT -o tun0 -j ACCEPT
iptables -I FORWARD -o tun0 -j ACCEPT 

route 192.168.0.0 255.255.255.0 # роут в локальную сеть роутера - выкинь, всё делаешь на iroute через ccd. BTW, у тебя ажно два раза это указано, оба выкидывай.

Роуты в чужие сети на клиентов пушить тоже отталкиваясь от ccd. Генери их что ли, как я. И договаривайся с админами локалок об адресации.

dhameoelin ★★★★★ ()

с сервера ни один клиент не пингуется (как по выданным сервером ip, так и по локальным)

Трассировку давай. По локальным и не надо пинговать пока не пропишешь нормальную маршрутизацию. Да и потом - тоже не надо.

dhameoelin ★★★★★ ()
Ответ на: комментарий от dhameoelin

Про роуты в чужие сети не совсем понял как пушить, поясни пожалуйста.

Трассировка клиента (192.168.1.101) с компа за openwrt (с самого openwrt тоже пингуется):

C:\Users\->tracert 10.8.0.10
Трассировка маршрута к ZHENYA-PC [10.8.0.10]
с максимальным числом прыжков 30:
  1    <1 мс    <1 мс    <1 мс  OpenWrt.lan [192.168.0.1]
  2    68 ms    68 ms    68 ms  ZHENYA-PC [10.8.0.10]
Трассировка завершена.

Трассировка роутера openwrt с клиента (192.168.1.101):

C:\Users\Администратор>tracert 10.8.0.14
Трассировка маршрута к 10.8.0.14 с максимальным числом прыжков 30
  1    68 ms    67 ms    67 ms  10.8.0.14
Трассировка завершена.

Трассировка сервера с клиента (192.168.1.101):

C:\Users\Администратор>tracert 10.8.0.1
Трассировка маршрута к CONV1CT [10.8.0.1]
с максимальным числом прыжков 30:
  1    28 ms    33 ms    27 ms  CONV1CT [10.8.0.1]
Трассировка завершена.

Трассировка роутера с сервера:

traceroute 10.8.0.14
traceroute to 10.8.0.14 (10.8.0.14), 30 hops max, 60 byte packets
 1  * * *
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
и т.д.
С трассировкой от сервера до клиента (192.168.1.101) все тоже самое.

Conv1ct ()
Ответ на: комментарий от Conv1ct

Про роуты в чужие сети не совсем понял как пушить, поясни пожалуйста.

Чего непонятного-то?

Трассировка роутера с сервера

Ты ещё на вендовый клиент сделай трассировку для полной картины. Ну, а посмотри, что у тебя за ними закрепелено в ipp.txt, а что в файле статуса значится...

dhameoelin ★★★★★ ()
Последнее исправление: dhameoelin (всего исправлений: 1)
Ответ на: комментарий от dhameoelin

с сервера нет пинга до клиентов ни по ip, выданным в ipp.txt ни по указанным в openvpn-status.log. хотя клиенты друг друга пингуют нормально.

Conv1ct ()

Покажи файрволл м роуты на сервере. (192.168.1.101)(client1) думает что сеть 192.168.0.0/24 находится на сервером OpenVPN. Руками добавь роут на (192.168.1.101)(client1) route add 192.168.0.0/24 gw 10.8.0.N (vpn ip client2)

edyard ()
Ответ на: комментарий от edyard

Проблема пинга с сервера до клиентов решилась закомментированием на сервере в /etc/rc.local строки:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to <ip venet интерфейса>

Conv1ct ()
Ответ на: комментарий от Conv1ct

Покажи файрволл м роуты на сервере. (192.168.1.101)(client1) думает что сеть 192.168.0.0/24 находится на сервером OpenVPN. Руками добавь роут на (192.168.1.101)(client1) route add 192.168.0.0/24 gw 10.8.0.N (vpn ip client2)

Спасибо, помогло, только в качестве gw сработал ip p-t-p-туннеля клиента 1. (ведь на сервере указан маршрут к сети клиента 2, так что все работает).

Conv1ct ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.