ძირითადი შინაარსიდან გადასვლა

OpenVPN- ის ინსტალაცია და კონფიგურაცია Debian 8-ზე



OpenVPN არის პროგრამული პაკეტი, რომელიც საშუალებას გაძლევთ დაიცვას მომხმარებლის ტრაფიკი "ჩამორთმევა" მიერ დაშიფრული მონაცემთა გადაცემით კლიენტის აპარატის სერვერთან OpenVPN- ის დამონტაჟებით. დიდი სარგებელისთვის გამოიყენეთ საზოგადოებრივი WiFi- ის წვდომის წერტილები, სადაც ინფორმაცია შეიძლება მესამე მხარის მიერ მოხდეს. ან იმ შემთხვევაში, როდესაც თქვენი IP დაბლოკილია გარკვეულ საიტზე და თქვენ უნდა უსაფრთხოდ გადალახოს ეს შეზღუდვა.



სერვერზე OpenVPN- ის ინსტალაციისა და კონფიგურაციის გარდა, თქვენ უნდა შეძლოთ კლიენტის კონფიგურაცია კომპიუტერიდან, სადაც Windows გამოყენებული იქნება როგორც ოპერაციული სისტემა.

სტანდარტული პაკეტის მენეჯერის გამოყენებით, დააინსტალირეთ openvpn.

  # aptitude install openvpn 

სტატიის შინაარსი:

სერტიფიკატის შექმნა

OpenVPN აუცილებლად მოითხოვს სერვერებისა და კლიენტების სერტიფიკატების თაობას. ეს არის ლოგიკური, რადგან კლიენტიდან სერვერზე უნდა დაშიფრულიყო.



ნავიგაცია openvpn საქაღალდეში:

  # cd / etc / openvpn 

ჩვენ გამოვიყენებთ გასაღებები მარტივად.

შექმენით საქაღალდე კონფიგურაციის ფაილებთან და სერტიფიკატის დამწერლობის სკრიპტებთან:


  # გააკეთე კადირ რაზა
 # cd rsa 

გახსენით vars კონფიგურაციის ფაილი და შეცვალოთ პარამეტრები:

  ექსპორტი KEY_COUNTRY = "აშშ"
 ექსპორტი KEY_PROVINCE = "CA"
 ექსპორტი KEY_CITY = "სანფრანცსკო"
 ექსპორტი KEY_ORG = "Fort-Funston"
 ექსპორტი KEY_EMAIL = "me@myhost.mydomain"

KEY_COUNTRY - შეიყვანეთ ქვეყნის კოდი (RU, UA და ა.შ.);
KEY_PROVINCE - ეს საქონელი არ არის შესაბამისი, თუ არ ცხოვრობთ შეერთებულ შტატებში. :) თქვენ შეგიძლიათ შეცვალოთ XX;
KEY_CITY - თქვენი ქალაქი, სადაც თქვენ ცხოვრობთ;
KEY_EMAIL - თქვენი ელექტრონული ფოსტის მისამართი.

და ასევე uncomment ექსპორტის KEY_CN ხაზი, რომლის ღირებულება განსაზღვრავს სერვერის სახელი:

  ექსპორტი KEY_CN = "example.com" 

ყველა ცვლადი ივსება ლათინურ ენაზე.

შეინახეთ ფაილი და აწარმოებს:

  #  vars 

შემდეგ დაიწყეთ ძველი სერტიფიკატების წაშლა:

  # 

ძიების სერთიფიკატის შექმნა:

  # ./build-ca 

თუ error:0E065068:configuration file routines:STR_COPY:variable has no value:conf_def.c:618:line 198 სერტიფიკატის გენერირება მოხდა შეცდომის error:0E065068:configuration file routines:STR_COPY:variable has no value:conf_def.c:618:line 198 , დაამატეთ ხაზი Vars ფაილი:

  ექსპორტი KEY_ALTNAMES = "რაღაც" 

და შემდეგ ხელახლა აწარმოებს წინა ბრძანებებს: vars, ./clean-all, ./build-ca.

შემდეგი ნაბიჯი არის გასაღები და სერვერის სერტიფიკატის შექმნა.

  # ./build-key- სერვერის სერვერი 

შემდეგ კი კლიენტისთვის სერთიფიკატი და გასაღები შექმნა:

  # ./build-key კლიენტი 

გთხოვთ, გაითვალისწინოთ: თითოეული კლიენტისთვის თქვენ უნდა მოახდინოთ საკუთარი სერთიფიკატი და გასაღები. თქვენ უბრალოდ უნდა მიუთითოთ სხვადასხვა სახელები (კლიენტის ნაცვლად) და კონფიგურაციის ფაილებში მათთვის ბილიკების შეცვლა. ამავდროულად, შეგიძლიათ დაიცვას კლიენტების გასაღებები პაროლით, ამისათვის გამოიყენეთ ბრძანება build-key- პასის ნაცვლად build-key.

შემდეგი, თქვენ უნდა შექმნათ Diffie-Hellman გასაღები გამოიყენოს Forward Secrecy:

  # ./build-dh 

და გასაღები tls ავტორიზაციის:

  # openvpn --genkey --secret /etc/openvpn/ta.key 

ახლა თქვენ უნდა დააკოპიროთ სერთიფიკატები და გასაღებები OpenVPN პარამეტრების საქაღალდეში:

  # cp keys / ca.crt keys / server.crt keys / server.key გასაღებები / dh2048.pem / etc / openvpn / 

და ასევე დააყენა მათ უფლებები, რომელიც საშუალებას იძლევა კითხულობს და იცვლება მხოლოდ მათი მფლობელი.

  # chmod 0600 /etc/openvpn/ca.crt /etc/openvpn/server.crt /etc/openvpn/server.key /etc/openvpn/dh2048.pem /etc/openvpn/ta.key 

დარწმუნდით, რომ თქვენს კომპიუტერში კოპირება, მაგალითად, დესკტოპის, გასაღებები საქაღალდედან, კლიენტების დამაკავშირებლად საჭირო გასაღები : client.crt , client.key , ca.crt , ta.key .

ეს ასრულებს სერტიფიკატის მომზადების პროცესს.

სერვერი კონფიგურაცია

In / usr / share / doc / openvpn / დირექტორია არსებობს მაგალითი ფაილი გახსნის OpenVpn სერვერზე. დააკოპირეთ / etc / openvpn / directory და unzip:

  cd / etc / openvpn; cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz / etc / openvpn /; gunzip server.conf.gz 

ახლა ჩვენ განიხილავს საჭირო პარამეტრების openvpn მუშაობა.

პორტი, რომელზეც Openvpn მიიღებს კავშირებს. By default, 1194. ვურჩევ მას შეცვალოს, რათა დაიმალოს იგი. თქვენ შეგიძლიათ გაეცნოთ openvpn ვებ-სერვერის ქვეშ, რომელიც განსაზღვრავს პორტს 80-ს.

  პორტი 20100 

რეგისტრაცია გზავნილების სერტიფიკატის ფაილების და სერვერის გასაღების შესახებ.

  ca ca.crt
 სერვერი სერვერი
 გასაღები სერვერი 

გზას გასაღები Diffie-Hellman.

  dh dh2048.pem 

ორივე ბილიკები შედარებით / etc / openvpn დირექტორია (თუ ფაილი მდებარეობს მასში) და აბსოლუტური შეიძლება იყოს მითითებული.

იპოვეთ და შეუკვეთეთ ხაზი:

  ბიძგი "გადამისამართება-კარიბჭე def1 bypass-dhcp" 

საჭიროა ინტერნეტის ხელმისაწვდომობა OpenVPN სერვერის საშუალებით. თუ ეს არ არის გამოუყენებელი, ქსელში მხოლოდ კომპიუტერი ხელმისაწვდომი იქნება.

თქვენ ასევე უნდა მიუთითოთ DNS სერვერები კლიენტებთან დაკავშირების მიზნით.

  დააყენებს "dhcp-option DNS 213.183.57.55"
 დააყენებს "dhcp- ვარიანტი DNS 87.98.175.85" 

სერვერის ადგილმდებარეობის მიხედვით, შეგიძლიათ აირჩიოთ სხვა დნმ-სერვერები, მაგალითად, პროექტის OpenNIC .

შემდეგი, მოძებნა და uncomment tls-auth პარამეტრი.

  tls-auth ta.key 0 

ყურადღება! კლიენტის პარამეტრებში, ამ პარამეტრის ბოლო ციფრი უნდა შეიცვალოს 1 -tls-auth ta.key 1 .

მხოლოდ ქვემოთ კონფიგურაციის ფაილი შემდეგნაირად ჩამონათვალი ხელმისაწვდომი ciphers. გამოაცხადეთ AES-128-CBC ცipher.

  cipher AES-128-CBC # AES 

საჭიროების შემთხვევაში, ის შეიძლება შეიცვალოს AES-256-CBC- ით . კლიენტის კონფიგურაციის ფაილში, საიდუმლო უნდა იყოს იდენტური სერვერზე.

ასევე დაამატეთ ავტო პარამეტრი. თავდაპირველად, 160-bit sha1 გასაღებები გამოიყენება ავტორიზაციისთვის, მაგრამ sha1 ალგორითმი აღიარებულია, როგორც დაუცველი. გამოყენებული იქნება შემდეგი პარამეტრის მითითებით, გამოყენებული იქნება SHA512 გასაღებები 512 ბიტის სიგრძით.

  auth SHA512 

ისევე როგორც პარამეტრი tls-version-min, რომელიც განსაზღვრავს ვერსია tls გამოიყენება. ამ შემთხვევაში, უახლესი ვერსია 1.2. ყურადღება! ქსელის მენეჯერი ამ პარამეტრს მხარს არ უჭერს (წერის დროს). ამიტომ, თუ თქვენ აპირებთ VPN სერვერთან დაკავშირებას ქსელის მენეჯერის მეშვეობით, მაშინ ეს პარამეტრი სერვერზე არ არის მითითებული.

  tls- ვერსია-მინ 1.2 

OpenVPN არ უნდა იყოს გაშვებული როგორც root. აქედან გამომდინარე, ხაზების გაერთიანება:

  არავის არ აქვს
 ჯგუფი nogroup 

ეს არ იქნება ზედმეტია იმისათვის, რომ გახსენით OpenVPN- ის ჟურნალი. განსაკუთრებით, პირველად გამოყენების შემდეგ tuning ეძებს შეცდომები და ა.შ.

  log /var/log/openvpn.log 

დატოვეთ ყველა სხვა პარამეტრი /etc/openvpn/server.conf კონფიგურაციის ფაილი default values. ეს ასრულებს OpenVPN სერვერის კონფიგურაციას.

გააქტიურება openvpn ბრძანებით:

  # systemctl enable openvpn 

და გადატვირთეთ:

  # სერვისი openvpn გადატვირთვა 

ასევე სასარგებლოა შეცდომების შესამოწმებლად შეცდომები.

მოძრაობის გადატვირთვა OpenVPN- ის საშუალებით

სერვერზე openvpn- ის საშუალებით ინტერნეტთან წვდომისთვის, ამისათვის საჭიროა ამის გაკეთება.

1. კონფიგურაცია sysctl

კონსოლში აწარმოებს ბრძანება:

  # sysctl net.ipv4.ip_forward 

თუ ბრძანების გამომუშავება ტოლია net.ipv4.ip_forward = 1 , მაშინ არაფერი შეცვლის საჭიროებას. თუ ცვლადის ღირებულება 0 არის 0, მაშინ შემდეგი ხაზი უნდა დაემატოს /etc/sysctl.conf ფაილი:

  net.ipv4.ip_forward = 1 

და განაახლეთ წესები ბრძანებით:

  # sysctl -p 

2. iptables კონფიგურაცია

ალტერნატიულად, აწარმოებს შემდეგ ბრძანებებს კონსოლში:

  # iptables -A FORWARD -i eth0 -o tun0 -m სახელმწიფო - სტაბილური დამონტაჟდა, ამავე თემაზე
 # iptables -A FORWARD- ის 10.8.0.0/24 -o eth0 -j ACCEPT
 # iptables -t nat-a POSTROUTING -s 10.8.0.0/24 -o eth0 -j masquerade 

ამგვარად, ჩვენ შეგვიძლია დავუშვათ გადაზიდვა OpenVPN სერვერზე ქვენეტისთვის 10.8.0.0 უკვე არსებული კავშირების ფარგლებში.

თუ openvpn კლიენტს სერვერის კონკრეტული IP მისამართი უნდა მიენიჭოს, მაშინ წინა ბრძანების ნაცვლად წინა პიტების სიიდან iptables- სთვის, თქვენ უნდა აწარმოოთ ეს:

  -A POSTOUTING- ს 10.8.0.0/24 -o eth0 -j SNAT - დან 127.0.0.1 

სადაც პარამეტრის - წყაროს შემდეგ, უნდა მიუთითოთ გარე IP სერვერი.

OpenVPN კლიენტი Windows- ზე

გახსენით Openvpn კლიენტის შექმნა Windows- ზე. აქ ყველაფერი მარტივია: კლიენტის ოფიციალური საიტიდან გადმოტვირთვა , ინსტალაცია, კონფიგურაციის ფაილი შექმნა და გაშვება.

უნდა აღინიშნოს, რომ აუცილებელია Windows- ზე openvpn- ის გახსნას ადმინისტრატორის უფლებები, თუ ანგარიშების კონტროლი აქტიურია.

თუ არ შეცვლილა საინსტალაციო გზა, მაშინ თქვენი კომპიუტერის კონფიგურაციის ფაილების მაგალითები განთავსებულია C: \ Program Files \ OpenVPN \ sample-config- ში . დააკოპირეთ client.ovpn ფაილი აქედან და განათავსეთ იგი C: \ Program Files \ OpenVPN \ config- ის დირექტორიაში.

შეამოწმეთ კლიენტისთვის შექმნილი სერტიფიკატები? მათ ასევე უნდა გადმოწერილი სერვერიდან და გადაწერილი ამ დირექტორიაში.

გახსენით client.ovpn კონფიგურაციის ფაილი და იპოვოთ დისტანციური My-server-1 1194 პარამეტრი. ჩემი სერვერის ნაცვლად, მიუთითეთ თქვენი სერვერის IP ან დომენი. შემდეგ პორტი, რომელიც ადრე შეიცვალა. შედეგად, ხაზი შეიძლება ასე გამოიყურებოდეს:

  დისტანციური 192.168.0.1 20100 

შემდეგი, თქვენ უნდა მიუთითოთ სერტიფიკატის გზა, რომელიც თქვენ სერვერზე გენერირდებიან. თითოეული კლიენტისათვის, გასაღები შექმნილი უნიკალური სახელით, რომელიც კლიენტის ნაცვლად უნდა აღინიშნოს.

  ca ca.crt
 სერტიფიკატი კლიენტი
 გასაღები კლიენტი 

თქვენ ასევე უნდა აღინიშნოს პარამეტრი, რომელიც განსაზღვრავს tls-key- ს გზას.

  tls-auth ta.key 1 

მანამდე უკვე ითქვა, რომ სერვერზე ბოლო ციფრი უნდა იყოს 0-ზე, კლიენტზე - 1.

და ბოლო პარამეტრების არიან cipher, რომ თქვენ დაინსტალირებული სერვერზე.

  cipher AES-128-CBC
 auth SHA512
 tls- ვერსია-მინ 1.2 

ეს არის ყველაფერი, რაც საჭიროა კლიენტის კონფიგურაციისთვის. სცადეთ გაშვებული OpenVPN კლიენტი და დაუკავშირდეთ თქვენს სერვერს. აუცილებელი კავშირი ინფორმაცია გამოჩნდება openvpn GUI- ში.

OpenVPN- სთან NetworkManager- თან

დააყენეთ გრაფიკული ინტერფეისი ქსელის მენეჯერისთვის.

  # aptitude დააყენოთ ქსელის მენეჯერი- openvpn-gnome 

და გადატვირთეთ.

  # მომსახურების ქსელის მენეჯერი გადატვირთვა 

ჩვენ გადაწერეთ კლიენტისთვის გენერირებული სერთიფიკატები კომპიუტერზე თვითნებური საქაღალდეში. მაგალითად, /home/user/.openvpn/.

დააჭირეთ მაუსის მარჯვენა ღილაკს ქსელის მენეჯერის ხატულაზე, აირჩიეთ პუნქტი "შეცვალეთ კავშირები", დაამატეთ "OpenVPN" ტიპის ახალი კავშირი.

добавить новое подключение network manager

მიუთითეთ:

  • კავშირის სახელი
  • Gateway (დომენი ან სერვერი IP)
  • ტიპი: სერთიფიკატები

მომხმარებლის სერტიფიკატი არის სერტიფიკატი, რომელიც ჩვენ კლიენტისთვის კლიენტისთვის (კლიენტისთვის) წარმოიქმნა.
CA სერთიფიკატი - ca.crt ფაილი.
პირადი გასაღები არის კლიენტის გასაღები (კლიენტი.

openvpn новое соединение

დააჭირეთ "Advanced" ღილაკს. ფანჯარაში, რომელიც იხსნება "ზოგადი" tab- ში, თქვენ უნდა შეცვალოთ რამდენიმე ელემენტი.

  • გამოიყენეთ სხვადასხვა კარიბჭე პორტი (სერვერის შექმნისას არასტანდარტული მითითებით)
  • გამოიყენეთ lzo შეკუმშვა

"უსაფრთხოების" ჩანართზე გადართვა. აირჩიეთ საიდუმლო, როგორც სერვერის პარამეტრებში. როგორც ღირებულების hmac ავტორიზაციის პარამეტრი, თქვენ უნდა მიუთითოთ ალგორითმი, როგორც auth ღირებულება სერვერზე. სტატიაში ჩვენ შევარჩიეთ SHA512.

გახსენით TLS ავთენტიფიკაციის ჩანართი და მონიშნეთ შემდეგი ელემენტი:

  • შემოწმება თანხმობა ...
  • გამოიყენეთ დამატებითი TLS ავთენტიფიკაცია

უკანასკნელი პარამეტრისთვის, დააკონკრეტეთ ta.key ფაილების გზა და აირჩიეთ 1. როგორც ქვემოთ ჩამოთვლილი სიიდან ძირითადი მიმართულება, ასევე Windows- ის კონფიგურაციის ფაილი.

კავშირის შენახვა და დაკავშირება. :)

უბრალოდ, ჩვენ ვხედავთ, რომ NM წერს სისტემაში შესვლისას:

  # tail -f / var / log / syslog 


როგორ შეაფასებ სტატიას?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 ( 7 რეიტინგი, საშუალოდ: 5.00 გარეთ 5)
იტვირთება ...

” 14 კომენტარები " OpenVPN- ის ინსტალაცია და კონფიგურაცია Debian 8- ზე "

  1. ავტორი, როგორც მე არ ვცდილობდი, რომ არ გაეცათ იმის გასაგებად, თუ რატომ ვერ ვუკავშირდები ჩემს კლიენტებს, openvpn არ აკეთებს ჟურნალს! მითხარი რა გავაკეთო!

    1. ასე რომ, თქვენ უნდა შეამოწმოთ კლიენტთა ჟურნალი. OpenVPN GUI ასეთი შესვლა აუცილებლად მივყავართ. მარჯვენა ღილაკით -> აჩვენე შესვლა.

      იქნებ მითითება არ არის ინსტრუქციიდან ...

  2. მადლობა, მაგრამ როგორც აღმოჩნდა, აუცილებელი იყო ამის გაკეთება #openvpn /opt/vp/vp.conf და აპლიკაცია hooked up config ფაილი - ჟურნალი წავიდა - მე შევხედე ყველაფერს და გააკეთა VPN მუშაკი.

    აცნობიერებენ სახელმძღვანელოს სახელმძღვანელოს ავტორი. როგორ გააკეთოს გვირაბი სერვერს შორის სერბი და მირიტოკომი. შეაერთეთ მათი ადგილობრივი ქსელი. 2 ბინა.

  3. მადლობა პოსტისთვის. ჯერ კიდევ დაინტერესებულია მობილური კლიენტების შექმნისთვის, როგორიცაა აქ: http://sysadm.pp.ua/linux/shifrovanie/openvpn-client-server.html . შეგიძლიათ გთხოვოთ კარგი და მოსახერხებელი მობილური OpenVPN კლიენტი?

    1. ჩემს Android სმარტფონზე მე ოფიციალურ კლიენტს ვიღებდი OpenVpn- დან "Openvpn connect" - ის მეშვეობით https://play.google.com/store/apps/details?id=net.openvpn.openvpn

      ეს საკმაოდ ადვილია. გენერირებული ფაილების კლიენტი უნდა ატვირთული ნებისმიერი საქაღალდეში ტელეფონის ფლეშ დრაივი. შემდეგ აწარმოეთ Openvpn Connect, აირჩიეთ "იმპორტი" მენიუში, შემდეგ "იმპორტი პროფილი SD ბარათიდან". ფაილი მენეჯერი გაიხსნება, სადაც თქვენ უნდა აირჩიოთ *. Ovpn ფაილი, დააჭირეთ ღილაკს "აირჩიეთ". წარმატებული იმპორტის დადასტურებისას ეკრანზე გამოჩნდება შეტყობინება "პროფილი იმპორტირებული".

      დაკავშირება, დააჭირეთ ღილაკს "დაკავშირება". ეს ყველაფერი. :)

      სხვა კლიენტებთან დაკავშირებით არ ვიცი, მაგრამ ეს დიდი სამუშაოა.

      PS თუ თქვენ აპირებთ დაკავშირება კომპიუტერიდან და ტელეფონიდან ერთდროულად, მაშინ ამ უკანასკნელს უნდა გენერირება თქვენი საკუთარი გასაღები და სერტიფიკატი.

  4. განახლება
    მე -2 პუნქტმა გადაწყვიტა კლიენტის უფლებების დამონტაჟება. ძირითადი გასაღები (აშკარად შეუმჩნეველია ის პირველი). + აუცილებელი იყო TCP კავშირის ტიპის მკაფიოდ განსაზღვრა და ადაპტერის ტიპი - TAP / TUN

  5. ყველაფერს ვაკეთებ ინსტრუქციის მიხედვით, მაგრამ ასეთი პრობლემაა:
    კლიენტი სერვერთან აკავშირებს, მაგრამ ინტერნეტი არ არის. კლიენტი მბრუნებს ორივე VPN 10.8.0.1 სერვერს და ერთგულ სერვერს ip. სერვერებიდან თავად გარე საიტები უპრობლემოდ უპასუხებენ პრობლემებს. აღმოჩნდება, რომ ძაღლი დაკრძალულია სადღაც IPtables და ip.frwarding. რაიმე აზრები? შემიძლია სწრაფად იფიქრო ამ ტყეზე?

    1. აუცილებელია სხვა მარშრუტიზაციის წესების განსაზღვრა
      iptables -t nat-a POSTROUTING -o venet0 -j SNAT- ის IP_ADDRESS_Your_SERVER
      iptables -A FORWARD -i venet0 -o tun0 -m სახელმწიფო-დაკავშირებული მეზობელი, დამტკიცებული- j გადაწყვეტილება
      iptables -A FORWARD -i tun0 -o venet0 -j ACCEPT

კომენტარის დამატება

თქვენი ელფოსტა არ გამოქვეყნდება.