Автор Тема: OpenVPN - настройка сервера и клиента  (Прочитано 93385 раз)

Оффлайн sla1733

  • Начинающий
  • *
  • Сообщений: 18
Re: OpenVPN - настройка сервера и клиента
« Ответ #105 : 25.08.2017 10:34:55 »
Почему тогда клиент на Альте и подключается и пингуется, та же сеть те же шлюзы и прокси, если бы блокировались пинги то наверное бы везде

Оффлайн rits

  • Завсегдатай
  • *
  • Сообщений: 1 031
  • ITS
Re: OpenVPN - настройка сервера и клиента
« Ответ #106 : 25.08.2017 11:11:04 »
Почему тогда клиент на Альте и подключается и пингуется, та же сеть те же шлюзы и прокси, если бы блокировались пинги то наверное бы везде
Чтобы о чем то говорить,
1) покажи вывод с клиента openvpn tracert 'ip-точки назанчения'
2) Полный конфиг-файл сервера и клиента (без реальных внешних адресов)
3) Версия OpenVPN клиента и версия Windows
Вот мой конфиг-файл клиента на Windows10Prox64
remote xx.xx.xx.xx 1194
client
dev tun
proto tcp
resolv-retry infinite # this is necessary for DynDNS
nobind
user nobody
group nogroup
persist-key
persist-tun
ca C:\\keys\\ca.crt
cert C:\\keys\\ae2-client1.crt
key C:\\keys\\ae2-client1.key
#ca ca.crt
#cert nout.crt
#key nout.key
comp-lzo
verb 4
mute 20
#redirect-gateway
#show-net-up
#verb 4

Версия OpenVPN GUI: v.11.5.0.0
На XP не будет работать, то что работает на W7 и наоборот.
« Последнее редактирование: 25.08.2017 11:18:49 от rabochyITs »

Оффлайн sla1733

  • Начинающий
  • *
  • Сообщений: 18
Re: OpenVPN - настройка сервера и клиента
« Ответ #107 : 30.08.2017 16:10:54 »
tracert до шлюза строит маршрут правильно
Вот конфиг клиента
remote xxx.xxx.x.xxx 1194
client
dev tun
proto udp
resolv-retry infinite # this is necessary for DynDNS
nobind
user nobody
group nogroup
persist-key
persist-tun
ca C:\\key\\ca-root.crt
cert C:\\key\\vova.crt
key C:\\key\\vova.key
#ca ca.crt
#cert nout.crt
#key nout.key
comp-lzo
verb 4
mute 20
#redirect-gateway
#show-net-up
verb 4
Версия клиента 11.8.0.0, версия windows 8
Где располагается конфиг сервера если настраивалось через ЦУС, в папке /etc/openvpn его нет

Оффлайн sla1733

  • Начинающий
  • *
  • Сообщений: 18
Re: OpenVPN - настройка сервера и клиента
« Ответ #108 : 30.08.2017 16:12:19 »
Хоть пингов так и нет но с клиента можно открыть в браузере ЦУС сервера как по виртуальному так и по реальному ip адресу, так же сервер доступен как ftp

Оффлайн rits

  • Завсегдатай
  • *
  • Сообщений: 1 031
  • ITS
Re: OpenVPN - настройка сервера и клиента
« Ответ #109 : 30.08.2017 20:45:51 »
Где располагается конфиг сервера если настраивалось через ЦУС, в папке /etc/openvpn его нет
# ls -l /etc/net/ifaces

drwxr-xr-x 3 root root 4096 июл  8  2016 default
drwxr-xr-x 2 root root 4096 окт  6  2015 enp6s0
drwxr-xr-x 2 root root 4096 июл  8  2016 lo
drwxr-xr-x 2 evg  evg  4096 авг 19  2016 tun0
drwxr-xr-x 2 root root 4096 авг 21  2015 tun1

drwxr-xr-x 2 root root 4096 июл  8  2016 unknown
drwxr-xr-x 2 root root 4096 июл  8  2016 venet0
drwxr-xr-x 2 root root 4096 авг 14  2015 wwp0s18f0u4i1


Запустить OpenVPN сервер ifup tun0 и выключить ifdown tun0
Автозапуск смотри внутри каталогов tun...

# cat /etc/net/ifaces/tun0/options
ONBOOT=no - отключено и yes - включено
TYPE=ovpn
BOOTPROTO=static

Конфиг на клиентском AltLinux
# cat /etc/net/ifaces/tun0/ovpnoptions
client
dev-type tun
proto tcp-client
remote ... ... ... ... 1194
resolv-retry infinite
connect-retry 60
connect-retry-max 720
nobind
user openvpn
group openvpn
persist-key
persist-tun
ca   /etc/net/ifaces/tun0/ca.crt
cert /var/lib/ssl/certs/evg16.crt
key  /var/lib/ssl/private/evg16.key
script-security 2
status /var/log/openvpn-stat.log
log /var/log/openvpn.log
verb 3
comp-lzo

Перенести OpenVPN можно простым переносом tun... каталога, при этом сохранить ключи по путям указанным в конфиге.

Не пойму, что за пинги, без настройки в каталоге ccd файлов iroute за клиентом локальной сети не будет видно, а от клиента за сервером все должно пинговаться.
« Последнее редактирование: 30.08.2017 20:53:25 от rabochyITs »

Оффлайн sla1733

  • Начинающий
  • *
  • Сообщений: 18
Re: OpenVPN - настройка сервера и клиента
« Ответ #110 : 31.08.2017 09:32:31 »
Разобрался в чём было дело, поставил галочку "Сжатие LZO" на сервере и всё заработало нормально

Оффлайн sla1733

  • Начинающий
  • *
  • Сообщений: 18
Re: OpenVPN - настройка сервера и клиента
« Ответ #111 : 31.08.2017 10:02:40 »
Что нужно прописать чтобы подключившиеся клиенты могли видеть внутреннюю локальную сеть сервера. Исходя из конфига с сервера клиентские настройки должны лежать в директории etc/openvpn/ccd, правильно я понимаю?

Оффлайн rits

  • Завсегдатай
  • *
  • Сообщений: 1 031
  • ITS
Re: OpenVPN - настройка сервера и клиента
« Ответ #112 : 31.08.2017 21:08:00 »
etc/openvpn/ccd, правильно я понимаю?
в chroot т.е.   /var/lib/openvpn/etc/openvpn/ccd

Пример на рабочем сервере Альт линукс.
Путь, где находятся OpenVPN интерфейсы -это: /etc/net/ifaces

перейдем в него
[root@proxyae ifaces]# cd /etc/net/ifaces

посмотрим содержимое
[root@proxyae ifaces]# ls
default  enp0s10  enp0s11  enp0s13  lo  tun0  tun1  tun2  unknown

Созданные ранее каталоги с файлами настроек:
tun0 - сервер openvpn, tun2 - клиент к офисному серверу
tun0 и tun2 это каталоги с файлами настроек


заглянем в каталог настроек сервера tun0
[root@proxyae ifaces]# ls tun0
options  ovpnoptions


[root@proxyae ifaces]# cat tun0/options
ONBOOT=yes
TYPE=ovpn
BOOTPROTO=static


[root@proxyae ifaces]#  cat tun0/ovpnoptions

# Generated by alterator-openvpn-server, do not edit manually
# ( настройка с веб интерфейса данного тунеля перезатрет конфиг):
# лучше править в консоли.

port 1194
proto tcp-server
dev-type tun
# Расположение ключей и название любые
# Публичный сертификат для сервера и клиента, которым подписываются ключи

ca   /var/lib/ssl/certs/openvpn-server-CA.crt
# Сертификат сервера
cert /var/lib/ssl/certs/openvpn-server.cert
# Секретный ключ сервера
key  /var/lib/ssl/private/openvpn-server.key
#  ключ Диффи-Хелмана
dh   /var/lib/ssl/private/openvpn-server.dh
# Диапазон виртуальной подсети адресов, присваиваемых клиентам
server 192.168.100.0 255.255.255.0
user openvpn
group openvpn
ifconfig-pool-persist ipp.txt
keepalive 10 120
# ccd каталог находится в chroot директории
# /var/lib/openvpn/etc/openvpn/ccd

client-config-dir /etc/openvpn/ccd
persist-key
persist-tun
client-to-client
script-security 2
# логи статуса соединений
status /var/log/openvpn-status.log
# основной лог
log /var/log/ovpnae-server.log
verb 3
comp-lzo
# маршрутизация на VPN хосте
# локльная сеть в которой находится OpenVPN сервер

push "route 192.168.8.0 255.255.255.0"

# Сети за клиентами которые хотим видеть с сети 192.168.8.0/24
# В данном примере клиенты являются интернет шлюзами в подсети 192.168.6.0/24 и 192.168.5.0/24

route 192.168.6.0 255.255.255.0
push "route 192.168.6.0 255.255.255.0"

route 192.168.5.0 255.255.255.0
push "route 192.168.5.0 255.255.255.0"

# передаем dhcp опции DNS клиентам
push "dhcp-option DNS 192.168.8.1"
# Можем сделать OpenVPN основным шлюзом у клиентов
# push "redirect-gateway"



имена файлов данного каталога (/var/lib/openvpn/etc/openvpn/ccd) должны соответствовать именам сертификата клиентов , а именно
Sudject: CN=a5, Sudject: CN=a6 - строчки внутри файла сертификата клиентов подключающихся к OpenVPN серверу


[root@proxyae ifaces]# ls /var/lib/openvpn/etc/openvpn/ccd
a5  a6

содержимое файлов a5 и a6 - данные файлы дают возможность видеть сеть за клиентом
[root@proxyae ifaces]# cat /var/lib/openvpn/etc/openvpn/ccd/*
iroute 192.168.5.0 255.255.255.0
iroute 192.168.6.0 255.255.255.0


Заглянем в каталог настроек клиента tun2 подключающегося
 к офисному OpenVPN (и возможно работающем на Windows) и работающем на одном шлюзе с tun0 сервером


[root@proxyae ifaces]# ls tun2
ca.crt  options  ovpnoptions

[root@proxyae ifaces]# cat tun2/options
ONBOOT=yes
TYPE=ovpn
BOOTPROTO=static


[root@proxyae ifaces]# cat tun2/ovpnoptions
client

dev-type tun
proto tcp-client
#подключиться к любому резервному OpenVPN серверу
remote ххх.xxx.xxx.xxx 1194
remote ххх.xxx.xxx.yyy 1194
remote ххх.xxx.xxx.zzz 1194
resolv-retry infinite
connect-retry 60
connect-retry-max 720
nobind
user openvpn
group openvpn
persist-key
persist-tun
# Месторасположение и название ключей может быть любым
# Публичный сертификат для сервера и клиента, которым подписываются ключи  (на сервере и клиенте)

ca   /etc/net/ifaces/tun2/ca.crt
# сертификат клиентского ключа (у клиента)
cert /var/lib/ssl/certs/serverae.crt
# клиентский ключ (у клиента)
key  /var/lib/ssl/private/serverae.key
script-security 2
status /var/log/ovpngp-status.log
log /var/log/ovpngp.log
verb 3
# Параметры сжатия для клиента и сервера одинаковые
comp-lzo

Настройки клиента для подключения к серверу tun0 (192.168.8.0/24)
описанному выше


[root@proxya5 ~]# cat /etc/net/ifaces/tun0/ovpnoptions
client
dev-type tun
proto tcp-client
remote xxx.xxx.xxx.xxx 1194
resolv-retry infinite
connect-retry 60
connect-retry-max 720
nobind
user openvpn
group openvpn
persist-key
persist-tun
# Меторасположение и название ключей может быть любым.
# открытый сертификат УД сервера которым подписываются все ключи (на сервере и клиенте)

ca   /etc/net/ifaces/tun0/openvpn-server-CA.crt
# сертификат клиентского ключа (у клиента)
cert /var/lib/ssl/certs/a5.cert
# клиентский ключ (у клиента)
key  /var/lib/ssl/private/a5.key
script-security 2
status /var/log/openvpn-stat
log /var/log/openvpn.log
verb 3
# Параметры сжатия для клиента и сервера одинаковы
comp-lzo

В данном примере клиент tun2 и сервер tun0 не взаимодействуют между собой. Cервер tun0 клиентские локальные сети 5/24, 6/24, 8/24 объединяет, а клиент tun2 подцепляет другие локальные сети подцепившись к другому серверу и все это хозяйство из десяти подсетей по всей области видятся, как одна большая локальная сеть!
Клиент tun0 в последнем примере, работает в паре с сервером tun0 (названия тунелей могут быть разные, просто созданы там и там первыми)
« Последнее редактирование: 31.08.2017 21:19:49 от rabochyITs »

Оффлайн rits

  • Завсегдатай
  • *
  • Сообщений: 1 031
  • ITS
Re: OpenVPN - настройка сервера и клиента
« Ответ #113 : 31.08.2017 21:09:48 »
Что нужно прописать чтобы подключившиеся клиенты могли видеть внутреннюю локальную сеть сервера.
Сервер должен быть шлюзом для клиентов за сервером иначе они не смогут понять куда им отвечать на запросы.

Оффлайн sla1733

  • Начинающий
  • *
  • Сообщений: 18
Re: OpenVPN - настройка сервера и клиента
« Ответ #114 : 01.09.2017 13:18:42 »
Дело в том что сервер OpenVPN-сервер - это отдельная виртуальная машина в Proxomox, на нем два сетевых интерфейса с подсетями 192.x.x.x и 197.x.x.x всё что на нём сделано это поднят сервер openvpn через web интерфейс. Подключаемые клиенты пингуют только виртуальный и реальный ip сервера и всю подсеть за севером не видят, нужно чтобы подключаемые клиенты могли запускать сервис с другого сервера 197.х.х.х:8080, как в таком случае сделать маршрутизацию. Плюс, как уже написал rabochyITs все изменения непосредственно в самом конфиге перетираются как только включаешь сервер через web браузер. Как быть?

Оффлайн rits

  • Завсегдатай
  • *
  • Сообщений: 1 031
  • ITS
Re: OpenVPN - настройка сервера и клиента
« Ответ #115 : 01.09.2017 14:32:18 »
Покажи народу конфиг-сервера.
Проверь:
cat /etc/net/sysctl.conf | grep "net.ipv4.ip_forward"
net.ipv4.ip_forward = 1 - должно быть так
Если для рабочих станций 197.х.х.х:8080 OpenVPN сервер не будет шлюзом, клиенты пингов не дождутся.
Цитировать
и всю подсеть за севером не видят
# указываем клиенту маршрут во внутреннюю сеть по виртуальному интерфейсу
push "route 192.x.x.0 255.255.255.0"
push "route 197.x.x.0 255.255.255.0"
« Последнее редактирование: 01.09.2017 14:49:41 от rabochyITs »

Оффлайн sla1733

  • Начинающий
  • *
  • Сообщений: 18
Re: OpenVPN - настройка сервера и клиента
« Ответ #116 : 01.09.2017 15:01:58 »
net.ipv4.ip_forward = 1
Конфиг сервера:
# Generated by alterator-openvpn-server, do not edit manually
port 1194
proto udp
dev-type tun
ca   /var/lib/ssl/certs/openvpn-server-CA.crt
cert /var/lib/ssl/certs/openvpn-server.cert
key  /var/lib/ssl/private/openvpn-server.key
dh   /var/lib/ssl/private/openvpn-server.dh
server 10.8.0.0 255.255.255.0
user openvpn
group openvpn
ifconfig-pool-persist ipp.txt
keepalive 10 120
client-config-dir /etc/openvpn/ccd
persist-key
persist-tun
client-to-client
script-security 2
tmp-dir /tmp
status openvpn-status.log
verb 3
comp-lzo
# Server networks start
push "route 192.168.2.0 255.255.255.0"
# Server networks end
Создан через ЦУС

Оффлайн rits

  • Завсегдатай
  • *
  • Сообщений: 1 031
  • ITS
Re: OpenVPN - настройка сервера и клиента
« Ответ #117 : 01.09.2017 15:39:31 »
# Server networks start
push "route 192.168.2.0 255.255.255.0"
proto tcp-server и proto tcp-client понадежней будет.
С данными настройками будет видеться только 192.168.2.0/24 подсеть за сервером, а где теже настройки для 197.x.x.x подсети и интерфейса?
Должно быть (route - для сервера и push "route..." для клиента)
# Server networks start
route 192.168.2.0 255.255.255.0
push "route 192.168.2.0 255.255.255.0"

# и тоже самое к примеру для 197.x.x.x только с вашими параметрами
route 197.168.2.0 255.255.255.0
push "route 197.168.2.0 255.255.255.0"

Web альтов - это упрощенный конфигуратор для поднятия быстрого шлюза. Очень удобно, но для серьезных вещей либо его (OpenVPN веб-морда) нужно оснащать большей функциональностью, либо править ручками и ifup tun0 ifdown tun0 вкл/выкл. Разработчики говорят, что не хватает разработчиков, можете если умеете 'web', помочь допилить нужную функцию.
# apt-cache search alterator | grep vpn
alterator-net-openvpn - Alterator module for openvpn connections configuration
alterator-openvpn-server - Alterator module for openvpn server configuration
И эти кажется пакеты, удалить.
« Последнее редактирование: 01.09.2017 15:43:16 от rabochyITs »

Оффлайн sla1733

  • Начинающий
  • *
  • Сообщений: 18
Re: OpenVPN - настройка сервера и клиента
« Ответ #118 : 04.09.2017 11:37:11 »
Решил проблему настройкой маршрутизации в iptables

Оффлайн rits

  • Завсегдатай
  • *
  • Сообщений: 1 031
  • ITS
Re: OpenVPN - настройка сервера и клиента
« Ответ #119 : 04.09.2017 11:46:45 »
Решил проблему настройкой маршрутизации в iptables
Настройки iptables: /etc/net/ifaces/default/fw/iptables