נאָוואַדייַס, VPN טעכנאָלאָגיע ווערט מער פאָלקס. פּראָסט יוזערז נוצן VPN צו בעשאָלעם אַקסעס די אינטערנעט. עס אויך העלפּס באַקומען אַרום לאָוקאַלי אפגעשטעלט וועבסיטעס און באַדינונגס און באַשיצן קעגן מעגלעך פונדרויסנדיק בייזע נאַטור. ווען איר קאַנעקטינג צו אַ VPN סערווער, עס איז אַ זיכער טונעל צווישן דיין קאָמפּיוטער און די סערווער וואָס קענען ניט זיין אַקסעסט פֿון אַרויס, אַזוי דער VPN סערווער ווערט דיין אינטערנעט אַקסעס פונט. עס זענען אַ פּלאַץ פון וופּן באַדינונגס דאָרט, ביידע פריי און באַצאָלט, אָבער אויב זיי טאָן ניט אַרבעט פֿאַר איר פֿאַר עטלעכע סיבה, איר קענען שטענדיק קאַנפיגיער דיין אייגענע וופּן סערווער.
צו לויפן אייער אייגענעם VPN, זאָלט איר דינגען אַ VPS סערווער . עס איז פֿאַראַן פֿאַרשידענע ווייכווארג וואָס לאָזט אייך שאַפֿן אַ VPN פֿאַרבינדונג. זיי אונטערשיידן זיך איינע פֿון די אַנדערע לויט די אָפּערירן סיסטעמען וואָס ווערן געשטיצט און די אַלגעריטמען וואָס ווערן גענוצט. מיר וועלן קוקן אויף צוויי אומאָפּהענגיקע צוגאַנגען צו סעטאַפּן אַ VPN סערווער. דער ערשטער איז באַזירט אויף אַ PPTP פּראָטאָקאָל, וואָס ווערט שוין באַטראַכט ווי אַלטמאָדיש און נישט זיכער, אָבער איז גאַנץ גרינג צו קאָנפיגורירן. דער צווייטער ניצט מאָדערנע און זיכערע ווייכווארג OpenVPN, אָבער פֿאָדערט די אינסטאַלאַציע פֿון אַ דריט-פּאַרטיי קליענט אַפּליקאַציע און אַ מער גרינטלעכן סעטאַפּ פּראָצעס.
אין אונדזער פּראָבע סוויווע, מיר וועלן נוצן אַ ווירטואַל סערווער פּאַוערד דורך Ubuntu Server 18.04. א פיירוואַל וועט זיין סוויטשט אַוועק אויף די סערווער ווייַל זיין קאַנפיגיעריישאַן פארדינט אַ באַזונדער אַרטיקל. מיר וועלן באַשרייַבן די סעטאַפּ פּראָצעס אויף Windows 10.
צוגרייטונג
ניט קיין ענין וואָס וופּן סערווער איר קלייַבן, דער אינטערנעץ אַקסעס וועט זיין שטעלן אַרויף דורך ינאַגרייטיד מיטל פון די אָפּערייטינג סיסטעם. אין סדר צו עפֿענען אינטערנעט אַקסעס דורך אַ פונדרויסנדיק סערוויס צובינד, איר מוזן לאָזן פּאַקאַט פאָרווערדינג צווישן די ינטערפייסיז און קאַנפיגיער נעץ אַדרעס איבערזעצונג.
כדי צו אנצושליסן פאקעט פארווערדינג, עפנט די טעקע "/etc/sysctl.conf" און טוישט דעם פאראמעטער ווערט "net.ipv4.ip_forward" צו 1.
אין סדר צו צולייגן ענדערונגען אָן ריסטאַרטינג די קאָמפּיוטער, לויפן די באַפֿעל
sudo sysctl -p /etc/sysctl.conf
נעץ אַדרעס איבערזעצונג ווערט קאָנפיגורירט דורך די מיטלען פון iptables . ערשטנס, קאָנטראָלירט דעם נאָמען פון אייער עקסטערנאַל נעץ צובינד דורך לויפן דעם באַפֿעל "ip link show" - איר וועט עס דאַרפֿן אין דעם ווייַטער שריט. אונדזער נאָמען איז "ens3".
געבן נעץ אַדרעס איבערזעצונג אין דיין פונדרויסנדיק צובינד פֿאַר אַלע היגע נעץ נאָודז.
sudo iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
באַמערקונג אַז איר דאַרפֿן צו ספּעציפיצירן די פאַקטיש נאָמען פון דיין סערווער ס צובינד, עס קען זיין אַנדערש פון אונדזער.
דורך דיפאָלט, ווערן אַלע כּללים באשאפן דורך iptables איבערגעשטעלט נאָכדעם וואָס דער סערווער ריסטאַרט. כּדי דאָס צו פאַרמייַדן, ניצט די "iptables-persistent" פּראָגראַמיע. אינסטאַלירט דעם פאָלגנדיקן פּאַקעט:
sudo apt install iptables-persistent
אין א געוויסן פונקט בעת דעם אינסטאַלאַציע פּראָצעס, וועט איר זען אַ קאָנפיגוראַציע פֿענצטער וואָס וועט פֿאָרשלאָגן אַז איר זאָלט שפּאָרן די איצטיקע iptables כּללים. ווײַל די כּללים זענען שוין דעפֿינירט, באַשטעטיקט עס און גיט צוויי מאָל "יאָ" . ווײַל איצט וועלן די כּללים ווערן אויטאָמאַטיש אָנגעווענדט נאָך דעם ווי דער סערווער וועט ווידער ריסטאַרטן.
פּפּטפּ סערווער
סערווירער קאַנפיגיעריישאַן
ינסטאַלירן דעם פּעקל:
sudo apt install pptpd
נאכדעם וואס די אינסטאַלאַציע ענדיגט זיך, עפֿנט די טעקע "/etc/pptpd.conf" אין יעדן טעקסט רעדאַקטאָר און רעדאַקטירט עס אַזוי:
option /etc/ppp/pptpd-options #path to the settings file
logwtmp #client connections logging mechanism
connections 100 #number of simultaneous connections
localip 172.16.0.1 #the address that will serve as a client gateway
remoteip 172.16.0.2-200 #range of addresses
דערנאך, רעדאַקטירט די טעקע "/etc/ppp/pptpd-options" . רובֿ פון די פּאַראַמעטערס זענען איינגעשטעלט דורך דיפאָלט.
#name of the service for new client records
name pptpd
#restrict obsolete authentication methods
refuse-pap
refuse-chap
refuse-mschap
#allow a more secure authentication method
require-mschap-v2
#enable encryption
require-mppe-128
#specify dns servers for clients (use any available servers)
ms-dns 8.8.8.8
ms-dns 8.8.4.4
proxyarp
nodefaultroute
lock
nobsdcomp
novj
novjccomp
nologfd
אין דער נעקסטער שטאפל, וועט איר דארפן שאפן א רעקארד פאר קליענט קאנעקשאנס. לאמיר זאגן אז איר ווילט צולייגן א באניצער "vpnuser" מיטן פאסווארט "1" און ערלויבן דינאמישע אדרעסירן פאר אים. עפנט די טעקע "/etc/ppp/chap-secrets" און לייגט צו די פאלגנדע שורה מיט די באניצער'ס פאראמעטערס אין סוף פון דער טעקע:
vpnuser pptpd 1 *
דער ווערט "pptpd" איז דער נאמען פון דעם סערוויס וואס מיר האבן ספעציפיצירט אין דער טעקע "pptpd-options" . אנשטאט "*" קענט איר ספעציפיצירן א פעסטע IP אדרעס. אין רעזולטאט, זאל דער טעקע "chap-secrets" אויסזען אזוי:
כדי צו צולייגן די סעטינגס, ריסעט דעם pptpd סערוויס און לייג עס צו צום אויטאלאודינג.
sudo systemctl restart pptpd
sudo systemctl enable pptpd
סערווירער קאַנפיגיעריישאַן איז פאַרטיק.
קליענט קאַנפיגיעריישאַן
עפֿנט "אָנהייב" - "סעטטינגס" - "נעטוואָרק און אינטערנעט" - "VPN" און גיט אויף "צולייגן אַ VPN פֿאַרבינדונג".
אַרייַן די פֿאַרבינדונג פּאַראַמעטערס אין די פֿענצטער וואָס עפֿנט זיך און גיט "היט"
- VPN שפּייַזער: "ווינדאָוז (בויט-אין)"
- קשר נאָמען: "vpn_connect" (איר קענען קלייַבן קיין נאָמען)
- סערווירער נאָמען אָדער אַדרעס: (ספּעציפיצירן די פונדרויסנדיק IP אַדרעס פון די סערווער)
- VPN טיפּ: "אַוטאָ"
- טיפּ פון צייכן אין אינפֿאָרמאַציע: "באַניצער נאָמען און פּאַראָל"
- באַניצער נאָמען: vpnuser (נאָמען ספּעסיפיעד אין די "טשאַפּ-סעקרעץ" טעקע אויף די סערווער)
- פּאַראָל: 1 (ווי אין די "טשאַפּ-סעקרעץ" טעקע)
נאכדעם וואס איר וועט ראטעווען די פאראמעטערס, וועט איר זען די נייע VPN קאנעקשאן אין פענצטער. דריקט מיטן לינקן מאשינען אויף דער קאנעקשאן און סעלעקטירט "Connect" . אין פאל פון א געלונגענע קאנעקשאן, וועט איר זען דעם סטאטוס "Connected".
אין די אָפּציעס, וועט איר געפֿינען אינערלעכע אַדרעסן פֿון דעם קליענט און דעם סערווער. פֿעלד "דעסטאַניישאַן אַדרעס" ווײַזט די עקסטערנע סערווער אַדרעס.
ווען פארבונדן, ווערט די אינערליכע IP אדרעס פון דעם סערווער, 172.16.0.1 אין אונדזער פאל, דער דיפאָלט גייטוויי פאר אלע ארויסגייענדיקע פּאַקעטן.
ניצן קיין אָנליין דינסט איר קענען מאַכן זיכער אַז די פונדרויסנדיק IP אַדרעס פון די קאָמפּיוטער איז איצט די זעלבע ווי די IP אַדרעס פון דיין VPN סערווער.
אָפּענוופּן סערווער
סערווירער קאַנפיגיעריישאַן
לאָמיר העכערן די פּערמישאַנז מדרגה פון דעם קראַנט באַניצער ווייַל פֿאַר אונדזער ווייַטער קאַנפיגיעריישאַן מיר דאַרפֿן וואָרצל אַקסעס.
sudo -s
אינסטאלירט אלע נויטיגע פּאַקעטן. מיר וועלן דאַרפֿן דעם "Easy-RSA" פּאַקעט צו פאַרוואַלטן ענקריפּשאַן שליסלען.
apt install openvpn easy-rsa iptables-persistent
ערלויבן אריינקומענדיקע קאנעקשאנס אויף פארט 1194 דורך UDP פראטאקאל און אנwenden iptables רולס.
sudo iptables -I INPUT -p udp --dport 1194 -j ACCEPT
sudo netfilter-persistent save
שאַפֿט אַ דירעקטאָרי מיט קאָפּירטע טעקעס פֿון דעם "Easy-RSA" פּעקל און נאַוויגירט אַרײַן אין אים.
make-cadir ~/openvpn
cd ~/openvpn
דזשענערירן עפנטלעכע שליסל אינפראַסטרוקטור (PKI).
./easyrsa init-pki
דזשענערירן דעם סערטיפיקאַט אויטאָריטעט (CA) וואָרצל סערטיפיקאַט.
./easyrsa build-ca
בעת דעם שאַפונג פּראָצעס, וועט מען אייך בעטן צו שטעלן און געדענקען אַ פּאַראָל. איר וועט אויך דאַרפֿן צו ענטפֿערן פֿראַגעס און אַרײַנשרייַבן אינפֿאָרמאַציע וועגן דעם שליסל באַזיצער. איר קענט לאָזן די פעליקייַט ווערטן וואָס זענען געגעבן אין קוואַדראַטישע קלאַמערן. דריקן "ענטער" צו ענדיקן דעם אַרייַנשרייַב.
שאַפֿן אַ פּריוואַטן שליסל און אַ סערטיפֿיקאַט בקשה. אַלס אַן אַרגומענט, ספּעציפֿיצירן אַן אַרביטראַריש נאָמען; אין אונדזער פֿאַל, איז עס "vpn-server".
./easyrsa gen-req vpn-server nopass
לאָזט דעם "Common Name" ווערט ווי די פעליקייט.
אונטערשרייבט די גענערירטע סערווער סערטיפיקאט פארלאנג.
./easyrsa sign-req server vpn-server
ביי דעם שריט, ענטפערט "יא" צו באשטעטיגן די אונטערשריפט, און דערנאך גיט אריין דאס פאסווארט וואס איז געשאפן געווארן בעת די רוט סערטיפיקאט דזשענעראציע.
שאַפֿן דיפֿי-העלמאַן פּאַראַמעטערס. די פּאַראַמעטערס ווערן גענוצט פֿאַר זיכערן שליסל אויסטויש צווישן דעם סערווער און דעם קליענט.
./easyrsa gen-dh
אַלע נייטיקע טעקעס זענען גענערירט געוואָרן. לאָמיר שאַפֿן אַ "keys" טעקע אין דער OpenVPN אַרבעט דירעקטאָרי צו האַלטן די שליסלען און קאָפּירן די באשאפן טעקעס דאָרט.
mkdir /etc/openvpn/keys
sudo cp pki/ca.crt pki/issued/vpn-server.crt pki/private/vpn-server.key pki/dh.pem /etc/openvpn/keys
קאָנפיגורירן NAT ניצנדיק iptables רעגולאציעס. שאַפֿן אַ טעקע מיטן נאָמען nat און עפֿענען עס פֿאַר רעדאַקטירן אין די /etc/openvpn/ directory.
#!/bin/sh
# Reset firewall settings
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
# (eth0 in our case, may vary)
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# (eth0 in our case, may vary)
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
# Allow OpenVPN connections (eth0 in our case, may vary)
iptables -A INPUT -i eth0 -p udp --dport 1194 -j ACCEPT
iptables -A INPUT -i tun0 -j ACCEPT
# (eth0 in our case, may vary):
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
# (eth0 in our case, may vary)
iptables -A FORWARD -i eth0 -o tun0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Enable masquerading for the local network (eth0 in our case, may vary)
iptables -t nat -A POSTROUTING -o eth0 -s 10.8.0.0/24 -j MASQUERADE
# Deny incoming connections from outside
iptables -A INPUT -i eth0 -j DROP
# Deny transit traffic from outside (eth0 in our case, may vary)
iptables -A FORWARD -i eth0 -o tun0 -j DROP
sudo netfilter-persistent save
ראַטעוועט די טעקע און מאַכט עס עקסעקוטאַבאַל.
sudo chmod 755 /etc/openvpn/nat
קאָפּיר די סערווער קאָנפיגוראַציע טעמפּלאַט.
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/
עפֿנט די טעקע "/etc/openvpn/server.conf" פֿאַר רעדאַקטירן, מאַכט זיכער אַז עס כּולל די פֿאָלגנדיקע שורות, און רעדאַקטירט זיי אויב נייטיק:
#Port, protocol, and interface
port 1194
proto udp
dev tun
#Path to the encryption keys
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/vpn-server.crt
key /etc/openvpn/keys/vpn-server.key
dh /etc/openvpn/keys/dh.pem
#SHA256 Hashing Algorithm
auth SHA256
#Switching off additional encryption
#tls-auth ta.key 0
#Network parameters
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist /var/log/openvpn/ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
#Ping every 10 seconds to check the connection.
keepalive 10 120
#Set up AES-256 encryption for the tunnel.
cipher AES-256-GCM
#Demoting the service OpenVPN after launch
user nobody
group nogroup
#Switching on parameters saving after reboot
persist-key
persist-tun
#Set log verbosity
verb 3
#Redirecting logs
log-append /var/log/openvpn/openvpn.log
#Script the rule installation launch.
up /etc/openvpn/nat
אקטיוויזירן טראַפיק פאָרווערדינג אויף דעם סערווער.
sudo sysctl -w net.ipv4.ip_forward=1
echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.conf
אָנהייבן OpenVPN צו צולייגן די קאָנפיגוראַציע.
systemctl restart openvpn@server
די סערווער קאַנפיגיעריישאַן איז פאַרטיק!
קליענט קאַנפיגיעריישאַן
גייט צו דער אפיציעלער וועבזייטל פון OpenVPN " https://openvpn.net ", גייט צו דער "COMUNITY" סעקציע.
סקראל אַראָפּ און דאַונלאָוד די אינסטאַללער פֿאַר אייער אָפּערייטינג סיסטעם ווערסיע. אין אונדזער פאַל, איז עס Windows 11 ARM64.
ינסטאַלירן די אַפּלאַקיישאַן און לאָזן אַלע פּאַראַמעטערס דורך פעליקייַט.
אין דער ווייַטער בינע איר דאַרפֿן צו צוגרייטן די פאלגענדע טעקע אויף די סערווער און אַריבערפירן זיי צו די קליענט קאָמפּיוטער:
- ציבור און פּריוואַט שליסלען;
- קאָפּיע פון די סערטאַפאַקיישאַן צענטער שליסל;
- קאָנפיג טעקע מוסטער.
פֿאַרבינדט זיך צום סערווער, פֿאַרבעסערט די פּריווילעגיעס, און גייט צו אונדזער באַשאַפֿענער דירעקטאָרי "~/openvpn".
sudo -s
cd ~/openvpn
שאַפֿן אַ פּריוואַטן שליסל און אַ סערטיפֿיקאַט בקשה פֿאַר דעם קליענט. אַלס אַן אַרגומענט, ספּעציפֿיצירן אַן אַרביטראַריש נאָמען; אין אונדזער פֿאַל, איז עס "קליענט1".
./easyrsa gen-req client1 nopass
אַרייַן דעם פּאַראָל וואָס מיר האָבן באַשטימט ווען מיר האָבן באשאפן דעם וואָרצל סערטיפיקאַט און לאָזט דעם "Common Name" ווערט ווי די פעליקייַט.
אונטערשרייבט די גענערירטע קליענט סערטיפיקאט פארלאנג.
./easyrsa sign-req client client1
ביי דעם שריט, ענטפערט "יא" צו באשטעטיגן די אונטערשריפט, און דערנאך גיט אריין דאס פאסווארט וואס איז געשאפן געווארן בעת די רוט סערטיפיקאט דזשענעראציע.
פאר באקוועמליכקייט, לאָמיר שאַפֿן אַ טעקע מיטן נאָמען 'client1' אין דער היים דירעקטאָרי און קאָפּירן אַלע טעקעס בדעה פֿאַר טראַנספער צו די קליענט קאָמפּיוטער אַרײַן אין אים.
mkdir ~/client1
cp pki/issued/client1.crt pki/private/client1.key pki/ca.crt ~/client1/
קאפיר די קליענט קאנפיג טעקע טעמפלאט צו דער זעלבער דירעקטארי. טויש די טעקע עקסטענשאן צו ".ovpn" בשעת'ן קאפירן.
cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client1/client.ovpn
ענדערן דעם אייגענטימער פון דעם דירעקטארי און אלע טעקעס "~/client1/" כדי צו קענען זיי פארטיילן צום קליענט. לאמיר מאכן "mihail" דעם אייגענטימער אין אונזער פאל.
chown -R mihail:mihail ~/client1
גייט צום קליענט קאמפיוטער און קאפיר דעם אינהאלט פון דער "~/client1/" טעקע. איר קענט דאס טון מיט דער הילף פון "PSCP" פראגראם, וואס גייט מיט Putty.
PSCP -r mihail@[IP_сервера]:/home/mihail/client1 c:\client1
איר קענט אפהיטן שליסל טעקעס "ca.crt" , "client1.crt" , "client1.key" וואו איר ווילט. אין אונדזער פאל, זענען זיי אין דעם טעקע "c:\Program Files\OpenVPN\keys" , און מיר לייגן דעם קאנפיג טעקע "client.ovpn" אין דעם "c:\Program Files\OpenVPN\config" דירעקטארי.
איצט לאָמיר זיך נעמען צו קאָנפיגורירן דעם קליענט. עפֿנט דעם טעקע "c:\Program Files\OpenVPN\config\client.ovpn" אין אַ טעקסט רעדאַקטאָר און רעדאַקטירט די פֿאָלגנדיקע שורות:
#announce that this is the client
client
#interface and protocol just like on the server
dev tun
proto udp
#IP address of the server and port
remote ip_address 1194
#saving parameters after reload
persist-key
persist-tun
#key paths
ca “c:\\Program Files\\OpenVPN\\keys\\ca.cert”
cert “c:\\Program Files\\OpenVPN\\keys\\client1.crt”
key “c:\\Program Files\\OpenVPN\\keys\\client1.key”
#enable server verification
remote-cert-tls server
#disable extra encryption
#tls-auth ta.key 1
cipher AES-256-CBC
auth-nocache
verb 3
לאָזן די מנוחה אַנאַטירלעך.
ראַטעוועט די טעקע און עפֿנט די קליענט אַפּליקאַציע "OpenVPN GUI".
רעכט-קליק אויף די אַפּ בילדל אין די טאַסקבאַר און קלייַבן "פאַרבינדן" . אויב די פֿאַרבינדונג איז געראָטן וועט די בילדל ווערן גרין.
ניצן קיין אָנליין סערוויס צו מאַכן זיכער אַז דיין עפנטלעך IP אַדרעס איז פארענדערט און איז איצט די זעלבע ווי די IP אַדרעס פון די סערווער.