Негізгі мазмұнға өту

OpenVPN-ді Debian 8-де орнатыңыз және теңшеңіз



OpenVPN - клиенттің құрылғыдан OpenVPN орнатылған серверге шифрланған деректерді беру арқылы «пайдаланушыдан» трафикті қорғауға мүмкіндік беретін бағдарламалық пакет. Үшінші тараптар ақпаратты ұстап алатын қоғамдық WiFi кіру нүктелерін пайдалану үшін тамаша. Немесе ip сіздің белгілі бір сайтқа тыйым салынған жағдайда және сіз осы шектеулерді қауіпсіз айналып өтуіңіз керек.



Серверде OpenVPN орнату мен теңшеуге қосымша, Windows-ге операциялық жүйе ретінде пайдаланылатын компьютерден қатынасу үшін клиентті теңшеуге болады.

Стандартты пакет менеджерін пайдалану арқылы openvpn орнатыңыз.

  # aptitude openvpn орнату 

Мақала мазмұны:

Сертификаттарды жасау

OpenVPN сервері мен клиенттері үшін сертификаттарды жасауды міндетті түрде талап етеді. Бұл логикалық, өйткені клиентке серверге қосылу шифрлануы керек.



Openvpn қалтасына өтіңіз:

  # cd / etc / openvpn 

Біз жеңіл-rsa арқылы кілттерді шығарамыз.

Конфигурациялық файлдар және сертификат генерациялау сценарийлеріне арналған сілтемелері бар қалтаны жасаңыз:


  # make-cadir rsa
 # cd rsa 

Әдепкі конфигурация файлын ашып, параметрлерді өзгертіңіз:

  экспорт KEY_COUNTRY = «АҚШ»
 экспорт KEY_PROVINCE = «CA»
 экспорт KEY_CITY = «SanFrancisco»
 экспорт KEY_ORG = «Fort-Funston»
 экспорт KEY_EMAIL = «me@myhost.mydomain»

KEY_COUNTRY - елдің кодын (RU, UA және т.б.) енгізіңіз;
KEY_PROVINCE - егер сіз Құрама Штаттарда тұрмасаңыз, бұл тармақ маңызды емес. :) Сіз XX ауыстыра аласыз;
KEY_CITY - сіз тұратын елді;
KEY_EMAIL - сіздің электрондық пошта мекенжайыңыз.

Сондай-ақ, экспорттаудың KEY_CN жолын ескермей, сервер атауын көрсететін мән үшін:

  экспорт KEY_CN = «example.com» 

Барлық айнымалылар латын тілінде толтырылады.

Файлды сақтаңыз және іске қосыңыз:

  #  әдетте 

Содан кейін ескі сертификаттарды жойыңыз:

  # ./clean-all 

Түбірлік сертификатты жасаңыз:

  # ./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 файлға қосыңыз:

  экспорт KEY_ALTNAMES = «бірдеңе» 

Содан кейін алдыңғы пәрмендерді қайта іске қосыңыз :. vars, ./clean-all, ./build-ca.

Келесі қадам - ​​кілтті және сервер сертификатын жасау.

  # ./build-key-server сервері 

Содан кейін клиент үшін сертификат пен кілт жасаңыз:

  # ./build-key клиенті 

Пожалуйста, назар аударыңыз: әр клиентке өзіңіздің сертификатыңызды және кілтіңізді жасауыңыз қажет. Сізге әртүрлі атауларды (клиенттің орнына) көрсету керек және оларды конфигурациялық файлдарда өзгерту керек. Сонымен қатар, клиенттің кілттерін парольмен қорғай аласыз, ол үшін build-key пәрменінің орнына build-key-pass командасын пайдаланыңыз.

Әрі қарай, Diffie-Hellman кілтін жасау үшін Forward Secrecy пайдалану керек:

  # ./build-dh 

Tls түпнұсқалық растамасының кілті:

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

Енді сервер сертификаттарын және кілттерді OpenVPN баптауларының қалтасына көшіру қажет:

  # cp пернелері / ca.crt пернелері / server.crt пернелері / 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 көшірмеңіз .

Бұл сертификаттарды дайындау процесін аяқтайды.

Серверді орнату

/ Usr / share / doc / openvpn / каталогында Openvpn серверін орнатудың үлгісі бар. Оны / etc / openvpn / каталогына көшіріп, ашыңыз:

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

Енді біз openvpn жұмыс істеу үшін қажетті параметрлерді қарастырамыз.

Openvpn қосылымдарды қабылдайтын порт. Әдепкі бойынша, 1194. Мен оны жасыру үшін оны өзгертуді ұсынамын. Сіз 80-портты көрсете отырып, веб-сервер астындағы openvpn-ді жасыра аласыз.

  20100 порты 

Куәліктер файлдарына және сервер кілтіне жолдарды тіркеңіз.

  ca ca.crt
 cert server.crt
 негізгі сервер.key 

Diffie-Hellman кілтінің жолы.

  dh dh2048.pem 

/ Etc / openvpn каталогына (егер файлдар орналасқан болса) және абсолютті көрсетуге болады.

Жолды табыңыз және енгізбеңіз:

  «def-by-pass-dhcp-шлюзін қайта бағыттау» 

OpenVPN сервері арқылы Интернетке қол жеткізу мүмкіндігі болуы керек. Егер ол мәлімдеме жасалмаса, желі ішіндегі компьютерлер ғана қол жетімді болады.

Сондай-ақ, клиенттерді қосу үшін DNS серверлерін көрсету қажет.

  «dhcp-option DNS 213.183.57.55»
 «dhcp-option DNS 87.98.175.85» басу 

Сервердің орналасуына қарай, басқа DNS-серверлерді, мысалы, OpenNIC жобасында алуға болады .

Содан кейін, tls-auth параметрін табыңыз және енгізбеңіз.

  tls-auth ta.key 0 

Назар аударыңыз! Клиенттік баптауларда осы параметрдің соңғы санымен ауыстырылуы тиіс 1 - tls-auth ta.key 1 .

Төменде тек конфигурация файлында қол жетімді шифрлердің тізімі келтірілген. AES-128-CBC шифрын бермеңіз.

  AES-128-CBC # AES шифры 

Қажет болса, оны AES-256-CBC ауыстыруға болады. Клиенттің конфигурация файлында шифр сервердің шифры бойынша бірдей болуы керек.

Auth параметрін қосыңыз. Әдепкі бойынша, аутентификация үшін 160-бит sha1 пернелері пайдаланылады, бірақ sha1 алгоритмі осал болып табылады. Келесі параметрді анықтағанда, SHA512 ұзындығы 512 биттің кілттері пайдаланылады.

  SHA512 аутентификациясы 

Қолданылатын tls нұсқасын анықтайтын tls-version-min параметрі сияқты. Бұл жағдайда соңғы нұсқасы - 1.2. Назар аударыңыз! Network Manager бұл параметрді (жазу кезінде) қолдамайды. Сондықтан VPN серверіне Network Manager арқылы қосылуды жоспарласаңыз, онда бұл параметр сервер параметрінде көрсетілмеген.

  tls-version-min 1.2 

OpenVPN түбірі ретінде іске қосылмауы керек. Сондықтан, жолдарды ескермеңіз:

  пайдаланушысы жоқ
 топтық топ 

OpenVPN журналдарын қосу артық болмайды. Әсіресе, қателерді іздеу және т.б.

  log /var/log/openvpn.log 

/Etc/openvpn/server.conf конфигурациялық файлындағы барлық басқа параметрлерді әдепкі мәндермен қалдырыңыз. Бұл OpenVPN серверін орнатуды аяқтайды.

Пәрменмен openvpn іске қосыңыз:

  # systemctl openvpn мүмкіндігін қосыңыз 

Және қайта іске қосыңыз:

  # service openvpn қайта іске қосу 

Қателер үшін журналды тексеру пайдалы.

OpenVPN арқылы трафикті қайта бағыттау

Сервер openvpn арқылы Интернетке қол жеткізу үшін, сіз бұл үшін бірдеңе істеуіңіз керек.

1. sysctl-ді конфигурациялау

Консольде мына пәрменді іске қосыңыз:

  # sysctl net.ipv4.ip_forward 

Егер пәрменнің нәтижесі net.ipv4.ip_forward = 1 тең болса, онда ештеңені өзгертудің қажеті жоқ. Егер айнымалы мән 0 болса, онда келесі жолды /etc/sysctl.conf файлына қосу керек:

  net.ipv4.ip_forward = 1 

Ережелерді командамен қайта жүктеңіз:

  # sysctl -p 

2. iptables параметрлерін конфигурациялау

Сонымен қатар, консольде келесі пәрмендерді іске қосыңыз:

  # iptables -A FORWARD -i eth0 -o tun0 -m state - state ҚҰРЫЛҒАН, ҚАЙТАЛАУ -J ACCEPT
 # iptables -A FORWARD -s 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 POSTROUTING - 10.8.0.0/24 -o eth0 -j SNAT - көзіне 127.0.0.1 

Қайдан көзге параметрден кейін сыртқы ip серверін көрсету керек.

Windows-дегі OpenVPN клиенті

Windows жүйесінде Openvpn клиентін орнатуды бастау. Мұнда барлығы қарапайым: клиентті ресми сайтқа жүктеп , орнатыңыз, конфигурациялық файлды жасаңыз және оны іске қосыңыз.

Тіркелгілерді басқару белсенді болған жағдайда, 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
 cert клиент.crt
 негізгі клиент 

Сондай-ақ, tls-кілт жолын анықтайтын параметрді ескермеуіңіз керек.

  tls-auth ta.key 1 

Бұрын айтылғандай, сервердегі соңғы сан 0 болуы керек, клиентте - 1.

Ал соңғы параметрлер - серверде орнатылған шифрлар.

  AES-128-CBC шифры
 SHA512 аутентификациясы
 tls-version-min 1.2 

Бұл клиентті конфигурациялау үшін қажет. OpenVPN клиентін іске қосып көріңіз және серверге қосылыңыз. Қажетті қосылым туралы ақпарат openvpn gui терезесінде көрсетіледі.

NetworkManager көмегімен OpenVPN

Network Manager үшін графикалық интерфейсті орнатыңыз.

  # aquity-network-manager-openvpn-gnome орнату 

Және қайта іске қосыңыз.

  # сервистік желі менеджерін қайта іске қосу 

Клиентке жасалған сертификаттарды компьютердегі еркін қалтаға көшіреміз. Мысалы, in /home/user/.openvpn/.

Желілік менеджер белгішесінің тінтуірдің оң жақ түймешігімен нұқыңыз, «қосылымдарды өзгерту» элементін таңдап, «OpenVPN» түріне жаңа қосылымды қосыңыз.

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

Анықтаңыз:

  • Қосылым атауы
  • Шлюз (домен немесе сервер ip)
  • Түрі: Сертификаттар

Пайдаланушы куәлігі - клиент үшін (client.crt) басында жасаған сертификат.
CA сертификаты - ca.crt файлы.
Жеке кілт - клиенттің кілті (client.key).

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

«Қосымша» түймешігін басыңыз. Ашылған терезеде «Жалпы» қойындысында бірнеше элементтерді өзгерту қажет болады.

  • Басқа шлюз портын қолданыңыз (егер сіз серверді орнатқан кезде стандартты емес көрсеткен болсаңыз)
  • Лзостың қысылуын қолданыңыз

«Қауіпсіздік» қойындысына ауысыңыз. Сервер параметрлері сияқты шифрды таңдаңыз. Hmac аутентификация параметрінің мәні ретінде, сервердің аутентификациясындағыдай, алгоритмді көрсету керек. Мақалада біз SHA512 таңдадық.

TLS түпнұсқалық растама қойындысын ашып, келесі элементтерді белгілеңіз:

  • Теңгерімді тексеру ...
  • Қосымша TLS түпнұсқалық растамасын пайдаланыңыз

Соңғы параметр үшін, ta.key файлына жолды көрсетіңіз және Windows үшін конфигурация файлына ұқсас ашылмалы тізімнен негізгі бағыт ретінде таңдаңыз.

Қосылымды сақтаңыз және қосылуға тырысыңыз. :)

Немесе, жүйелік журналға қосылу кезінде НМ жазады:

  # tail -f / var / log / syslog 


Сіз мақаланы қалай бағалайсыз?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 ( 7 рейтинг, орташа: 5.00 out of 5)
Жүктелуде ...

” 14 Түсініктемелер « Debian 8-де OpenVPN орнату және теңшеу »

  1. Автор сияқты, менің клиенттерім неге қосыла алмайтынын түсінуге тырыспадым, openvpn журналдарды жасамайды! маған не істеу керектігін айт!

    1. Сондықтан клиенттердің журналдарын тексеру қажет. OpenVPN GUI мұндай журнал міндетті түрде алып келеді. Тінтуірдің оң жағын басыңыз -> журналды көрсету.

      Мүмкін бірдеңе нұсқаулықта жоқ ...

  2. Рахмет, бірақ шықты, бұл #openvpn /opt/vp/vp.conf және бағдарлама конфигурациялық файлды ашады - логтар жүрді - мен бәріне қарап, vpn-ды жұмысшы жасадым.

    Түсінікті оқулықтың авторы сізден сұрайды. Debian және Mikrotikom серверлері арасындағы туннельді қалай жасауға болады. Жергілікті желіге қосылыңыз. 2 пәтер.

    1. Менің Android смартфонда мен Openvpn әзірлеушісінен - ​​«Openvpn connect» -тен ресми клиентті қолданамын https://play.google.com/store/apps/details?id=net.openvpn.openvpn

      Орнату өте оңай. Клиент үшін жасалған файлдар телефонның флэш-дискісіндегі кез-келген қалтаға жүктелуі керек. Содан кейін Openvpn Connect іске қосыңыз, мәзірден «Импорттау» таңдаңыз, содан кейін «SD картасынан профильді импорттаңыз». * .Ovpn файлын таңдау қажет файл менеджері ашылады, «Таңдау» батырмасын басыңыз. Сәтті импорттауды растау кезінде экранда «Профиль импортталған» хабары көрсетіледі.

      Қосылу үшін «Қосу» түймесін басыңыз. Осымен болды. :)

      Басқа клиенттер туралы білмеймін, бірақ бұл жақсы жұмыс істейді.

      PS Егер сіз бір мезгілде компьютерден немесе телефоннан қосылғыңыз келсе, онда соңғысы үшін өз кілтіңізді және сертификатты жасаңыз.

  3. жаңарту.
    2-тармақ client.key кілтіне құқықты орнату туралы шешім қабылдады. + TCP қосылымының түрін айқын түрде орнатып, адаптер түрін - TAP / TUN-ды көрсету керек болды

  4. Барлығын нұсқаулыққа сай орнаттым, бірақ мұндай мәселе бар:
    Клиент серверге қосылады, бірақ Интернет жоқ. Клиент VPN 10.8.0.1 серверін және арнайы сервердің ipін жалдайды. Серверден сыртқы сайттар проблемаларсыз жауап береді. Көрсетіледі, бұл иттің IPтабельдерінде және ip.frwarding-да жерленеді. Кез келген ойлар? Бұл орманмен күресуден гөрі, тез кеңес бере аласыз ба?

    1. Басқа бағыттау ережелерін белгілеу қажет
      iptables -t nat -A POSTROUTING-venet0 -j SNAT-to IP_ADDRESS_Your_SERVER
      iptables -A FORWARD -i venet0 -o tun0 -m state -state ҰЛТТЫҚ, ҚҰРЫЛҒАН -J ACCEPT
      iptables -A FORWARD -i tun0 -o venet0 -j ACCEPT

Пікір қосу

Сіздің электронды поштаңыз жарияланбайды.