# Настройка подключения в  Linux

> Пошаговая настройка VPN-клиента на Linux через IKEv2/StrongSwan и WireGuard - установка пакетов, импорт конфигурации и подключение к серверу Niflheim

Source: https://opennix.org/docs/niflheim/clients/linux/


## Настройка IPSEC 

### Установка необходимых пакетов 

Для разных версий Linux существуют разные команды для установки пакетов IPSEC. Ниже приведен список команды для нескольких дистрибутивов. 

#### Ubuntu

Для установки пакета IPSEC на Ubuntu воспользуйтесь следующей командой:  

```shell
sudo apt-get install strongswan libstrongswan-standard-plugins
```
### Rhel based

Для установки пакета IPSEC на Rhel based воспользуйтесь следующими командами:  

```shell
dnf install epel-release
dnf install strongswan
```
## Настройка подключения IPSEC

1.1. В первую очередь необходимо скопировать с VPN-сервера на ваш Linux-клиент следующие файлы: 

`/opt/niflheim/configs/<external_ip>/ipsec/.pki/certs/<user_name>.crt` в `/etc/ipsec.d/certs`

`/opt/niflheim/configs/<external_ip>/ipsec/.pki/private/<user_name>.key` в `/etc/ipsec.d/private`

`/opt/niflheim/configs/<external_ip>/ipsec/manual/cacert.pem` в `/etc/ipsec.d/cacerts`

1.2. Следующим шагом необходимо обновить IPSEC <SECRET>. Для этого необходимо добавить <user_name>.key в /etc/ipsec.secrets в следующем формате:

```text
<external_ip> : ECDSA <user_name>.key

```
1.3.  Необходимо добавить конфигурацию из файла  `/opt/niflheim/configs/<external_ip>/ipsec/manual/<user_name>.conf` в файл `/etc/ipsec.conf`

1.4. Требуетсся перезапустить IPSEC следующей командой:

```shell
sudo ipsec restart
```
Для подключения к сети используется следующая команда: 

```shell
sudo ipsec up <tunnel_name>
```
Для отключения от сети используется следующая команда:

```shell
sudo ipsec down <tunnel_name>
```

## 2. Настройка WireGuard Клиента

### Установка необходимых пакетов

2.1. В первую очередь необходимо установить Wireguard клиент в соответствии с [официальной документацией](https://www.wireguard.com/install/).

2.2. Чтобы получить файл конфигурации, необходимо выполнить следующие шаги: 
- Подключиться к виртуальной машине через ssh;
- Перейти в каталог /opt/niflheim/configs/<external_ip>;
- Скопировать файл конфигурации wireguard/<user_name>.conf на свой компьютер.

### Настройка

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

```shell
cp <user_name>.conf /etc/wireguard/wg0.conf

```
2.4. Необходимо запустить WireGuard  клиент, выполнив следующую команду:

```shell
sudo systemctl start wg-quick@wg0

```
2.5. При желании можно добавить клиент в автозагрузку, выполнив следующую команду: 

```shell
sudo systemctl enable wg-quick@wg0
```

