Am încercat să funcționeze de ceva timp, am un server openvpn (instalat folosind Angristan https://github.com/angristan/openvpn-install ) pe Openvz 7 vps care rulează debian 10 . Deci, majoritatea lucrurilor de configurare au fost gestionate de acesta.A creat un fișier de configurare a clientului (myClient.ovpn) pe care l-am descărcat pe client.
Pe client (care este linux mint 20.3), testez conectarea folosind:
openvpn --client --config myClient.ovpn
Se conectează bine, acum pot face ping la gateway-ul vpn, adică. (de la client):
PING 10.8.0.1 (10.8.0.1) 56(84) octeți de date.
64 de octeți din 10.8.0.1: icmp_seq=1 ttl=64 time=87,9 ms
64 de octeți din 10.8.0.1: icmp_seq=2 ttl=64 time=86,6 ms
64 de octeți din 10.8.0.1: icmp_seq=3 ttl=64 time=86,6 ms
^C
--- 10.8.0.1 statistici ping ---
3 pachete transmise, 3 primite, 0% pierdere de pachete, timp 2003 ms
rtt min/avg/max/mdev = 86,551/87,041/87,946/0,640 ms
Dar nu pot da ping pe google sau orice altceva, se pare că problema de rutare/NAT nu pot găsi nicio vină cu cunoștințele mele limitate:
ping 8.8.8.8
eșuează.
Dns funcționează corect ca și cum aș folosi ping yahoo.com, apoi se rezolvă la IP-ul yahoo, dar din nou nu poate ping.
$ ping yahoo.com
PING yahoo.com (74.6.143.25) 56(84) octeți de date.
--- statistici ping pe yahoo.com ---
4 pachete transmise, 0 primite, 100% pierdere de pachete, timp 3154 ms```
Detalii server:
Versiunea Openvpn:
~# openvpn --version
OpenVPN 2.4.7 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] construit pe 28 aprilie 2021
versiuni de bibliotecă: OpenSSL 1.1.1d 10 septembrie 2019, LZO 2.10
Dezvoltat inițial de James Yonan
uname -a
~#uname -a
Linux mySerer.domainHost.com 4.19.0 #1 SMP marți 25 august 11:59:26 MSK 2020 x86_64 GNU/Linux
Notă: Este un vps bazat pe openvz 7
Configurare server:
Server
cat /etc/openvpn/server.conf
portul 2220
proto udp
dev tun
utilizator nimeni
grup fără grup
cheie-persiste
persist-tun
menține în viață 10 120
subrețea topologică
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
apăsați „dhcp-option DNS 208.67.222.222”
apăsați „dhcp-option DNS 208.67.220.220”
push "redirect-gateway def1 bypass-dhcp"
dh nici unul
curba ecdh prime256v1
tls-crypt tls-crypt.key
crl-verify crl.pem
ca ca.crt
cert server_JCJHDggypybdTuKJ.crt
cheie server_JCJHDggypybdTuKJ.key
auth SHA256
cifrul AES-128-GCM
ncp-cifre AES-128-GCM
tls-server
tls-version-min 1.2
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256
client-config-dir /etc/openvpn/ccd
stare /var/log/openvpn/status.log
verbul 4
Detalii de rețea după pornirea serverului openvpn:
~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue stare UNKNOWN grup implicit qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft pentru totdeauna preferred_lft pentru totdeauna
inet6 ::1/128 scope host
valid_lft pentru totdeauna preferred_lft pentru totdeauna
2: venet0: <BROADCAST,POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue stare UNKNOWN grup implicit
link/gol
inet 127.0.0.1/32 scope host venet0
valid_lft pentru totdeauna preferred_lft pentru totdeauna
inet Y.Y.Y.Y/32 brd Y.Y.Y.Y scope global venet0:0
valid_lft pentru totdeauna preferred_lft pentru totdeauna
inet6 2402:x:x:x:x::dc37/80 domeniu global
valid_lft pentru totdeauna preferred_lft pentru totdeauna
inet6 ::2/128 scope global
valid_lft pentru totdeauna preferred_lft pentru totdeauna
7: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN grup implicit qlen 500
link/niciuna
inet 10.8.0.1/24 brd 10.8.0.255 scope global tun0
valid_lft pentru totdeauna preferred_lft pentru totdeauna
inet6 fe80::505f:b97:1101:5f33/64 scope link stabil-confidențialitate
valid_lft pentru totdeauna preferred_lft pentru totdeauna
Pe server (reguli iptables)
iptables -t nat -L -n -v
PRERUTARE în lanț (politica ACCEPT 0 pachete, 0 octeți)
pkts bytes target prot opt in out source destination
INTRARE în lanț (politica ACCEPT 0 pachete, 0 octeți)
pkts bytes target prot opt in out source destination
POSTROUTING în lanț (politica ACCEPT 0 pachete, 0 octeți)
pkts bytes target prot opt in out source destination
0 0 MASQUERADE toate -- * venet0 10.8.0.0/24 0.0.0.0/0
Ieșire în lanț (politica ACCEPT 0 pachete, 0 octeți)
pkts bytes target prot opt in out source destination
# Avertisment: tabele iptables-legacy sunt prezente, utilizați iptables-legacy pentru a le vedea
Pe server, ruta IP:
$ traseu ip
implicit dev venet0 scope link
10.8.0.0/24 dev tun0 proto kernel scope link src 10.8.0.1
Stare de redirecționare (pe server)
sysctl -a | redirecționare grep
net.ipv4.conf.all.forwarding = 1
net.ipv4.conf.all.mc_forwarding = 0
net.ipv4.conf.default.forwarding = 1
net.ipv4.conf.default.mc_forwarding = 0
net.ipv4.conf.lo.forwarding = 1
net.ipv4.conf.lo.mc_forwarding = 0
net.ipv4.conf.tun0.forwarding = 1
net.ipv4.conf.tun0.mc_forwarding = 0
net.ipv4.conf.venet0.forwarding = 1
net.ipv4.conf.venet0.mc_forwarding = 0
net.ipv6.conf.all.forwarding = 0
net.ipv6.conf.all.mc_forwarding = 0
net.ipv6.conf.default.forwarding = 0
net.ipv6.conf.default.mc_forwarding = 0
net.ipv6.conf.lo.forwarding = 0
net.ipv6.conf.lo.mc_forwarding = 0
net.ipv6.conf.tun0.forwarding = 0
net.ipv6.conf.tun0.mc_forwarding = 0
net.ipv6.conf.venet0.forwarding = 0
net.ipv6.conf.venet0.mc_forwarding = 0
Clientul se poate conecta la VPN, pot face ping la gateway-ul vpn (10.8.0.1), așa cum sa menționat deja mai sus.
ruta pe client după conectarea la VPN:
traseu după conectarea la VPN:
ruta $
Tabelul de rutare IP kernel
Destination Gateway Genmask Flags Metric Ref Utilizare Iface
0.0.0.0 10.8.0.1 128.0.0.0 UG 0 0 0 tun0
implicit CLIENT-HOSTNAME 0.0.0.0 UG 0 0 0 eth0
10.8.0.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0
128.0.0.0 10.8.0.1 128.0.0.0 UG 0 0 0 tun0
SERVER-HOSTNAME CLIENT-HOSTNAME 255.255.255.255 UGH 0 0 0 eth0
192.168.224.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0
În prezent, nu am idei, deși regulile NAT par în regulă pe server, ruta clientului arată și configurația corectă. Din moment ce nu sunt în rețele, nu pot să-mi dau seama. Configurarea unui VPN simplu s-a dovedit a fi costisitoare de timp. Are ceva de-a face cu serverul bazat pe openVZ 7.
CSF funcționează corect, așa că presupun că modulele necesare pentru iptabless sunt disponibile pe server.
perl csftest.pl
Se testează ip_tables/iptable_filter...OK
Se testează ipt_LOG...OK
Se testează ipt_multiport/xt_multiport...OK
Se testează ipt_REJECT...OK
Se testează ipt_state/xt_state...OK
Se testează ipt_limit/xt_limit...OK
Se testează ipt_recent...OK
Se testează xt_connlimit...OK
Se testează ipt_owner/xt_owner...OK
Se testează iptable_nat/ipt_REDIRECT...OK
Se testează iptable_nat/ipt_DNAT...OK
L-am încercat și pe clientul Debian 10, linuxmin 20.x, același comportament, clientul se poate conecta, poate folosi VPN lan dar nu poate naviga pe internet.
Dacă mai este nevoie de ceva, vă rog să-mi spuneți.