Добрый день! Мне нужна помощь в настройке OpenVPN сервера, который развёрнут на VDS сервере с использованием операционной системы Ubuntu. Я хочу, чтобы клиенты могли видеть друг друга, или, точнее, чтобы только один клиент мог видеть всех остальных, и чтобы все остальные видели только его. Клиенты у меня разные - от Android и Windows 10 до Ubuntu. Я предпочел бы использовать стандартные настройки, включая адаптер tun, протокол UDP и прочее, чтобы после установки и настройки скрипта install все осталось без изменений. Ранее мне пришлось изменить сеть с стандартной 10.8.0.0/20 на 172.27.165.0/27. Я отредактировал директиву server, но у меня возникли сложности с настройкой правил файервола - мне потребовалась целая неделя, чтобы понять, где и как вносить изменения. Сейчас у всех клиентов в таблице маршрутизации явно указано, что все трафик должен проходить через OpenVPN сервер, так как на стороне клиента в файле route указано, что для всех адресов 128.0.0.0 с маской 128.0.0.0 должен использоваться шлюз VPN. Фактически все клиенты подключаются и весь трафик идёт через VPN сервер, но почему-то клиенты не могут видеть друг друга. Возможно, это связано с правилами файервола. Буду признателен за ответ, если вы точно знаете, как решить эту проблему, без предложения попробовать что-то или указаний на изменение протокола с tun на tap, при этом не объясняя, зачем это нужно делать.
Для настройки OpenVPN сервера на Ubuntu, чтобы клиенты могли взаимодействовать между собой, вам потребуется выполнить несколько шагов:
1. Установите OpenVPN на ваш сервер с помощью следующей команды:
```shell
sudo apt-get update
sudo apt-get install openvpn -y
```
2. Создайте директорию, где будут храниться конфигурационные файлы сервера:
```shell
sudo mkdir /etc/openvpn/server
```
3. Скопируйте пример конфигурационного файла сервера в созданную директорию:
```shell
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/server/
```
4. Распакуйте архив:
```shell
sudo gzip -d /etc/openvpn/server/server.conf.gz
```
5. Отредактируйте файл конфигурации сервера:
```shell
sudo nano /etc/openvpn/server/server.conf
```
Ниже приведены некоторые настройки, которые вам потребуется изменить:
- `proto udp` (протокол)
- `dev tun` (устройство)
- `server 172.27.165.0 255.255.255.224` (IP-адрес и маска подсети)
- `push "route 172.27.165.0 255.255.255.224"` (распространение маршрута)
- `client-to-client` (взаимодействие между клиентами)
Сохраните изменения и закройте файл.
6. Создайте директорию для хранения файлов аутентификации клиентов:
```shell
sudo mkdir /etc/openvpn/server/clients
```
7. Сгенерируйте сертификаты и ключи для каждого клиента. Выполните следующую команду для каждого клиента, заменив `client_name` на имя клиента:
```shell
sudo easyrsa build-client-full client_name
```
Вы можете назначить уникальные имена каждому клиенту.
8. Переместите созданные файлы в директорию клиента:
```shell
sudo cp /etc/openvpn/server/pki/issued/client_name.crt /etc/openvpn/server/clients/
sudo cp /etc/openvpn/server/pki/private/client_name.key /etc/openvpn/server/clients/
sudo cp /etc/openvpn/ca.crt /etc/openvpn/server/clients/
```
9. Создайте файл конфигурации для каждого клиента:
```shell
sudo nano /etc/openvpn/server/clients/client_name.ovpn
```
Вставьте следующий текст в файл:
```
client
dev tun
proto udp
remote YOUR_SERVER_IP YOUR_SERVER_PORT
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
key-direction 1
cipher AES-256-CBC
auth SHA256
<ca>
-----BEGIN CERTIFICATE-----
[Your CA Certificate]
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
[Client Certificate]
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
[Client Key]
-----END PRIVATE KEY-----
</key>
```
Замените `YOUR_SERVER_IP` и `YOUR_SERVER_PORT` на IP-адрес и порт вашего сервера OpenVPN.
10. Закройте и сохраните файл конфигурации.
11. Повторите шаги 7-10 для каждого клиента.
12. Запустите сервер OpenVPN:
```shell
sudo systemctl start openvpn@server
```
Убедитесь, что сервис запущен без ошибок.
После выполнения всех этих шагов ваш OpenVPN сервер будет
Если у вас установлена ОС виртуального выделенного сервера (VDS) и вы хотите использовать его только с VPN, то рекомендуется установить Pritunl. Pritunl представляет собой готовый набор для настройки OpenVPN с веб-интерфейсом, и его установка достаточно проста. Вы сможете настроить VPN всего в несколько кликов мышкой через веб-интерфейс.