Операционная система должна предоставлять возможность установления безопасных сетевых соединений по технологии VPN.
[[ЛКНВ.11100-01 90 03 Руководства администратора.pdf]], стр. 243-251 https://www.altlinux.org/OpenVPNhttps://www.altlinux.org/Alterator-net-openvpn
https://forum.altlinux.org/index.php?topic=8557.0 Стенд: openVPN Server, OpenVPN Client, IMA EVM
OpenVPN-сервер
Шаг № 1:
Заходим в Центр управления сервера, Настройка - Режим эксперта
находим OpenVPN-сервер, нажимаем "Сертификат и ключ ssl.."
Оказываемся в Управление ключами SSL, заполняем графу Страна (С) RU большими буквами и нажимаем "Забрать запрос на подпись".
Предлагает сохранить файл openvpn-server.csr
Сохраняем у себя.
В разделе Управление ключами SSL появился новый ключ openvpn-server(Нет сертификата)
Шаг № 2:
Переходим в Удостоверяющий Центр - Управление сертификатами, чтобы подписать сертификат нажимаем "Обзор", показываем дорогу до полученного openvpn-server.csr
и Загружаем запрос.
Выскакивают две группы цифр с кнопкой в конце "Подписать"
Опять предлагает сохранить на нашем компьютере. Сохраняем файл output.pem Это и есть подписанный сертификат.
Шаг № 3:
Возвращаемся в раздел Управление ключами SSL, где лежит наш ключ openvpn-server(Нет сертификата)
Выделяем его и нажимаем "Изменить" и в появившемся окне, в Положить сертификат, подписанный УЦ: нажимаем "Обзор", показываем дорогу до output.pem и нажимаем на "Положить".
Возвращаемся в раздел Управление ключами SSL, где видим, что изменился ключ openvpn-server(истекает_и_дата)
Ключ создан и подписан.
Шаг № 4:
Осталось только Положить сертификат УЦ:
Для этого его находим в разделе Удостоверяющий Центр нажимаем на ссылку Управление УЦ и видим ссылку Сертификат: ca-root.pem
Забираем этот самый ca-root.pem
это и есть сертификат УЦ.
Наконец возвращаемся в раздел OpenVPN-сервер
В графе Положить сертификат УЦ: при помощи кнопки "Обзор" показываем дорогу до ca-root.pem и нажимаем "Положить"
Появляется сообщение: Сертификат УЦ успешно загружен
Шаг № 5:
Ставим флаг в графе: Включить службу OpenVPN, первый раз больше ничего не трогаем и нажимаем "Применить"
Диагностика:
Появилось новое соединение
ip a s
# 8: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100 link/none inet 10.8.0.1 peer 10.8.0.2/32 scope global tun0
появилось
ss -na -u | grep 1194
# UNCONN 0 0 *:1194 *:*
Со стороны клиента можем проверить открыт ли доступ до сервера можно только от root
nmap -sU -p 1194 192.168.0.1
# Starting Nmap 4.20 ( http://insecure.org ) at 2010-05-06 09:41 YEKSTInteresting ports on 192.168.0.1:PORT STATE SERVICE1194/udp open|filtered unknownMAC Address: 00:E0:4C:F0:C6:45 (Realtek Semiconductor)Nmap finished: 1 IP address (1 host up) scanned in 0.726 seconds1194/udp open|filtered unknown
Видим, что по порту 1194 тип TUN (udp) сервер ждет нашего подключения клиентом.
Шаг 6:
Так как весь трафик будет проходить через данный OpenVPN сервер, необходимо его настроить, хотя бы, как самый простой маршрутизатор.
Минимально:
- Включить ip forward: Отредактировать файл
/etc/net/sysctl.conf
:
net.ipv4.ip_forward = 1
Затем выполнить
sysctl -p
- Настроить MASQUERADE в iptables в зависимости от нужд:
iptables -t nat -A POSTROUTING -o сетевой_адаптер -j MASQUERADE
Также, проверьте таблицу маршрутизации:
ip route
В случае необходимости добавьте или удалите правила.
OpenVPN-соединение на стороне клиента Linux
Шаг № 1 Создаем новое OpenVPN-соединение
Заходим "Центр управления системой"
Нажимаем - Главная
Находим - Сеть - OpenVPN-соединение
Создаем новое соединение - Новое соединение - Сетевой туннель (TUN) - Создать соединение
Шаг № 2 Создаем ключ и запрос на подпись
Нам необходимо создать ключ. Находим кнопку - Управление ключами, в окне нажимаем - Новый - и заполняем поля. Главное заполнить первое поле: Общее имя (CN) , допустим имя будет vova
Ставим галочку "Создать ключ и запрос на подпись" и показываем путь, куда положить этот запрос в поле: "Целевой каталог" Нажимаем в поле "Создать ключ и запрос на подпись" кнопку "Подтвердить" (не путать с Применить в основном меню)
Потом нажимаем "Применить".
Может с первого раза в указанном каталоге ничего не появляется. Проверяем, там должен быть оказаться файл vova.csr
Если там ничего нет, то возвращаемся на шаг назад и повторяем через "Изменить".
В итоге у нас должен быть файл vova.csr
(это и есть запрос на подпись) и строка в меню "Управление ключами" vova (Нет сертификата)
Шаг № 3 Подписываем запрос на OpenVPN-server
Заходим уже на сам сервер, в "Центр управления системой" и переходим в "Удостоверяющий центр". Находим "Подписать сертификат_" , нажимаем "Обзор" и показываем путь до нашего vova.csr , далее "Загрузить запрос"
видим Certificate Request:
* Data:
o Version: 0 (0x0) Subject: CN=mynetik, C=RU, L=Yekaterinburg
и далее набор цифр а внизу кнопка "Подписать"
Нажимаем и "Центр управления системой" OpenVPN-server предлагает сохранить файл на нашем настольном компьютере-клиенте.
Сохраняем. У нас появился файл output.pem
Шаг № 4 Импортируем сертификат пользователя
На клиенте возвращаемся в наше OpenVPN-соединение, в меню "Управление ключами" находим ми выделяем наш vova (Нет сертификата)
Говорим "Изменить" и в окне "Импортировать сертификат пользователя" показываем путь до output.pem
, заканчиваем "Применить" и "ОК"
В меню "Управление ключами" изменился _vova (Истекает и дата когда)
Все хорошо, ключ создан и активизирован.
Шаг № 5 Импортируем сертификат удостоверяющего центра
Сертификат удостоверяющего центра это файл, который находится на OpenVPN-server
Чтобы его получить, возвращаемся на сервер, в "Центр управления системой" и переходим в "Удостоверяющий центр"
Находим ссылку "Управление УЦ", нажимаем и видим строку Сертификат: ca-root.pem
Нажимаем на ссылку ca-root.pem
OpenVPN-server предлагает сохранить файл на нашем настольном компьютере-клиенте.
Сохраняем. У нас появился еще один файл, который так и будет называться ca-root.pem
Шаг № 6: Далее уже на клиенте
Заходим "Центр управления системой"
Нажимаем - Главная
Находим - Сеть - OpenVPN-соединение
и в самом низу видим поле "Импортировать сертификат УЦ" и показываем дорогу до ca-root.pem
Примечание: Если не работает импорт через данное поле, то используем один из вариантов: Переместить корневой сертификат в директорию
cp /home/user/ca-root.pem /var/lib/ssl/certs/
илиcat /home/user/ca-root.pem > /etc/net/ifaces/tun0/ovpnca
Шаг № 7 Устанавливаем OpenVPN-соединение с OpenVPN-server'ом
Заходим "Центр управления системой"
Нажимаем - Главная
Находим - Сеть - OpenVPN-соединение -
В меню меняем "Состояние" - с "не менять" на "запустить"
Сервер - указываем IP адрес или домен
Порт - оставляем 1194
Ключ - выбираем в меню наш vova
Запускать при запуске - оставляем так или ставим галочку, по вашему усмотрению
Маршрут по умолчанию через VPN - оставляем галочку или снимаем, по вашему усмотрению
Сжатие LZO - оставляем галочку или снимаем, по вашему усмотрению
Разумнее согласиться с уже имеющимися настройками.
Дальше говорим Применить и видим, что изменилось состояние с "Выключено" на "Включено"
Но это еще ничего не значит.
Особенность такого подключения (TUN), что если даже не будет соединения TCP или инета вообще, состояние "Включено" появится всегда.
Проверить, появилось ли соединение с сервером можно командой
ip a s
должно появиться новое соединение tun0. При обычных настройках это может выглядеть так:
tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100 link/[65534] inet 10.8.0.6 peer 10.8.0.5/32 scope global tun0
Проверьте сетевую связность с сервером, а также связь с офисами.
Также, проверьте таблицу маршрутизации:
ip route
В случае необходимости добавьте или удалите правила.