Задать вопрос
@perl-user

Проблема с настройкой OpenVPN сервера и клиента. Как исправить?

Здравствуйте!

Пытаюсь настроить OpenVPN-server на удаленном сервере и OpenVPN-client на локальной машине для совместного использования.

Конфиг сервера
port 1194
proto udp
dev tun

ca /etc/openvpn/certs/ca.crt
cert /etc/openvpn/certs/1.2.3.4.crt
key /etc/openvpn/certs/1.2.3.4.key
crl-verify /etc/openvpn/certs/crl.pem
dh /etc/openvpn/certs/dh.pem
tls-auth /etc/openvpn/certs/ta.key 0

cipher AES-256-CBC

compress lz4-v2
push "compress lz4-v2"

persist-key
persist-tun

server 10.8.0.0 255.255.255.0

ifconfig-pool-persist ipp.txt

max-clients 10
keepalive 10 120

verb 3
explicit-exit-notify 1

Конфиг клиента
client

dev tun
proto udp

remote 1.2.3.4 1194

resolv-retry infinite

nobind

persist-key
persist-tun

ca /etc/openvpn/certs/ca.crt
cert /etc/openvpn/certs/user.crt
key /etc/openvpn/certs/user.key

remote-cert-tls server

tls-auth /etc/openvpn/certs/ta.key 1

cipher AES-256-CBC

verb 3

redirect-gateway def1
dhcp-option DNS 1.1.1.1

При использовании клиентского конфига в Linux с помощью NetworkManager, создается VPN-туннель, весь трафик заворачивается в tun0 и все работает ожидаемым образом.

Но никак не получается использовать этот конфиг из командной строки. После выпонения команды "openvpn --config path/to/client.conf" поднимается интерфейс tun0, прописываются маршруты, но хосты из внешней сети не доступны.

Обратил внимание на то, что маршруты создаваемые NetworkManager немного отличаются от тех, что создаются по умолчанию (различия по метрикам и маскам подсетей). Попробовал вручную настроить маршрутизацию, в точности повторяющую правила NetworkManager, но это не принесло успеха.

Лог запуска клиента
2022-07-24 16:35:29 DEPRECATED OPTION: --cipher set to 'AES-256-CBC' but missing in --data-ciphers (AES-256-GCM:AES-128-GCM). Future OpenVPN version will ignore --cipher for cipher negotiations. Add 'AES-256-CBC' to --data-ciphers or change --cipher 'AES-256-CBC' to --data-ciphers-fallback 'AES-256-CBC' to silence this warning.
2022-07-24 16:35:29 OpenVPN 2.5.1 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on May 14 2021
2022-07-24 16:35:29 library versions: OpenSSL 1.1.1n  15 Mar 2022, LZO 2.10
2022-07-24 16:35:29 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
2022-07-24 16:35:29 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
2022-07-24 16:35:29 TCP/UDP: Preserving recently used remote address: [AF_INET]1.2.3.4:1194
2022-07-24 16:35:29 Socket Buffers: R=[212992->212992] S=[212992->212992]
2022-07-24 16:35:29 UDP link local: (not bound)
2022-07-24 16:35:29 UDP link remote: [AF_INET]1.2.3.4:1194
2022-07-24 16:35:29 TLS: Initial packet from [AF_INET]1.2.3.4:1194, sid=dc13039a 06373e79
2022-07-24 16:35:29 VERIFY OK: depth=1, CN=Easy-RSA CA
2022-07-24 16:35:29 VERIFY KU OK
2022-07-24 16:35:29 Validating certificate extended key usage
2022-07-24 16:35:29 ++ Certificate has EKU (str) TLS Web Server Authentication, expects TLS Web Server Authentication
2022-07-24 16:35:29 VERIFY EKU OK
2022-07-24 16:35:29 VERIFY OK: depth=0, CN=1.2.3.4
2022-07-24 16:35:29 WARNING: 'link-mtu' is used inconsistently, local='link-mtu 1557', remote='link-mtu 1558'
2022-07-24 16:35:29 WARNING: 'comp-lzo' is present in remote config but missing in local config, remote='comp-lzo'
2022-07-24 16:35:29 Control Channel: TLSv1.3, cipher TLSv1.3 TLS_AES_256_GCM_SHA384, 2048 bit RSA
2022-07-24 16:35:29 [1.2.3.4] Peer Connection Initiated with [AF_INET]1.2.3.4:1194
2022-07-24 16:35:31 SENT CONTROL [1.2.3.4]: 'PUSH_REQUEST' (status=1)
2022-07-24 16:35:31 PUSH: Received control message: 'PUSH_REPLY,compress lz4-v2,route 10.8.0.1,topology net30,ping 10,ping-restart 120,ifconfig 10.8.0.6 10.8.0.5,peer-id 1,cipher AES-256-GCM'
2022-07-24 16:35:31 WARNING: Compression for receiving enabled. Compression has been used in the past to break encryption. Sent packets are not compressed unless "allow-compression yes" is also set.
2022-07-24 16:35:31 OPTIONS IMPORT: timers and/or timeouts modified
2022-07-24 16:35:31 OPTIONS IMPORT: compression parms modified
2022-07-24 16:35:31 OPTIONS IMPORT: --ifconfig/up options modified
2022-07-24 16:35:31 OPTIONS IMPORT: route options modified
2022-07-24 16:35:31 OPTIONS IMPORT: peer-id set
2022-07-24 16:35:31 OPTIONS IMPORT: adjusting link_mtu to 1624
2022-07-24 16:35:31 OPTIONS IMPORT: data channel crypto options modified
2022-07-24 16:35:31 Data Channel: using negotiated cipher 'AES-256-GCM'
2022-07-24 16:35:31 Outgoing Data Channel: Cipher 'AES-256-GCM' initialized with 256 bit key
2022-07-24 16:35:31 Incoming Data Channel: Cipher 'AES-256-GCM' initialized with 256 bit key
2022-07-24 16:35:31 net_route_v4_best_gw query: dst 0.0.0.0
2022-07-24 16:35:31 net_route_v4_best_gw result: via 10.133.17.222 dev eno1
2022-07-24 16:35:31 ROUTE_GATEWAY 10.133.17.222/255.255.255.224 IFACE=eno1 HWADDR=38:2c:4a:71:51:ba
2022-07-24 16:35:31 TUN/TAP device tun0 opened
2022-07-24 16:35:31 net_iface_mtu_set: mtu 1500 for tun0
2022-07-24 16:35:31 net_iface_up: set tun0 up
2022-07-24 16:35:31 net_addr_ptp_v4_add: 10.8.0.6 peer 10.8.0.5 dev tun0
2022-07-24 16:35:31 net_route_v4_add: 1.2.3.4/32 via 10.133.17.222 dev [NULL] table 0 metric -1
2022-07-24 16:35:31 net_route_v4_add: 0.0.0.0/1 via 10.8.0.5 dev [NULL] table 0 metric -1
2022-07-24 16:35:31 net_route_v4_add: 128.0.0.0/1 via 10.8.0.5 dev [NULL] table 0 metric -1
2022-07-24 16:35:31 net_route_v4_add: 10.8.0.1/32 via 10.8.0.5 dev [NULL] table 0 metric -1
2022-07-24 16:35:31 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
2022-07-24 16:35:31 Initialization Sequence Completed

Подозреваю, что банально чего-то не хватает в файлах конфигурации.
Что я делаю не так? Как заставить OpenVPN-client заработать из командной строки?

UPD Дополню, что на сервере используется Debian 10, на локальной машине LMDE4.
  • Вопрос задан
  • 749 просмотров
Подписаться 1 Простой 6 комментариев
Пригласить эксперта
Ответы на вопрос 1
@dpvpro
root@openvpn:/etc/openvpn# cat server.conf
port 1194
proto udp
multihome
dev tun
user nobody
group nogroup
persist-key
persist-tun
keepalive 10 120
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "dhcp-option DNS 192.168.10.144"
push "dhcp-option DNS 192.168.10.17"
push "dhcp-option DNS 192.168.10.18"
#push "route 10.200.0.0 255.255.255.0"
push "route 192.168.0.0 255.255.240.0"
push "route 192.168.150.0 255.255.255.0"
#push "redirect-gateway"
dh none
ecdh-curve prime256v1
tls-crypt tls-crypt.key 0
crl-verify crl.pem
ca ca.crt
cert server.crt
key server.key
auth SHA256
cipher AES-256-CBC
ncp-ciphers AES-128-GCM:AES-256-CBC
tls-server
tls-version-min 1.2
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256
status /var/log/openvpn/status.log
verb 3
duplicate-cn


Конфиг рабочего сервера openvpn. Скорее всего нужно пограться с параметрами "push route" и "push redirect-gateway". На сервере Debian 11.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы