Проброс порта в Ubuntu 24.04 с использованием socat и OpenVPN
1. Настройка socat
1.1. Установка socat
sudo apt update
sudo apt install socat
1.2. Создание отдельного сервиса для проброса одного порта
vim /etc/systemd/system/socat-8003.service
[Unit]
Description=Socat Port Forwarding for Port 8003
After=network.target
[Service]
ExecStart=/usr/bin/socat TCP-LISTEN:8003,fork TCP:10.20.1.20:8003
Restart=always
[Install]
WantedBy=multi-user.target
1.3. Создание отдельного сервиса для проброса одного порта
vim /etc/systemd/system/socat-5434.service
[Unit]
Description=Socat Port Forwarding for Port 5434
After=network.target
[Service]
ExecStart=/usr/bin/socat TCP-LISTEN:5434,fork TCP:10.20.1.30:5434
Restart=always
[Install]
WantedBy=multi-user.target
1.4. Activate services
sudo systemctl enable socat-8003.service
sudo systemctl start socat-8003.service
sudo systemctl enable socat-5434.service
sudo systemctl start socat-5434.service
2. Настройка автозапуска OpenVPN клиента с использованием CLI в Ubuntu 20.04 и выше
Для настройки автозапуска OpenVPN клиента с автоматической подстановкой логина и пароля выполните следующие шаги:
2.1. Убедитесь, что OpenVPN установлен
Если OpenVPN ещё не установлен, установите его с помощью команды:
sudo apt update
sudo apt install openvpn
2.2. Переместите (скопируйте) конфигурационный файл
Переместите|скопируйте ваш .ovpn файл (например, client.ovpn) в папку /etc/openvpn/client/:
sudo mkdir -p /etc/openvpn/client
sudo cp /путь/к/вашему/voiceman-semenov.ovpn /etc/openvpn/client/voiceman-semenov.conf
2.3. Создайте файл с логином и паролем
Для автоматической подстановки логина и пароля создайте файл, содержащий ваши учетные данные:
bash
sudo vim /etc/openvpn/client/voiceman-semenov_auth.txt
Добавьте в файл следующие строки:
ваш_логин
ваш_пароль
2.4. Настройте конфигурацию для использования файла с логином
sudo vim /etc/openvpn/client/voiceman-semenov.conf
Найдите строку, начинающуюся с auth-user-pass, и измените её на:
auth-user-pass /etc/openvpn/client/voiceman-semenov_auth.txt
Сохраните изменения.
2.5. Защитите файл с логином и паролем
Убедитесь, что файл с логином и паролем доступен только для root:
sudo chmod 600 /etc/openvpn/client/voiceman-semenov_auth.txt
2.5.1. Важно добавить конфигурацию маршрутизации к целевым серверам расположенным внутри сети за OpenVPN
route-nopull
route 10.20.1.20 255.255.255.255
route 10.20.1.30 255.255.255.255
2.6. Настройте автозапуск OpenVPN
Для автозапуска OpenVPN клиента при загрузке системы выполните следующие шаги:
Убедитесь, что имя вашего .ovpn файла совпадает с именем сервиса. Например, если файл называется client.ovpn, то сервис будет называться openvpn-client@client.service.
Активируйте автозапуск сервиса:
bash
sudo systemctl enable openvpn-client@client.service
# В нашем случает выполняем команду
sudo systemctl enable openvpn-client@voiceman-semenov.service
Запустите сервис вручную, чтобы проверить его работу:
sudo systemctl start openvpn-client@voiceman-semenov.service
Проверьте статус сервиса:
sudo systemctl status openvpn-client@voiceman-semenov.service
2.7. Проверка подключения
Убедитесь, что OpenVPN подключается автоматически после перезагрузки системы. Перезагрузите компьютер:
sudo reboot
После перезагрузки проверьте статус подключения:
sudo systemctl status openvpn-client@voiceman-semenov.service
Примечание
Если вы используете несколько .ovpn файлов, убедитесь, что каждый из них настроен аналогичным образом, и активируйте соответствующие сервисы (openvpn-client@<имя>.service).
Теперь ваш OpenVPN клиент будет автоматически подключаться при загрузке системы с использованием указанных логина и пароля.
No Comments