[Настройка Linux, Системное администрирование, Серверное администрирование, Удалённая работа] Скрипт для создания OpenVPN сервера, или как один админ удаленку облегчал
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Доброго дня, товарищи! Во время пандемии у всех был выбор, что использовать для организации удаленного доступа. Я выбрал OpenVPN. Чтобы помочь другим, (в первую очередь себе, конечно), был написан скрипт для простой установки сервера Ovpn на centos 8 с нуля, без заморочек.
Интересующимся под кат, там скрипт и небольшие пояснения.
Весь скрипт комментирован, а также настроен на общение с пользователем. Это очень облегчает понимание.
Вкратце. Создается пользователь openvpn, нужен в основном для обмена клиентскими конфигами, чтобы не давать лишнего доступа по ssh\ftp тем, кому нужно их скачать.
Проверки на число добавлены для уменьшения ошибок “на дурака”. Дополнительных утилит самый минимум.
В этом скрипте selinux настраивается, а не отключается. Из настроек пользователя остаются несколько строк файла vars, а также порт, протокол, ip-адрес, и количество пользователей. Ко всем вопросам пользователю, есть пояснение. Остальная установка проходит по стандартной процедуре настройки OpenVPN сервера. Хотел сделать silent режим, но думаю это уже лишнее. Готовые файлы конфигурации складываются в папку /home/openvpn/ ready_conf. Они уже готовы к использованию.
Скрипт здесь, а также есть на github
На centos 7 заменой dnf на yum не проверял. Если есть желание можете попробовать, потом расскажете.
Скрипт установки
SPL
#!/bin/bash
echo "Этот скрипт создаст OpenVPN сервер с нуля, от вас потребуется указать количество клиентов и минимальные настройки"
echo "К каждому пункту будет пояснение"
echo "Для начала создадим пользователя openvpn"
#Создадим нового пользователя openvpn с правами администратора
#Проверка на наличие пользователя в системе, для отсутствия ошибок при повторном запуске
username=openvpn #переменная с именем пользователя
client_name=client #имя клиента
answer=y #ответ пользователя
grep "^$username:" /etc/passwd >/dev/null
if [[ $? -ne 0 ]]; then
adduser openvpn; usermod -aG wheel openvpn; passwd openvpn
echo "Пользователь создан"
else
echo "Пользователь уже создан в системе"
fi
#Создание клиентов по умолчанию
echo "Укажите количество клиентов по умолчанию. Потом можно добавить еще по необходимости"
read quantity_client
#Проверка-значение число, иначе сначала
if [[ $quantity_client =~ ^[0-9]+$ ]]; then #количество клиентов
echo "Будут создано "$quantity_client" клиентских конфигураций с именами "$client_name"[X].ovpn"
else
echo "введённый символ не является числом, попробуйте снова"
echo "Попробовать снова? (y/n/e)"
read answer
case $answer in
"y")
$0
;;
"n")
echo "bye"
exit
;;
"e")
exit
;;
*)
echo "error"
;;
esac
fi
echo 'Установим утилиты необходимые для дальнейшей работы'
dnf install wget -y; dnf install tar -y; dnf install zip -y
#Начинаем установку. Подключим репозиторий и скачаем сам дистрибутив
dnf install epel-release -y; sudo dnf install openvpn -y
#Проверка наличия директории openvpn если есть то удаляем и создаем заново, иначе создаем
if [[ -e /etc/openvpn ]]; then
rm -rf /etc/openvpn
mkdir /etc/openvpn; mkdir /etc/openvpn/keys; chown -R openvpn:openvpn /etc/openvpn
echo "Удалена старая директория openvpn, создана новая"
else
mkdir /etc/openvpn; mkdir /etc/openvpn/keys; chown -R openvpn:openvpn /etc/openvpn
echo "создана новая дирктория openvpn"
fi
#Скачиваем easy-rsa
wget -P /etc/openvpn https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.8/EasyRSA-3.0.8.tgz
tar -xvzf /etc/openvpn/EasyRSA-3.0.8.tgz -C /etc/openvpn
rm -rf /etc/openvpn/EasyRSA-3.0.8.tgz
#Создадим файл vars, с настройками пользователя
touch /etc/openvpn/EasyRSA-3.0.8/vars
#Значения переменных для vars
echo "Укажите основные настройки создания сертификатов"
echo "Для каждого пункта есть настройки по умолчанию, их можно оставить"
echo "Страна(по умолчанию RH):"; read country
if [[ -z $country ]]; then
country="RH"
fi
echo "Размер ключа(по умолчанию 2048):"; read key_size
if [[ $key_size =~ ^[0-9]+$ ]]; then #проверка на число
echo "Установлен размер ключа:" $key_size
else
key_size=2048; echo "Значение ключа установлено по умолчанию"
fi
echo "Укажите область\край(по умолчанию Tegucigalpa"; read province
if [[ -z $province ]]; then
province="Tegucigalpa"
fi
echo "Город(по умолчанию Tegucigalpa)"; read city
if [[ -z $city ]]; then
city="Tegucigalpa"
fi
echo "email(по умолчанию temp@mass.hn)"; read mail
if [[ -z $mail ]]; then
mail="temp@mass.hn"
fi
echo "срок действия сертификата, дней(по умолчанию 3650/10 лет): "; read expire
if [[ $expire =~ ^[0-9]+$ ]]; then
echo "Срок действия сертификата" $expire "дней"
else
expire=3650
fi
#Набиваем vars
cat <<EOF > /etc/openvpn/EasyRSA-3.0.8/vars
set_var EASYRSA_REQ_COUNTRY $country
set_var EASYRSA_KEY_SIZE $key_size
set_var EASYRSA_REQ_PROVINCE $province
set_var EASYRSA_REQ_CITY $city
set_var EASYRSA_REQ_ORG $domain_name
set_var EASYRSA_REQ_EMAIL $mail
set_var EASYRSA_REQ_OU $domain_name
set_var EASYRSA_REQ_CN changeme
set_var EASYRSA_CERT_EXPIRE $expire
set_var EASYRSA_DH_KEY_SIZE $key_size
EOF
#Теперь инициализируем инфраструктуру публичных ключей
cd /etc/openvpn/; /etc/openvpn/EasyRSA-3.0.8/easyrsa init-pki
#Создаем свой ключ
/etc/openvpn/EasyRSA-3.0.8/easyrsa build-ca nopass
#Создаем сертификат сервера
/etc/openvpn/EasyRSA-3.0.8/easyrsa build-server-full server_cert nopass
#Создаем Диффи Хелмана
/etc/openvpn/EasyRSA-3.0.8/easyrsa gen-dh
#crl для информации об активных/отозванных сертификатах
/etc/openvpn/EasyRSA-3.0.8/easyrsa gen-crl
#Теперь копируем все что создали в папку keys
cp /etc/openvpn/pki/ca.crt /etc/openvpn/pki/crl.pem /etc/openvpn/pki/dh.pem /etc/openvpn/keys/
cp /etc/openvpn/pki/issued/server_cert.crt /etc/openvpn/keys/
cp /etc/openvpn/pki/private/server_cert.key /etc/openvpn/keys/
#Получим настройки для файла server.conf
echo "Сейчас соберем информацию для файла конфигурации сервера."
echo "Порт(по умолчанию 1194):"; read port_num
if [[ $port_num =~ ^[0-9]+$ ]]; then #проверка на число
echo "Установлен порт:" $port_num
else
port_num=1194; echo "Номер порта установлен по умолчанию"
echo "Протокол(по умолчанию udp)для установки tcp введите 1"; read protocol
fi
if [[ $protocol -eq 1 ]]; then
protocol="tcp"
echo "Выбран протокол tcp"
else
protocol="udp"
echo "Выбран протокол udp"
fi
#Теперь создадим директорию и файлы для логов
mkdir /var/log/openvpn
touch /var/log/openvpn/{openvpn-status,openvpn}.log; chown -R openvpn:openvpn /var/log/openvpn
#Включаем движение трафика
echo net.ipv4.ip_forward=1 >>/etc/sysctl.conf
sysctl -p /etc/sysctl.conf
#Настроим selinux
dnf install policycoreutils-python-utils -y
dnf install setroubleshoot -y
semanage port -a -t openvpn_port_t -p $protocol $port_num
/sbin/restorecon -v /var/log/openvpn/openvpn.log
/sbin/restorecon -v /var/log/openvpn/openvpn-status.log
#Настроим firewalld
firewall-cmd --add-port="$port_num"/"$protocol"
firewall-cmd --zone=trusted --add-source=172.31.1.0/24
firewall-cmd --permanent --add-port="$port_num"/"$protocol"
firewall-cmd --permanent --zone=trusted --add-source=172.31.1.0/24
firewall-cmd --direct --add-rule ipv4 nat POSTROUTING 0 -s 172.31.1.0/24 -j MASQUERADE
firewall-cmd --permanent --direct --add-rule ipv4 nat POSTROUTING 0 -s 172.31.1.0/24 -j MASQUERADE
systemctl restart firewalld
#Создадим server.conf
mkdir /etc/openvpn/server
touch /etc/openvpn/server/server.conf
#chmod -R a+r /etc/openvpn
cat <<EOF > /etc/openvpn/server/server.conf
port $port_num
proto $protocol
dev tun
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server_cert.crt
key /etc/openvpn/keys/server_cert.key
dh /etc/openvpn/keys/dh.pem
crl-verify /etc/openvpn/keys/crl.pem
topology subnet
server 172.31.1.0 255.255.255.0
route 172.31.1.0 255.255.255.0
push "route 172.31.1.0 255.255.255.0"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log-append /var/log/openvpn/openvpn.log
verb 2
mute 20
daemon
mode server
user nobody
group nobody
EOF
echo "Добавим сервер в автозагрузку и запустим"
sudo systemctl enable openvpn-server@server
sudo systemctl start openvpn-server@server
sudo systemctl status openvpn-server@server
#Начнем создавать клиентов
#Директория для готовых конфигов
mkdir /home/openvpn/ready_conf
echo "IP к которому необходимо подключаться клиентам в формате 111.111.111.111"; read ip_adress
#Создадим темповый файл конфигурации клиента с настройками
touch /home/openvpn/temp_conf_client.txt
cat <<EOF > /home/openvpn/temp_conf_client.txt
client
dev tun
proto $protocol
remote $ip_adress $port_num
persist-key
persist-tun
verb 3
route-method exe
route-delay 2
EOF
#теперь функция создания клиентов
create_client () {
cd /etc/openvpn/
/etc/openvpn/EasyRSA-3.0.8/easyrsa build-client-full "$client_name$quantity_client" nopass
cp /home/openvpn/temp_conf_client.txt /home/openvpn/ready_conf/"$client_name$quantity_client"'.ovpn'
{
echo "<ca>"; cat "/etc/openvpn/pki/ca.crt"; echo "</ca>"
echo "<cert>"; awk '/BEGIN/,/END/' "/etc/openvpn/pki/issued/$client_name$quantity_client.crt"; echo "</cert>"
echo "<key>"; cat "/etc/openvpn/pki/private/$client_name$quantity_client.key"; echo "</key>"
echo "<dh>"; cat "/etc/openvpn/pki/dh.pem"; echo "</dh>"
} >> "/home/openvpn/ready_conf/"$client_name$quantity_client".ovpn"
}
#Запускать функцию создания клиентов, по счетчику
while [[ $quantity_client -ne 0 ]]; do
create_client
let "quantity_client=$quantity_client-1"
done
/etc/openvpn/EasyRSA-3.0.8/easyrsa gen-crl #генерируем crl для информации об активных сертификатах
cp /etc/openvpn/pki/crl.pem /etc/openvpn/keys/ #Копируем в директорию с активными сертификатами
sudo systemctl restart openvpn-server@server #перезапускаем сервер, для применения crl
cd /home/openvpn/ready_conf/; ls -alh ./
echo "сейчас вы в директории с готовыми файлами конфигураций, их уже можно использовать"
echo "скрипт завершен успешно"
exec bash
===========
Источник:
habr.com
===========
Похожие новости:
- [Настройка Linux, Open source, Системное администрирование, *nix] Почему стоит использовать exa вместо привычной консольной утилиты ls (перевод)
- [Серверное администрирование] Эффективные менеджеры, или как я ходил до тех. поддержки
- [Удалённая работа] Опыт работы на удалёнке в Турции в 2020
- [Серверное администрирование, Хранение данных, Хранилища данных, Накопители] На каких серверах держится Архив Интернета?
- [Настройка Linux, Графические оболочки, GTK+, Разработка под Linux] В релиз вышел графический тулкит GTK 4.2
- [Высокая производительность, Системное администрирование, IT-инфраструктура, Apache] Продвинутый курс по Apache Kafka: 11 апреля старт группы с куратором
- [Настройка Linux, Информационная безопасность] Linux Sandbox
- [Системное администрирование, Настольные компьютеры, Ноутбуки] Windows 10 получит OEMDRIVERS, папку для сторонних драйверов
- [Системное администрирование, Резервное копирование] Настройка резервного копирования на внешний HDD, используя Bareos, для Windows 10
- [Настройка Linux, Информационная безопасность] Linux. Как работает hardening
Теги для поиска: #_nastrojka_linux (Настройка Linux), #_sistemnoe_administrirovanie (Системное администрирование), #_servernoe_administrirovanie (Серверное администрирование), #_udalennaja_rabota (Удалённая работа), #_openvpn, #_centos_8, #_bashskript (bash-скрипт), #_bashprogrammirovanie (bash-программирование), #_nastrojka_linux (
Настройка Linux
), #_sistemnoe_administrirovanie (
Системное администрирование
), #_servernoe_administrirovanie (
Серверное администрирование
), #_udalennaja_rabota (
Удалённая работа
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 05:43
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Доброго дня, товарищи! Во время пандемии у всех был выбор, что использовать для организации удаленного доступа. Я выбрал OpenVPN. Чтобы помочь другим, (в первую очередь себе, конечно), был написан скрипт для простой установки сервера Ovpn на centos 8 с нуля, без заморочек. Интересующимся под кат, там скрипт и небольшие пояснения. Весь скрипт комментирован, а также настроен на общение с пользователем. Это очень облегчает понимание. Вкратце. Создается пользователь openvpn, нужен в основном для обмена клиентскими конфигами, чтобы не давать лишнего доступа по ssh\ftp тем, кому нужно их скачать. Проверки на число добавлены для уменьшения ошибок “на дурака”. Дополнительных утилит самый минимум. В этом скрипте selinux настраивается, а не отключается. Из настроек пользователя остаются несколько строк файла vars, а также порт, протокол, ip-адрес, и количество пользователей. Ко всем вопросам пользователю, есть пояснение. Остальная установка проходит по стандартной процедуре настройки OpenVPN сервера. Хотел сделать silent режим, но думаю это уже лишнее. Готовые файлы конфигурации складываются в папку /home/openvpn/ ready_conf. Они уже готовы к использованию. Скрипт здесь, а также есть на github На centos 7 заменой dnf на yum не проверял. Если есть желание можете попробовать, потом расскажете. Скрипт установкиSPL#!/bin/bash
echo "Этот скрипт создаст OpenVPN сервер с нуля, от вас потребуется указать количество клиентов и минимальные настройки" echo "К каждому пункту будет пояснение" echo "Для начала создадим пользователя openvpn" #Создадим нового пользователя openvpn с правами администратора #Проверка на наличие пользователя в системе, для отсутствия ошибок при повторном запуске username=openvpn #переменная с именем пользователя client_name=client #имя клиента answer=y #ответ пользователя grep "^$username:" /etc/passwd >/dev/null if [[ $? -ne 0 ]]; then adduser openvpn; usermod -aG wheel openvpn; passwd openvpn echo "Пользователь создан" else echo "Пользователь уже создан в системе" fi #Создание клиентов по умолчанию echo "Укажите количество клиентов по умолчанию. Потом можно добавить еще по необходимости" read quantity_client #Проверка-значение число, иначе сначала if [[ $quantity_client =~ ^[0-9]+$ ]]; then #количество клиентов echo "Будут создано "$quantity_client" клиентских конфигураций с именами "$client_name"[X].ovpn" else echo "введённый символ не является числом, попробуйте снова" echo "Попробовать снова? (y/n/e)" read answer case $answer in "y") $0 ;; "n") echo "bye" exit ;; "e") exit ;; *) echo "error" ;; esac fi echo 'Установим утилиты необходимые для дальнейшей работы' dnf install wget -y; dnf install tar -y; dnf install zip -y #Начинаем установку. Подключим репозиторий и скачаем сам дистрибутив dnf install epel-release -y; sudo dnf install openvpn -y #Проверка наличия директории openvpn если есть то удаляем и создаем заново, иначе создаем if [[ -e /etc/openvpn ]]; then rm -rf /etc/openvpn mkdir /etc/openvpn; mkdir /etc/openvpn/keys; chown -R openvpn:openvpn /etc/openvpn echo "Удалена старая директория openvpn, создана новая" else mkdir /etc/openvpn; mkdir /etc/openvpn/keys; chown -R openvpn:openvpn /etc/openvpn echo "создана новая дирктория openvpn" fi #Скачиваем easy-rsa wget -P /etc/openvpn https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.8/EasyRSA-3.0.8.tgz tar -xvzf /etc/openvpn/EasyRSA-3.0.8.tgz -C /etc/openvpn rm -rf /etc/openvpn/EasyRSA-3.0.8.tgz #Создадим файл vars, с настройками пользователя touch /etc/openvpn/EasyRSA-3.0.8/vars #Значения переменных для vars echo "Укажите основные настройки создания сертификатов" echo "Для каждого пункта есть настройки по умолчанию, их можно оставить" echo "Страна(по умолчанию RH):"; read country if [[ -z $country ]]; then country="RH" fi echo "Размер ключа(по умолчанию 2048):"; read key_size if [[ $key_size =~ ^[0-9]+$ ]]; then #проверка на число echo "Установлен размер ключа:" $key_size else key_size=2048; echo "Значение ключа установлено по умолчанию" fi echo "Укажите область\край(по умолчанию Tegucigalpa"; read province if [[ -z $province ]]; then province="Tegucigalpa" fi echo "Город(по умолчанию Tegucigalpa)"; read city if [[ -z $city ]]; then city="Tegucigalpa" fi echo "email(по умолчанию temp@mass.hn)"; read mail if [[ -z $mail ]]; then mail="temp@mass.hn" fi echo "срок действия сертификата, дней(по умолчанию 3650/10 лет): "; read expire if [[ $expire =~ ^[0-9]+$ ]]; then echo "Срок действия сертификата" $expire "дней" else expire=3650 fi #Набиваем vars cat <<EOF > /etc/openvpn/EasyRSA-3.0.8/vars set_var EASYRSA_REQ_COUNTRY $country set_var EASYRSA_KEY_SIZE $key_size set_var EASYRSA_REQ_PROVINCE $province set_var EASYRSA_REQ_CITY $city set_var EASYRSA_REQ_ORG $domain_name set_var EASYRSA_REQ_EMAIL $mail set_var EASYRSA_REQ_OU $domain_name set_var EASYRSA_REQ_CN changeme set_var EASYRSA_CERT_EXPIRE $expire set_var EASYRSA_DH_KEY_SIZE $key_size EOF #Теперь инициализируем инфраструктуру публичных ключей cd /etc/openvpn/; /etc/openvpn/EasyRSA-3.0.8/easyrsa init-pki #Создаем свой ключ /etc/openvpn/EasyRSA-3.0.8/easyrsa build-ca nopass #Создаем сертификат сервера /etc/openvpn/EasyRSA-3.0.8/easyrsa build-server-full server_cert nopass #Создаем Диффи Хелмана /etc/openvpn/EasyRSA-3.0.8/easyrsa gen-dh #crl для информации об активных/отозванных сертификатах /etc/openvpn/EasyRSA-3.0.8/easyrsa gen-crl #Теперь копируем все что создали в папку keys cp /etc/openvpn/pki/ca.crt /etc/openvpn/pki/crl.pem /etc/openvpn/pki/dh.pem /etc/openvpn/keys/ cp /etc/openvpn/pki/issued/server_cert.crt /etc/openvpn/keys/ cp /etc/openvpn/pki/private/server_cert.key /etc/openvpn/keys/ #Получим настройки для файла server.conf echo "Сейчас соберем информацию для файла конфигурации сервера." echo "Порт(по умолчанию 1194):"; read port_num if [[ $port_num =~ ^[0-9]+$ ]]; then #проверка на число echo "Установлен порт:" $port_num else port_num=1194; echo "Номер порта установлен по умолчанию" echo "Протокол(по умолчанию udp)для установки tcp введите 1"; read protocol fi if [[ $protocol -eq 1 ]]; then protocol="tcp" echo "Выбран протокол tcp" else protocol="udp" echo "Выбран протокол udp" fi #Теперь создадим директорию и файлы для логов mkdir /var/log/openvpn touch /var/log/openvpn/{openvpn-status,openvpn}.log; chown -R openvpn:openvpn /var/log/openvpn #Включаем движение трафика echo net.ipv4.ip_forward=1 >>/etc/sysctl.conf sysctl -p /etc/sysctl.conf #Настроим selinux dnf install policycoreutils-python-utils -y dnf install setroubleshoot -y semanage port -a -t openvpn_port_t -p $protocol $port_num /sbin/restorecon -v /var/log/openvpn/openvpn.log /sbin/restorecon -v /var/log/openvpn/openvpn-status.log #Настроим firewalld firewall-cmd --add-port="$port_num"/"$protocol" firewall-cmd --zone=trusted --add-source=172.31.1.0/24 firewall-cmd --permanent --add-port="$port_num"/"$protocol" firewall-cmd --permanent --zone=trusted --add-source=172.31.1.0/24 firewall-cmd --direct --add-rule ipv4 nat POSTROUTING 0 -s 172.31.1.0/24 -j MASQUERADE firewall-cmd --permanent --direct --add-rule ipv4 nat POSTROUTING 0 -s 172.31.1.0/24 -j MASQUERADE systemctl restart firewalld #Создадим server.conf mkdir /etc/openvpn/server touch /etc/openvpn/server/server.conf #chmod -R a+r /etc/openvpn cat <<EOF > /etc/openvpn/server/server.conf port $port_num proto $protocol dev tun ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/server_cert.crt key /etc/openvpn/keys/server_cert.key dh /etc/openvpn/keys/dh.pem crl-verify /etc/openvpn/keys/crl.pem topology subnet server 172.31.1.0 255.255.255.0 route 172.31.1.0 255.255.255.0 push "route 172.31.1.0 255.255.255.0" push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4" keepalive 10 120 persist-key persist-tun status /var/log/openvpn/openvpn-status.log log-append /var/log/openvpn/openvpn.log verb 2 mute 20 daemon mode server user nobody group nobody EOF echo "Добавим сервер в автозагрузку и запустим" sudo systemctl enable openvpn-server@server sudo systemctl start openvpn-server@server sudo systemctl status openvpn-server@server #Начнем создавать клиентов #Директория для готовых конфигов mkdir /home/openvpn/ready_conf echo "IP к которому необходимо подключаться клиентам в формате 111.111.111.111"; read ip_adress #Создадим темповый файл конфигурации клиента с настройками touch /home/openvpn/temp_conf_client.txt cat <<EOF > /home/openvpn/temp_conf_client.txt client dev tun proto $protocol remote $ip_adress $port_num persist-key persist-tun verb 3 route-method exe route-delay 2 EOF #теперь функция создания клиентов create_client () { cd /etc/openvpn/ /etc/openvpn/EasyRSA-3.0.8/easyrsa build-client-full "$client_name$quantity_client" nopass cp /home/openvpn/temp_conf_client.txt /home/openvpn/ready_conf/"$client_name$quantity_client"'.ovpn' { echo "<ca>"; cat "/etc/openvpn/pki/ca.crt"; echo "</ca>" echo "<cert>"; awk '/BEGIN/,/END/' "/etc/openvpn/pki/issued/$client_name$quantity_client.crt"; echo "</cert>" echo "<key>"; cat "/etc/openvpn/pki/private/$client_name$quantity_client.key"; echo "</key>" echo "<dh>"; cat "/etc/openvpn/pki/dh.pem"; echo "</dh>" } >> "/home/openvpn/ready_conf/"$client_name$quantity_client".ovpn" } #Запускать функцию создания клиентов, по счетчику while [[ $quantity_client -ne 0 ]]; do create_client let "quantity_client=$quantity_client-1" done /etc/openvpn/EasyRSA-3.0.8/easyrsa gen-crl #генерируем crl для информации об активных сертификатах cp /etc/openvpn/pki/crl.pem /etc/openvpn/keys/ #Копируем в директорию с активными сертификатами sudo systemctl restart openvpn-server@server #перезапускаем сервер, для применения crl cd /home/openvpn/ready_conf/; ls -alh ./ echo "сейчас вы в директории с готовыми файлами конфигураций, их уже можно использовать" echo "скрипт завершен успешно" exec bash =========== Источник: habr.com =========== Похожие новости:
Настройка Linux ), #_sistemnoe_administrirovanie ( Системное администрирование ), #_servernoe_administrirovanie ( Серверное администрирование ), #_udalennaja_rabota ( Удалённая работа ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 05:43
Часовой пояс: UTC + 5