Как настроить strongswan для подключения к внешнему серверу?

Как настроить VPN туннель так, чтобы клиент имел доступ только к серверу, а сервер имел доступ к заказчику, при этом заказчик был ограничен доступом только к подсети сервера? Важно также учитывать, что текущая конфигурация не предоставляет доступ клиенту к серверу.
  • 13 июня 2024 г. 16:21
Ответы на вопрос 1
Для настройки strongSwan для подключения к внешнему серверу, необходимо отредактировать файл конфигурации strongSwan (обычно находится в /etc/ipsec.conf) и добавить соответствующие параметры. Например:

```
conn myvpn
   keyexchange=ikev2
   ike=aes256-sha1-modp1024!
   esp=aes256-sha1!
   left=%defaultroute
   leftsubnet=0.0.0.0/0
   leftauth=pubkey
   right=<внешний_ip_сервера>
   rightsubnet=192.168.1.0/24
   rightauth=pubkey
   auto=start
```

Для настройки VPN туннеля так, чтобы клиент имел доступ только к серверу, а сервер имел доступ к заказчику, при этом заказчик был ограничен доступом только к подсети сервера, можно использовать ACL (Access Control List). Например, можно добавить следующие параметры в конфигурацию strongSwan:

```
conn myvpn
    left=внешний_ip_клиента
    leftsubnet=внутренняя_подсеть_клиента
    right=внешний_ip_сервера
    rightsubnet=внутренняя_подсеть_сервера
    auto=start
    # включаем сегментацию трафика, чтобы разрешить только определенные взаимодействия
    install_routes = no
```

При этом следует убедиться, что настройки firewall (iptables) на сервере и клиенте соответствуют этим ограничениям.

Чтобы предотвратить доступ клиента к серверу, можно использовать ACL для блокировки пакетов от клиента к серверу, например:

```
iptables -I INPUT -s внешний_ip_клиента -d внешний_ip_сервера -j DROP
``` 

После внесения необходимых изменений в конфигурацию strongSwan и настройки firewall, следует перезапустить службу strongSwan для применения изменений:

```
sudo systemctl restart strongswan
```
Похожие вопросы