Как изменить порт OpenVPN клиента на Ubuntu 22?

Здравствуйте.  
У меня развернут сервер OpenVPN на Ubuntu 22, который принимает клиентов на порту 4455 (UDP). В клиентском конфигурационном файле указаны следующие данные:  
<blockquote>client<br/>
     proto udp<br/>
     remote (внешний IP сервера) 4455<br/>
dev tun</blockquote>  

При настройке OpenVPN клиента на Ubuntu 22 всё работает, однако после применения правил iptables соединение разрывается. Разрыв происходит при следующих правилах:  
<i>iptables -A INPUT -p udp --dport 4455 -j ACCEPT</i>  
<i>iptables -A INPUT -j DROP</i>  

Команда <i>netstat -tuln</i> показывает, в частности, такую строчку:  
<blockquote>udp        0      0 0.0.0.0:1194            0.0.0.0:*</blockquote>  
Затем я проверяю с помощью <i>lsof -i:1194</i>:  
<blockquote>openvpn 768 root    5u  IPv4  19403      0t0  UDP *:openvpn</blockquote>  

Если в iptables разрешить порт 1194 ( <i>iptables -A INPUT -p udp --dport 1194 -j ACCEPT</i> ), тогда всё работает. Я понимаю, что служба клиента OpenVPN использует стандартный порт 1194 (UDP).  
Как можно изменить этот порт на другой, желательно на тот же, что и на сервере (4455)?
  • 2 апреля 2025 г. 7:45
Ответы на вопрос 2
Чтобы изменить порт OpenVPN на клиенте Ubuntu 22 так, чтобы он использовал порт 4455 (или другой), вам нужно изменить конфигурацию клиента OpenVPN. Поскольку вы уже настроили сервер OpenVPN на приём клиентов на этом порту, вы можете сделать следующее:

1. **Измените конфигурацию клиента OpenVPN**:
   Откройте файл конфигурации вашего клиента OpenVPN. Обычно этот файл имеет расширение `.ovpn` или находится в директории `/etc/openvpn/client/`. Найдите строку, где указан порт, и измените её:

   ```plaintext
   proto udp
   remote <внешний IP сервера> 4455
   dev tun
   ```

   Убедитесь, что вы указали правильный порт `4455` на стороне клиента.

2. **Измените конфигурацию сервера (если необходимо)**:
   Если сервер уже настроен на использование порта 4455, дополнительно ничего делать не нужно. Однако, если есть необходимость изменить порт на сервере, откройте конфигурацию сервера (обычно это файл `/etc/openvpn/server.conf`) и измените строку:

   ```plaintext
   port 4455
   ```

3. **Настройка правил iptables**:
   Убедитесь, что правила iptables на сервере правильные. Добавьте правила для разрешения трафика на порту 4455:

   ```bash
   iptables -A INPUT -p udp --dport 4455 -j ACCEPT
   iptables -A INPUT -j DROP
   ```

   Убедитесь, что вы добавили эти правила до правила `DROP`.

4. **Перезапустите OpenVPN на сервере и клиенте**:
   После изменения конфигурации перезапустите службу OpenVPN на сервере и клиенте. Это можно сделать с помощью команды:

   На сервере:
   ```bash
   sudo systemctl restart openvpn@server
   ```

   На клиенте:
   ```bash
   sudo systemctl restart openvpn@client
   ```

5. **Проверьте статус**:
   Вы можете проверить статус службы OpenVPN, чтобы убедиться, что она запущена без ошибок:

   На сервере и клиенте:
   ```bash
   sudo systemctl status openvpn@server
   sudo systemctl status openvpn@client
   ```

После этих шагов клиент OpenVPN должен успешно подключаться к серверу через порт 4455. Если все еще возникают проблемы, проверьте логи OpenVPN на клиенте и сервере для диагностики. Логи могут находиться в `/var/log/openvpn.log` или в других указанных местах в конфигурационных файлах.
При настройке OpenVPN клиента в правила iptables нужно разрешить трафик, который уже инициирован вами или вашими приложениями. Порт менять не нужно. 
# Разрешить входящий трафик для установленных/связанных соединений
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

# Разрешить исходящий трафик для установленных/связанных соединений
sudo iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Похожие вопросы