Настройка OpenVPN клиента в Linux Mint с помощью Network Manager.

Продолжаем знакомство с OpenVPN. В данной статье я расскажу как настроить подключение к OpenVPN на примере операционной системы Linux Mint 18.2 "Sonya".

В предыдущей статье, описывающей установку OpenVPN сервера, мы сгенерировали ключи и сертификаты для клиента.

  • ca.crt - корневой CA-сертификат
  • ta.key - HMAC ключ
  • client.crt - сертификат клиента
  • client.key - ключ клиента

Создайте каталог client-keys в /etc/openvpn и скопируйте в него указанные файлы.

mkdir /etc/openvpn/client-keys

Заодно создадим каталог для логов.

mkdir /var/log/openvpn

В Linux Mint 18.2 "Sonya" по умолчанию уже установлен openvpn версии 2.3.10, который выше не обновляется, по крайней мере из системных репозиториев. Поэтому я использую конфигурацию с обычным LZO-сжатием и алгоритмом шифрования AES-256-CBC.

Сервер.

# Порт сервера
port  443
# Протокол передачи трафика
proto udp
# Сетевой интерфейс
dev   tun

# Ключи и сертификаты сервера
dh   /etc/openvpn/server-keys/dh2048.pem
ca   /etc/openvpn/server-keys/ca.crt
key  /etc/openvpn/server-keys/server.key
cert /etc/openvpn/server-keys/server.crt

# HMAC ключ и алгоритм хэширования ключа
tls-auth /etc/openvpn/server-keys/ta.key 0
auth SHA512

# Используемая подсеть
server 172.16.150.0 255.255.255.0
# Указание клиенту использовать шлюз сервера
push "redirect-gateway def1 bypass-dhcp"

# Алгоритм шифрования
cipher AES-256-CBC

# Использовать сжатие трафика
comp-lzo

# Использовать размер MTU по умолчанию
mssfix 0

# Пинг клиентов
keepalive 10 120

# Если сервер на основе CentOS, то group nobody
# Если сервер на основе Debian/Ubuntu, то group nogroup
user root
group nobody

# При перезапуске не изменять tun / не перепроверять ключи
persist-key
persist-tun

# Лог-файлы
log    /var/log/openvpn/server.log
status /var/log/openvpn/server-status.log
# Подробность логов
verb 3
# Запись не более 20-и одинаковых сообщений
mute 20

Клиент.

# Работать в режиме клиента
client

# IP-адрес и порт VPN сервера 
# ХХ.ХХ.ХХ.ХХ заменить на ip-адрес своего сервера
remote XX.XX.XX.XX 443

# Протокол передачи трафика
proto udp
# Сетевой интерфейс
dev   tun

# Ключи и сертификаты клиента
ca   /etc/openvpn/client-keys/ca.crt
key  /etc/openvpn/client-keys/client.key
cert /etc/openvpn/client-keys/client.crt

# HMAC ключ и алгоритм хэширования ключа
tls-auth /etc/openvpn/client-keys/ta.key 1
auth SHA512

# Проверка серверных сертификатов
remote-cert-tls server

# Не сохранять пароли в виртуальной памяти
auth-nocache

# Алгоритм шифрования
cipher AES-256-CBC
 
# Использовать сжатие трафика
comp-lzo
 
# Использовать размер MTU по умолчанию
mssfix 0

# Если клиент на основе CentOS, то group nobody
# Если клиент на основе Debian/Ubuntu, то group nogroup
user root
group nogroup
 
# При перезапуске не изменять tun / не перепроверять ключи
persist-key
persist-tun
 
# Лог-файлы
log    /var/log/openvpn/client.log
status /var/log/openvpn/client-status.log
# Подробность логов
verb 3
# Запись не более 20-и одинаковых сообщений
mute 20

Network Manager ручная настройка

Кликните по сетевому соединению, рядом с часами, выберите "Параметры сети".

openvpn linux mint

В окне "Сеть" нажмите плюсик под списком соединений, выберите VPN подключение.

openvpn linux mint

Выберите тип VPN подключения - OpenVPN (Совместим с сервером OpenVPN).

openvpn linux mint

В окне "Add Network Connection" на вкладке "Идентификация" задаем имя соединения, шлюз (ХХ.ХХ.ХХ.ХХ - ip-адрес сервера) и порт через двоеточие. Выбираем тип аутентификации - Сертификаты (TLS), указываем расположение файлов ключей и сертификатов клиента.

openvpn linux mint

Нажимаем кнопку "Дополнительно". На вкладке "Общие" отмечаем галочками опции эквивалентные клиентской конфигурации.

  • comp-lzo - Использовать для данных сжатие LZO
  • dev tun - Set virtual device type: TUN
  • mssfix 0 - Ограничить максимальный размер сегмента TCP(MSS) туннеля (не работает, можно не отмечать, MTU всегда будет равен 1345), привожу просто для справки. Поскольку Network Manager-ом не пользуюсь, то не стал разбираться что к чему.

openvpn linux mint

Выбираем алгоритм шифрования и HMAC аутентификацию на вкладке "Безопасность".

  • cipher AES-256-CBCAES-256-CBC
  • auth SHA512 - SHA-512

openvpn linux mint

На вкладке "Аутентификация TLS" отмечаем "Использовать дополнительную аутентификацию TLS" и указываем на файл ta.key. Так как это клиент, то в направлении ключа выбираем единицу.

Также отмечаем галочкой "Verify peer (server) certificate usage signature" в значении "Remote peer certificate TLS type" выбираем Server, это будет соответствовать опции - remote-cert-tls server.

openvpn linux mint

На этом настройка завершена, нажимаем ОК, потом нажимаем Add. Новое соединение должно появиться в списке доступных соединений.

openvpn linux mintNetwork Manager импорт из файла

Все что было описано выше, можно сделать проще. Создайте файл client.ovpn в каталоге /etc/openvpn и добавьте в него нужные настройки (конфиг клиента).

nano /etc/openvpn/client.ovpn

Содержимое файла client.ovpn.

# Работать в режиме клиента
client

# IP-адрес и порт VPN сервера 
# ХХ.ХХ.ХХ.ХХ заменить на ip-адрес своего сервера
remote XX.XX.XX.XX 443

# Протокол передачи трафика
proto udp
# Сетевой интерфейс
dev   tun

# Ключи и сертификаты клиента
ca   /etc/openvpn/client-keys/ca.crt
key  /etc/openvpn/client-keys/client.key
cert /etc/openvpn/client-keys/client.crt

# HMAC ключ и алгоритм хэширования ключа
tls-auth /etc/openvpn/client-keys/ta.key 1
auth SHA512

# Проверка серверных сертификатов
remote-cert-tls server

# Не сохранять пароли в виртуальной памяти
auth-nocache

# Алгоритм шифрования
cipher AES-256-CBC
 
# Использовать сжатие трафика
comp-lzo
 
# Использовать размер MTU по умолчанию
mssfix 0

# Если клиент на основе CentOS, то group nobody
# Если клиент на основе Debian/Ubuntu, то group nogroup
user root
group nogroup
 
# При перезапуске не изменять tun / не перепроверять ключи
persist-key
persist-tun
 
# Лог-файлы
log    /var/log/openvpn/client.log
status /var/log/openvpn/client-status.log
# Подробность логов
verb 3
# Запись не более 20-и одинаковых сообщений
mute 20

Кликните по сетевому соединению, рядом с часами, выберите "Параметры сети".

openvpn linux mint

В окне "Сеть" нажмите плюсик под списком соединений, выберите VPN подключение.

openvpn linux mint

Тип VPN подключения выбираем - Import from file.

openvpn linux mint

Выберите созданный файл client.ovpn и нажмите Open.

openvpn linux mint

Настройки будут импортированы и автоматически применены. Новое соединение будет носить имя файла из которого происходил импорт.

Кликните по сетевому соединению и активируйте подключение.

openvpn linux mint

После активации появится сообщение что соединение установлено, можно начинать работу.

Ответить:

Please enter your comment!
Please enter your name here