WindowsMacПрограммное обес..НастройкиБезопасностьПродуктивностьЛинуксАндроид (Androi.. Все

Как настроить сервер OpenVPN на Debian

Отредактировано 3 Несколько недель назад от ExtremeHow Редакционная команда

ДебианOpenVPNНастройка сервераСетевые подключенияБезопасностьЛинуксVPNАдминистрирование системыОткрытый исходный кодКомандная строка

Как настроить сервер OpenVPN на Debian

Перевод обновлен 3 Несколько недель назад

Настройка сервера OpenVPN на Debian может показаться сложной, но, внимательно следуя нескольким шагам, вы сможете настроить безопасный VPN. Этот гид предполагает, что вы имеете базовые знания работы с командной строкой и установленную Debian. Мы рассмотрим каждый шаг в деталях, предоставляя все необходимые команды и конфигурации для запуска вашего OpenVPN сервера. Это будет включать настройку, конфигурирование и тестирование вашего VPN сервера.

1. Предварительные условия

Прежде чем начать, убедитесь, что:

sudo apt update && sudo apt upgrade -y

После того как уверены, что ваша система обновлена, следующим шагом будет настройка фаервола.

2. Настройка простого фаервола (UFW)

Несложный фаервол (UFW) — это простой способ управления настройками фаервола. Если UFW еще не установлен, используйте следующую команду для установки:

sudo apt install ufw

Затем разрешите SSH соединения через фаервол (если еще не разрешено) следующим образом:

sudo ufw allow OpenSSH

Разрешите соединения OpenVPN:

sudo ufw allow 1194/udp

Включите фаервол:

sudo ufw enable

Проверьте статус UFW, чтобы убедиться, что правила установлены правильно:

sudo ufw status

3. Установка OpenVPN

Установите пакет OpenVPN на Debian с помощью следующей команды:

sudo apt install openvpn

После установки пора настроить сервер. Вам понадобится пакет easy-rsa, чтобы помочь вам создать центр сертификации и сертификаты клиента/сервера.

4. Настройка Easy-RSA

Скачайте пакет easy-rsa, который содержит скрипты для управления инфраструктурой публичных ключей (PKI):

sudo apt install easy-rsa

Затем мы копируем скрипт easy-rsa в новый каталог, который будет использован для хранения всех ключей и сертификатов:

make-cadir ~/openvpn-ca

Перейдите в новый каталог:

cd ~/openvpn-ca

Отредактируйте файл 'vars' в этом каталоге, чтобы установить переменные, необходимые для создания сертификатов:

nano vars

Вот некоторые ключевые переменные для редактирования:

export KEY_COUNTRY="US" export KEY_PROVINCE="CA" export KEY_CITY="SanFrancisco" export KEY_ORG="Example" export KEY_EMAIL="email@example.com" export KEY_OU="MyOrganizationalUnit"

Сохраните и выйдите из редактора, нажав CTRL + X, затем Y, и нажмите Enter.

5. Создание Центра Сертификации (CA)

Инициализируйте каталог инфраструктуры открытых ключей (PKI):

./easyrsa init-pki

Создайте Центр Сертификации (CA), выполнив следующее:

./easyrsa build-ca

Вам будет предложено ввести другие детали, такие как пароль и общее имя для CA. Установите их по своему усмотрению.

6. Создание серверных сертификатов и ключей

Далее создайте серверный сертификат и ключ. Выполните:

./easyrsa gen-req server nopass

Эта команда генерирует закрытый серверный ключ с именем 'server.key'.

Теперь подпишите сертификат с помощью CA:

./easyrsa sign-req server server

Вам будет предложено подтвердить запрос на подпись. Введите "yes" и нажмите Enter.

7. Создание клиентских сертификатов и ключей

Аналогично подготовьте сертификаты для клиентов:

./easyrsa gen-req client1 nopass

Подпишите клиентский сертификат:

./easyrsa sign-req client client1

Повторите эти шаги, чтобы создать больше клиентских сертификатов по мере необходимости.

8. Генерация параметров Диффи-Хеллмана и HMAC-подписи

Сгенерируйте файл Диффи-Хеллмана:

./easyrsa gen-dh

И создайте статическую HMAC-подпись для усиления возможностей проверки целостности TLS на сервере:

openvpn --genkey secret ta.key

9. Конфигурирование сервера OpenVPN

Создайте новый конфигурационный файл для сервера OpenVPN:

sudo nano /etc/openvpn/server.conf

Вставьте следующую конфигурацию в файл:

port 1194 proto udp dev tun ca ca.crt cert server.crt key server.key dh dh.pem server 10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4" keepalive 10 120 tls-auth ta.key 0 cipher AES-256-CBC user nobody group nogroup persist-key persist-tun status openvpn-status.log verb 3

Убедитесь, что все пути к файлам указывают на правильные файлы. Теперь сохраните файл и выйдите из редактора.

10. Настройка сетевых параметров

Вам нужно будет внести изменения в сеть, чтобы разрешить переадресацию трафика. Откройте `/etc/sysctl.conf`:

sudo nano /etc/sysctl.conf

Раскомментируйте строку:

net.ipv4.ip_forward=1

Примените изменения:

sudo sysctl -p

Добавьте правило UFW:

sudo nano /etc/ufw/before.rules

Добавьте в начало файла:

# START OPENVPN RULES *nat :POSTROUTING ACCEPT [0:0] -A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE COMMIT # END OPENVPN RULES

Разрешите IP-маскарадинг:

sudo nano /etc/default/ufw

Измените `DEFAULT_FORWARD_POLICY` на:

DEFAULT_FORWARD_POLICY="ACCEPT"

Наконец примените правила UFW:

sudo ufw allow 1194/udp

Перезапустите UFW:

sudo ufw disable
sudo ufw enable

11. Запуск и включение OpenVPN

Запустите и включите службу OpenVPN:

sudo systemctl start openvpn@server
sudo systemctl enable openvpn@server

Проверьте статус, чтобы убедиться, что она работает без ошибок:

sudo systemctl status openvpn@server

12. Настройка клиента

Последний шаг — настройка клиента. Установите клиент OpenVPN, выполнив команду установки, специфичную для вашей операционной системы клиента. Затем создайте клиентский конфигурационный файл, обычно это файл `.ovpn`, который содержит всю информацию о сервере, клиентский сертификат и закрытый ключ для аутентификации.

Создайте новый клиентский конфигурационный файл на вашей машине (client1.ovpn):

client dev tun proto udp remote your-server-ip 1194 resolv-retry infinite nobind persist-key persist-tun remote-cert-tls server cipher AES-256-CBC auth SHA256 auth-nocache tls-auth ta.key 1 verb 3 # paste ca.crt content here # paste client1.crt content here # paste client1.key content here # paste ta.key content here

Передайте сертификаты и настройте клиентскую конфигурацию на вашем клиентском устройстве.

13. Тестирование VPN

Наконец, настало время для тестирования. Запустите клиент OpenVPN на вашей машине, используя созданный конфигурационный файл. Если все настроено правильно, вы сможете подключиться без проблем, и ваш сетевой трафик будет направлен через ваш VPN!

После подключения проверьте ваш внешний IP-адрес, чтобы убедиться, что он соответствует IP-адресу сервера, а не исходному IP-адресу клиента.

Заключение

Следуя этим детализированным шагам, вы успешно установили сервер OpenVPN на машину Debian. Эта настройка обеспечивает безопасное общение ваших данных через потенциально небезопасную сеть. Всегда помните держать ваш сервер и клиента в актуальном состоянии и постоянно следить за обновлениями безопасности.

Если вы найдете что-то неправильное в содержании статьи, вы можете


Комментарии