OpenVPN. Клиент подключен. Нет перенаправления трафика.

Вопрос или проблема

Сервер Openvpn установлен на CentOS 9 на удаленном VPS.

Режим tun настроен.

Сервер OVPN был установлен через https://github.com/angristan/openvpn-install

Введены команды для брандмауэра:

semanage port -a -t openvpn_port_t -p tcp 11994;
semanage port -a -t openvpn_port_t -p udp 11994
firewall-cmd --zone=public --add-port=11994/tcp --permanent;
firewall-cmd --zone=public --add-port=11994/udp --permanent;
firewall-cmd --zone=public --add-service openvpn;
firewall-cmd --zone=public --add-service openvpn --permanent;
firewall-cmd --reload;
firewall-cmd --add-masquerade;
firewall-cmd --add-masquerade --permanent;
firewall-cmd --query-masquerade;
VAR=$(ip route get 1.1.1.1 | awk 'NR==1 {print $(NF-2)}')
firewall-cmd --permanent --direct --passthrough ipv4 -t nat -A POSTROUTING -s 10.8.0.0/24 -o $VAR -j MASQUERADE;
firewall-cmd --reload;

Пакет networkmanager-openvpn является клиентом OVPN на моем ноутбуке.

Файл user.ovpn был загружен и вставлен в клиент OVPN.

Я подключился к серверу, но никаких перенаправлений трафика не произошло.

Это журналы клиента OVPN без какой-либо криминальной информации:

5:54 Note: Kernel support for ovpn-dco missing, disabling data channel offload.
5:54 OpenVPN 2.6.12 [git:makepkg/038a94bae57a446c+] x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] [DCO] built on Jul 18 2024
5:54 library versions: OpenSSL 3.2.0 23 Nov 2023, LZO 2.10
5:54 DCO version: N/A
5:54 TCP/UDP: Preserving recently used remote address: [AF_INET]REMOTE_MACHINE_IP:11994
5:54 Socket Buffers: R=[212992->212992] S=[212992->212992]
5:54 UDPv4 link local: (not bound)
5:54 UDPv4 link remote: [AF_INET]REMOTE_MACHINE_IP:11994
5:54 TLS: Initial packet from [AF_INET]REMOTE_MACHINE_IP:11994, sid=4a8064ba 3cb81744
5:54 VERIFY OK: depth=1, CN=cn_qHIl2i2Rlyyfw4WD
5:54 VERIFY KU OK
5:54 Validating certificate extended key usage
5:54 ++ Certificate has EKU (str) TLS Web Server Authentication, expects TLS Web Server Authentication
5:54 VERIFY EKU OK
5:54 VERIFY X509NAME OK: CN=server_A7vEzNqMWKlJHLcR
5:54 VERIFY OK: depth=0, CN=server_A7vEzNqMWKlJHLcR
5:54 Control Channel: TLSv1.3, cipher TLSv1.3 TLS_AES_256_GCM_SHA384, peer certificate: 256 bits ECprime256v1, signature: ecdsa-with-SHA256, peer temporary key: 256 bits ECprime256v1
5:54 [server_A7vEzNqMWKlJHLcR] Peer Connection Initiated with [AF_INET]REMOTE_MACHINE_IP:11994
5:54 TLS: move_session: dest=TM_ACTIVE src=TM_INITIAL reinit_src=1
5:54 TLS: tls_multi_process: initial untrusted session promoted to trusted
5:54 PUSH: Received control message: 'PUSH_REPLY,dhcp-option DNS 208.67.222.222,dhcp-option DNS 208.67.220.220,redirect-gateway def1 bypass-dhcp,tun-ipv6,route-ipv6 2000::/3,redirect-gateway ipv6,tun-ipv6,route-gateway 10.8.0.1,topology subnet,ping 10,ping-restart 120,ifconfig-ipv6 fd42:42:42:42::2/112 fd42:42:42:42::1,ifconfig 10.8.0.2 255.255.255.0,peer-id 0,cipher AES-128-GCM'
5:54 WARNING: You have specified redirect-gateway and redirect-private at the same time (or the same option multiple times). This is not well supported and may lead to unexpected results
5:54 OPTIONS IMPORT: --ifconfig/up options modified
5:54 OPTIONS IMPORT: route options modified
5:54 OPTIONS IMPORT: route-related options modified
5:54 OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
5:54 net_route_v4_best_gw query: dst 0.0.0.0
5:54 net_route_v4_best_gw result: via 192.168.0.2 dev wlan0
5:54 ROUTE_GATEWAY 192.168.0.2/255.255.255.0 IFACE=wlan0 HWADDR=84:7b:57:67:69:0c
5:54 GDG6: remote_host_ipv6=n/a
5:54 net_route_v6_best_gw query: dst ::
5:54 sitnl_send: rtnl: generic error (-101): Network is unreachable
5:54 ROUTE6: default_gateway=UNDEF
5:54 TUN/TAP device tun0 opened
5:54 net_iface_mtu_set: mtu 1500 for tun0
5:54 net_iface_up: set tun0 up
5:54 net_addr_v4_add: 10.8.0.2/24 dev tun0
5:54 net_iface_mtu_set: mtu 1500 for tun0
5:54 net_iface_up: set tun0 up
5:54 net_addr_v6_add: fd42:42:42:42::2/112 dev tun0
5:54 net_route_v4_add: REMOTE_MACHINE_IP/32 via 192.168.0.2 dev [NULL] table 0 metric -1
5:54 net_route_v4_add: 0.0.0.0/1 via 10.8.0.1 dev [NULL] table 0 metric -1
5:54 net_route_v4_add: 128.0.0.0/1 via 10.8.0.1 dev [NULL] table 0 metric -1
5:54 add_route_ipv6(2000::/3 -> fd42:42:42:42::1 metric -1) dev tun0
5:54 net_route_v6_add: 2000::/3 via :: dev tun0 table 0 metric -1
5:54 add_route_ipv6(::/3 -> fd42:42:42:42::1 metric -1) dev tun0
5:54 net_route_v6_add: ::/3 via :: dev tun0 table 0 metric -1
5:54 add_route_ipv6(2000::/4 -> fd42:42:42:42::1 metric -1) dev tun0
5:54 net_route_v6_add: 2000::/4 via :: dev tun0 table 0 metric -1
5:54 add_route_ipv6(3000::/4 -> fd42:42:42:42::1 metric -1) dev tun0
5:54 net_route_v6_add: 3000::/4 via :: dev tun0 table 0 metric -1
5:54 add_route_ipv6(fc00::/7 -> fd42:42:42:42::1 metric -1) dev tun0
5:54 net_route_v6_add: fc00::/7 via :: dev tun0 table 0 metric -1
5:54 Initialization Sequence Completed
5:54 Data Channel: cipher 'AES-128-GCM', peer-id: 0
5:54 Timers: ping 10, ping-restart 120
5:54 Protocol options: explicit-exit-notify 1
5:56 event_wait : Interrupted system call (fd=-1,code=4)

Это журналы сервера OVPN на удаленном VPS с моим подключением и без какой-либо криминальной информации снова:

7:48 openvpn[55133]: user/MY_MACHINE_IP:54417 SIGUSR1[soft,ping-restart] received, client-instance restarting
7:48 openvpn[55133]: user/MY_MACHINE_IP:54417 [user] Inactivity timeout (--ping-restart), restarting
3:48 openvpn[55133]: user/MY_MACHINE_IP:54417 SENT CONTROL [user]: 'PUSH_REPLY,dhcp-option DNS 208.67.222.222,dhcp-option DNS 208.67.220.220,redirect-gateway def1 bypass-dhcp,tun-ipv6,rout>
3:48 openvpn[55133]: user/MY_MACHINE_IP:54417 Incoming Data Channel: Cipher 'AES-128-GCM' initialized with 128 bit key
3:48 openvpn[55133]: user/MY_MACHINE_IP:54417 Outgoing Data Channel: Cipher 'AES-128-GCM' initialized with 128 bit key
3:48 openvpn[55133]: user/MY_MACHINE_IP:54417 MULTI: primary virtual IPv6 for user/MY_MACHINE_IP:54417: fd42:42:42:42::2
3:48 openvpn[55133]: user/MY_MACHINE_IP:54417 MULTI: Learn: fd42:42:42:42::2 -> user/MY_MACHINE_IP:54417
3:48 openvpn[55133]: user/MY_MACHINE_IP:54417 MULTI: primary virtual IP for user/MY_MACHINE_IP:54417: 10.8.0.2
3:48 openvpn[55133]: user/MY_MACHINE_IP:54417 MULTI: Learn: 10.8.0.2 -> user/MY_MACHINE_IP:54417
3:48 openvpn[55133]: user/MY_MACHINE_IP:54417 MULTI_sva: pool returned IPv4=10.8.0.2, IPv6=fd42:42:42:42::2
3:48 openvpn[55133]: MY_MACHINE_IP:54417 [user] Peer Connection Initiated with [AF_INET6]::ffff:MY_MACHINE_IP:54417
3:48 openvpn[55133]: MY_MACHINE_IP:54417 Control Channel: TLSv1.3, cipher TLSv1.3 TLS_AES_256_GCM_SHA384, peer certificate: 256 bit EC, curve prime256v1, signature: ecdsa-with-SHA256
3:48 openvpn[55133]: MY_MACHINE_IP:54417 peer info: IV_COMP_STUBv2=1
3:48 openvpn[55133]: MY_MACHINE_IP:54417 peer info: IV_COMP_STUB=1
3:48 openvpn[55133]: MY_MACHINE_IP:54417 peer info: IV_LZO_STUB=1
3:48 openvpn[55133]: MY_MACHINE_IP:54417 peer info: IV_PROTO=990
3:48 openvpn[55133]: MY_MACHINE_IP:54417 peer info: IV_CIPHERS=AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305
3:48 openvpn[55133]: MY_MACHINE_IP:54417 peer info: IV_NCP=2
3:48 openvpn[55133]: MY_MACHINE_IP:54417 peer info: IV_MTU=1600
3:48 openvpn[55133]: MY_MACHINE_IP:54417 peer info: IV_TCPNL=1
3:48 openvpn[55133]: MY_MACHINE_IP:54417 peer info: IV_PLAT=linux
3:48 openvpn[55133]: MY_MACHINE_IP:54417 peer info: IV_VER=2.6.12
3:48 openvpn[55133]: MY_MACHINE_IP:54417 VERIFY OK: depth=0, CN=user
3:48 openvpn[55133]: MY_MACHINE_IP:54417 VERIFY OK: depth=1, CN=cn_qHIl2i2Rlyyfw4WD
3:48 openvpn[55133]: MY_MACHINE_IP:54417 TLS: Initial packet from [AF_INET6]::ffff:MY_MACHINE_IP:54417, sid=b652188d 79e81fe0
3:48 openvpn[55133]: MY_MACHINE_IP:54417 Incoming Control Channel Encryption: Using 256 bit message hash 'SHA256' for HMAC authentication
3:48 openvpn[55133]: MY_MACHINE_IP:54417 Incoming Control Channel Encryption: Cipher 'AES-256-CTR' initialized with 256 bit key
3:48 openvpn[55133]: MY_MACHINE_IP:54417 Outgoing Control Channel Encryption: Using 256 bit message hash 'SHA256' for HMAC authentication
3:48 openvpn[55133]: MY_MACHINE_IP:54417 Outgoing Control Channel Encryption: Cipher 'AES-256-CTR' initialized with 256 bit key
2:59 openvpn[55133]: Initialization Sequence Completed
2:59 openvpn[55133]: IFCONFIG POOL LIST
2:59 openvpn[55133]: NOTE: IPv4 pool size is 253, IPv6 pool size is 65534. IPv4 pool size limits the number of clients that can be served from the pool
2:59 openvpn[55133]: IFCONFIG POOL IPv6: base=fd42:42:42:42::2 size=65534 netbits=112
2:59 openvpn[55133]: IFCONFIG POOL IPv4: base=10.8.0.2 size=253
2:59 openvpn[55133]: MULTI: multi_init called, r=256 v=256
2:59 openvpn[55133]: UID set to nobody
2:59 openvpn[55133]: GID set to nobody
2:59 openvpn[55133]: UDPv6 link remote: [AF_UNSPEC]
2:59 openvpn[55133]: UDPv6 link local (bound): [AF_INET6][undef]:11994
2:59 openvpn[55133]: setsockopt(IPV6_V6ONLY=0)
2:59 openvpn[55133]: Socket Buffers: R=[212992->212992] S=[212992->212992]
2:59 openvpn[55133]: net_addr_v6_add: fd42:42:42:42::1/112 dev tun0
2:59 openvpn[55133]: net_iface_up: set tun0 up
2:59 openvpn[55133]: net_iface_mtu_set: mtu 1500 for tun0
2:59 openvpn[55133]: net_addr_v4_add: 10.8.0.1/24 dev tun0
2:59 openvpn[55133]: net_iface_up: set tun0 up
2:59 openvpn[55133]: net_iface_mtu_set: mtu 1500 for tun0
2:59 openvpn[55133]: TUN/TAP device tun0 opened
2:59 openvpn[55133]: Incoming Control Channel Encryption: Using 256 bit message hash 'SHA256' for HMAC authentication
2:59 openvpn[55133]: Incoming Control Channel Encryption: Cipher 'AES-256-CTR' initialized with 256 bit key
2:59 openvpn[55133]: Outgoing Control Channel Encryption: Using 256 bit message hash 'SHA256' for HMAC authentication
2:59 openvpn[55133]: Outgoing Control Channel Encryption: Cipher 'AES-256-CTR' initialized with 256 bit key
2:59 openvpn[55133]: ECDH curve prime256v1 added
2:59 openvpn[55133]: CRL: loaded 1 CRLs from file crl.pem
2:59 systemd[1]: Started OpenVPN service for server.

Хорошо, согласен, у меня нет знаний. Но, пожалуйста, помогите мне. Я потратил 2 дня, и ничего не изменилось.

Я не знаю, что делать и где копать.

Возможно, проблема в iptables/nftables? Мне нужно настроить какое-то пересылку?

UPD
это правила iptables

sudo iptables -L -v -n | more
Chain INPUT (policy ACCEPT 33934 packets, 9787K bytes)
 pkts bytes target     prot opt in     out     source               destination         
   43 12364 ACCEPT     17   --  ens192 *       0.0.0.0/0            0.0.0.0/0            udp dpt:11994
    0     0 ACCEPT     0    --  tun0   *       0.0.0.0/0            0.0.0.0/0           

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
   17  1088 ACCEPT     0    --  tun0   ens192  0.0.0.0/0            0.0.0.0/0           
   17  1847 ACCEPT     0    --  ens192 tun0    0.0.0.0/0            0.0.0.0/0           

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination  

это server.conf

port 11994
proto udp6
dev tun
user nobody
group nobody
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 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
push "redirect-gateway def1 bypass-dhcp"
server-ipv6 fd42:42:42:42::/112
tun-ipv6
push tun-ipv6
push "route-ipv6 2000::/3"
push "redirect-gateway ipv6"
dh none
ecdh-curve prime256v1
tls-crypt tls-crypt.key
crl-verify crl.pem
ca ca.crt
cert server_A7vEzNqMWKlJHLcR.crt
key server_A7vEzNqMWKlJHLcR.key
auth SHA256
cipher AES-128-GCM
ncp-ciphers AES-128-GCM
tls-server
tls-version-min 1.2
tls-cipher TLS-....
client-config-dir /etc/openvpn/ccd
status /var/log/openvpn/status.log
verb 3

Ответ или решение

Проблема с OpenVPN: Клиент подключен, но нет перенаправления трафика

Описание проблемы

На сервере OpenVPN, установленном на CentOS 9 на удаленном VPS, клиент успешно подключается, однако трафик не перенаправляется. Это может быть связано с несколькими проблемами — от конфигурации сетевого интерфейса до настроек firewall.

Шаги по устранению неисправностей

1. Проверка конфигурации сервера OpenVPN

Ваш файл конфигурации сервера (server.conf) выглядит в целом корректно. Однако обратите внимание на следующие моменты:

  • Убедитесь, что директива proto соответствует протоколу, который вы используете на клиенте. В вашей конфигурации указано proto udp6, что означает, что сервер слушает только на IPv6. Если ваш клиент использует IPv4, измените на proto udp или proto udp4.

2. Проверка конфигурации клиента

Убедитесь, что в файле .ovpn вашего клиента указано следующее:

proto udp
remote REMOTE_MACHINE_IP 11994

Также удостоверьтесь, что указанные IP-адреса DNS правильно настроены.

3. Настройки маршрутизации и перенаправление трафика

Для того чтобы трафик успешно проходил через сервер OpenVPN, необходимо выполнить следующие действия:

  1. Включите IP маршрутизацию на сервере:

    Добавьте или измените следующую строку в файле /etc/sysctl.conf:

    net.ipv4.ip_forward = 1

    Затем примените изменения:

    sudo sysctl -p
  2. Настройки iptables:

    Убедитесь, что iptables настроены правильно для маршрутизации трафика. На основе предоставленных вами правил iptables, убедитесь, что у вас есть следующее правило для NAT:

    iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o ens192 -j MASQUERADE

    Если вы используете unit-файлы с nftables, аналогичные правила могут выглядеть иначе, и вам следует удостовериться в их корректной реализации.

4. Правильная настройка Firewall

Ваши команды firewall-cmd также выглядят корректно, но вот что можно проверить:

  • Убедитесь, что правила активны:

    firewall-cmd --list-all
  • Проверьте, включает ли активная зона правила для сервиса OpenVPN.

5. Проверка подключения клиента

Во время подключения клиента посмотрите, что происходит в логах как клиента, так и сервера. Убедитесь, что клиент не игнорирует Push-сообщения, содержащие команды для перенаправления трафика:

PUSH: Received control message: 'PUSH_REPLY,dhcp-option DNS 208.67.222.222,dhcp-option DNS 208.67.220.220,redirect-gateway def1 bypass-dhcp, ...

Обратите внимание на предупреждение:

WARNING: You have specified redirect-gateway and redirect-private at the same time

Это может вызвать конфликты. Убедитесь, что вы не используете параметры, которые могут конфликтовать друг с другом.

6. Проверка логов

Логи на сервере:

  • Убедитесь, что сервер OpenVPN запущен без ошибок. Все сообщения об ошибках или предупреждениях могут дать подсказки о причине проблемы.

Логи клиента:

  • Логи клиента могут содержать полезную информацию. Внимательно изучите их на предмет ошибок, связанных с маршрутизацией.

7. Проверка сетевого подключения

Проверьте, работает ли:

  • Убедитесь, что ваш клиент после подключения может «пинговать» IP-адреса, находящиеся за VPN (например, сокурсора 10.8.0.1 – IP-сервер VPN).
  • Передайте интернет-трафик через VPN.

Заключение

Согласно вашему описанию, проблема может быть вызвана многими факторами. Проверьте вышеперечисленное пошагово. Если проблема все еще остается, возможно, потребуется более глубокий анализ конфигурации оборудования и сетевого окружения.

Оцените материал
Добавить комментарий

Капча загружается...