Pelayan OpenVPN dan Pemasangan dan Konfigurasi Pelanggan di Debian 7

Pelayan OpenVPN dan Pemasangan dan Konfigurasi Pelanggan di Debian 7

Artikel ini memperincikan cara mendapatkan IPv6 sambungan pada OpenVPN menggunakan Debian Linux. Prosesnya telah diuji Debian 7 di atas KVM VPS dengan IPv6 sambungan sebagai pelayan, dan desktop debian 7. Perintah harus dijalankan sebagai akar.

Pasang OpenVPN di Debian

Apa itu OpenVPN?

OpenVPN adalah program VPN yang menggunakan SSL/TLS untuk mewujudkan sambungan VPN yang selamat, disulitkan, untuk mengarahkan trafik internet anda, dengan itu menghalang pengintipan. VPN Terbuka sangat mampu melintasi firewall secara telus. Malah, jika keadaan memerlukannya, anda boleh menjalankannya di port TCP yang sama seperti HTTPS (443), menjadikan lalu lintas tidak dapat dibezakan dan dengan itu hampir mustahil untuk menyekat.

OpenVPN boleh menggunakan pelbagai kaedah seperti kunci rahsia pra-kongsi, sijil, atau nama pengguna/kata laluan, untuk membiarkan pelanggan mengesahkan ke pelayan. OpenVPN menggunakan protokol OpenSSL dan melaksanakan banyak ciri keselamatan dan kawalan seperti pengesahan tindak balas cabaran, keupayaan log masuk, mengimbangi beban dan ciri failover dan sokongan pelbagai daemon.

Mengapa menggunakan OpenVPN?

Fikirkan Komunikasi Selamat - Fikirkan OpenVPN. Sekiranya anda tidak mahu sesiapa yang mengintip di trafik internet anda, gunakan OpenVPN untuk mengarahkan semua lalu lintas anda melalui terowong yang sangat disulitkan dan selamat.

Ini amat penting apabila menyambung ke rangkaian wifi awam di lapangan terbang dan tempat lain. Anda tidak boleh memastikan siapa yang mengintip trafik anda. Anda boleh menyalurkan lalu lintas anda melalui pelayan OpenVPN anda sendiri untuk mengelakkan pengintipan.

Sekiranya anda berada di mana -mana negara yang secara rutin memantau semua laman web lalu lintas dan menyekat laman web anda, anda boleh menggunakan OpenVPN melalui port TCP 443, untuk menjadikannya tidak dapat dibezakan dari trafik https. Anda juga boleh menggabungkan OpenVPN dengan strategi keselamatan yang lain seperti menjalin trafik OpenVPN anda melalui terowong SSL, untuk mengalahkan teknik pemeriksaan paket yang mungkin dapat mengenal pasti tandatangan OpenVPN.

Keperluan Sistem

OpenVPN memerlukan keperluan yang sangat minimum untuk dijalankan. Sistem dengan 64 MB RAM dan 1 GB HDD ruang sudah cukup untuk menjalankan OpenVPN. OpenVPN berjalan pada hampir semua sistem operasi arus perdana.

Pemasangan dan konfigurasi OpenVPN pada Debian 7

Pasang OpenVPN di Server Master

Jalankan arahan berikut untuk memasang OpenVPN.

# apt-get memasang OpenVPN

Secara lalai, skrip mudah-RSA dipasang di bawah '/usr/share/easy-rsa/'Direktori. Oleh itu, kita perlu menyalin skrip ini ke lokasi yang dikehendaki i.e. /root/mudah-RSA.

# mkdir/root/easy-rsa cp -prv/usr/share/doc/openvpn/contoh/easy-rsa/2.0 /Root /Easy-RSA

Menjana sijil CA dan kunci CA

Buka fail 'vars'Dan buat perubahan berikut, tetapi sebelum membuat perubahan, saya cadangkan anda mengambil sandaran fail asal.

# cp vars ,.orig

Menggunakan editor teks anda, sediakan nilai lalai untuk Easy-RSA. Sebagai contoh.

Key_size = 4096 KEY_COUNTRY = "dalam" key_province = "up" key_city = "noida" key_org = "home" key_email = "[E -mel dilindungi]"

Di sini, saya menggunakan 4096 kekunci bit. Anda boleh menggunakan a 1024, 2048, 4096 atau 8192 kekunci bit seperti yang dikehendaki.

Mengeksport nilai lalai dengan menjalankan arahan.

# sumber ./VARS

Bersihkan sebarang sijil yang dihasilkan sebelum ini.

./membersihkan semua

Seterusnya, jalankan arahan berikut untuk menjana Ca sijil dan Ca kunci.

# ./Build-CA

Menjana sijil pelayan dengan menjalankan arahan. Gantikan 'nama pelayan' dengan nama pelayan anda.

# ./Build-Key-Server Server-Nama

Menjana Diffie Hellman Pem sijil.

# ./binaan-dh

Menjana sijil pelanggan. Gantikan 'nama pelanggan' dengan nama pelanggan anda.

# ./Build-Key Client-Name

Menjana kod HMAC.

# OpenVPN --Genkey-SECRET/ROOT/EASY-RSA/KEYS/TA.kunci

Salin sijil ke mesin klien dan pelayan seperti berikut.

  1. Pastikan bahawa ca.Crt hadir pada kedua -dua pelanggan dan pelayan.
  2. The ca.kunci kunci harus di pelanggan.
  3. Pelayan memerlukan pelayan.Crt, DH4096.PEM, pelayan.kunci dan TA.kunci.
  4. pelanggan.Crt, pelanggan.kunci dan TA.kunci mesti ada pada pelanggan.

Untuk menyediakan kunci dan sijil di pelayan, jalankan arahan.

# mkdir -p/etc/openvpn/certs # cp -pv/root/easy -rsa/kekunci/ca.crt, kunci, nama pelayan.crt, kunci, ta.Kunci, DH4096.pem/etc/openvpn/certs/

Mengkonfigurasi Pelayan OpenVPN

Sekarang anda perlu mengkonfigurasi pelayan OpenVPN. Buka fail '/etc/openvpn/pelayan.Conf'. Sila buat perubahan seperti yang diterangkan di bawah.

Sistem Keselamatan Skrip 3 Port Sistem 1194 Proto UDP Dev Tap CA/ETC/OPENVPN/CERTS/CA.CRT CERT/ETC/OPENVPN/CERTS/NAME SERVER.kekunci CRT/etc/openvpn/certs/name pelayan.Kunci DH/ETC/OpenVPN/Certs/DH4096.PEM TLS-AUTH/ETC/OPENVPN/CERTS/TA.Kunci 0 pelayan 192.168.88.0 255.255.255.0 Ifconfig-pool-persist IPP.TXT PUSH "Redirect-Gateway DEF1 BYPASS-DHCP" PUSH "DHCP-OPTION DNS 8.8.8.8 "Push" DHCP-Option DNS 8.8.4.4 "Keepalive 1800 4000 cipher des-ede3-cbc # triple-des comp-lzo max-clients 10 pengguna tiada kumpulan nogroup berterusan berterusan ke #log openvpn.log #Status OpenVPN-Status.Log kata kerja 5 bisu 20

Dayakan penghantaran IP di pelayan.

# echo 1>/proc/sys/net/ipv4/ip_forward

Jalankan arahan berikut untuk menyediakan OpenVPN untuk memulakan boot.

# UPDATE-RC.D -f OpenVPN Defaults

Mulakan perkhidmatan OpenVPN.

# Perkhidmatan OpenVPN Mulakan semula

Pasang OpenVPN pada Pelanggan

Jalankan arahan berikut untuk memasang OpenVPN pada mesin klien.

# apt-get memasang OpenVPN

Menggunakan editor teks, tetapkan konfigurasi klien OpenVPN dalam '/etc/openvpn/pelanggan.Conf', pada pelanggan. Konfigurasi contoh adalah seperti berikut:

Sistem Keselamatan Skrip 3 Sistem Pelanggan Jauh VPN_Server_ip CA/etc/OpenVPN/certs/ca.CRT CERT/ETC/OPENVPN/CERTS/CLIENT.kekunci CRT/etc/openvpn/certs/client.Kunci cipher des-ede3-cbc comp-lzo ya dev tap proto udp tls-auth/etc/openvpn/certs/ta.Kunci 1 Nobind Auth-Nocace Enter-Key Entergent User Nobody Group Nogroup

Jalankan arahan berikut untuk menyediakan OpenVPN untuk memulakan boot.

# UPDATE-RC.D -f OpenVPN Defaults

Mulakan perkhidmatan OpenVPN pada pelanggan.

# Perkhidmatan OpenVPN Mulakan semula

Sebaik sahaja anda berpuas hati bahawa OpenVPN berjalan lancar IPv4, Inilah cara untuk mendapatkan IPv6 Bekerja di OpenVPN.

Mendapatkan IPv6 Bekerja dengan OpenVPN di Pelayan

Tambahkan baris berikut ke hujung konfigurasi pelayan '/etc/openvpn/pelayan.Conf'Fail.

pelanggan-sambungan/etc/openvpn/connect pelanggan.SH Client-Disconnect/etc/OpenVPN/Client-Disconnect.sh

Kedua -dua skrip ini membina/memusnahkan IPv6 terowong setiap kali pelanggan menyambung/memutuskan sambungan.

Berikut adalah kandungan sambungan pelanggan.sh.

#!/bin/bash baseRange = "2a00: dd80: 003d: 000c" ifconfig $ dev up ifconfig $ dev add $ baserane: 1001 :: 1/64 ip -6 jiran tambah proksi 2a00: dd80: 003d: 000c: 1001: : 2 dev eth0 keluar 0

Tuan rumah saya memberikan saya IPv6 alamat dari 2A00: DD80: 003D: 000C ::/64 blok. Oleh itu, saya gunakan
2A00: DD80: 003D: 000C sebagai Baserange. Ubah suai nilai ini mengikut apa yang telah diberikan oleh tuan rumah anda.

Setiap kali pelanggan menyambung ke OpenVPN, skrip ini memberikan alamat 2A00: DD80: 003D: 000C: 1001 :: 1 sebagai IPv6 alamat Tap0 antara muka pelayan.

Baris terakhir menetapkan penemuan jiran untuk terowong kami. Saya telah menambah IPv6 alamat sisi pelanggan Tap0 sambungan sebagai alamat proksi.

Inilah kandungannya Pelanggan-Disconnect.sh.

#!/bin/bash baseRange = "2a00: dd80: 003d: 000c"/sbin/ip -6 addr del $ baserange :: 1/64 dev $ dev exit 0

Ini hanya memadamkan IPv6 Alamat terowong pelayan, apabila pelanggan memutuskan sambungan. Ubah suai nilai baserange sesuai.

Jadikan skrip boleh dilaksanakan.

# chmod 700/etc/openvpn/connect client.sh # chmod 700/etc/openvpn/client-disconnect.sh

Tambahkan penyertaan berikut ke '/etc/rc.tempatan '(anda juga boleh mengubah suai sysctl yang sesuai di /etc/sysctl.Conf).

echo 1>/proc/sys/net/ipv6/conf/all/proxy_ndp echo 1>/proc/sys/net/ipv4/ip_forward echo 1>/proc/sys/net/conf/all/all/fiver/etc//etc/ di dalamnya.D/Firewall berhenti &/etc/init.D/Firewall bermula

Penyertaan ini mengaktifkan penemuan dan penghantaran jiran. Saya juga telah menambah firewall.

Buat '/etc/init.D/Firewall'Dan masukkan kandungan berikut.

#!/bin/sh # Keterangan: firewall IPT =/sbin/iptables IPT6 =/sbin/ip6tables case "$ 1" pada permulaan) $ IPT -f input $ ipt -a input -i et0 -m state -state ditubuhkan, berkaitan - J Terima $ IPT -A input -I ETH0 -P TCP -DPORT 22 -J ACCEPT $ IPT -A INPUT -I ETH0 -P ICMP -J ACCEPT $ IPT -A INPUT -I ETH0 -P UDP -Dport 1194 - j Terima $ IPT -a input -i tap+ -j Terima $ IPT -A ke hadapan -I TAP+ -J ACCEPT $ IPT -A FORWARD -M STATE --STATE Ditubuhkan, Berkaitan -J menerima $ IPT -T NAT -F POSTROUTING $ IPT -T nat -a postrouting -s 10.8.0.0/24 -O ETH0 -J MASQUERADE $ IPT -A INPUT -I ETH0 -J DROP $ IPT6 -F INPUT $ IPT6 -A INPUT -I ETH0 -M STATE --STATE Ditubuhkan, Berkaitan -J Menerima $ IPT6 -A Input -I ETH0 -P TCP -DPORT 22 -J Menerima $ IPT6 -A Input -I ETH0 -P ICMPV6 -J ACCEPT $ IPT6 -A FORWARD -S 2A00: DD80: 003D: 000C ::/64 -I TAP0 -O ETH0 -J ACCEPT $ IPT6 -A INPUT -I ETH0 -J DROP EXIT 0 ;; berhenti) $ IPT -f $ IPT6 -f Exit 0 ;; *) echo "penggunaan: /etc /init.d/firewall start | stop "keluar 1 ;; ESAC

Jalankan '/etc/rc.tempatan'Dan mulakan firewall.

# sh /etc /rc.tempatan

Ini melengkapkan pengubahsuaian sampingan pelayan.

Mendapatkan IPv6 Bekerja dengan OpenVPN pada Pelanggan

Tambahkan yang berikut sebagai baris terakhir fail konfigurasi pelanggan anda '/etc/openvpn/pelanggan.Conf'.

# Buat Terowong IPv6 UP/ETC/OPENVPN/UP.sh down/etc/openvpn/down.sh # memerlukan ini jadi apabila pelanggan memutuskan, ia memberitahu pelayan eksplisit-keluar-notify

Skrip Up and Down membina/memusnahkan titik akhir klien IPv6 sambungan tap0 klien setiap kali pelanggan menghubungkan/memutuskan sambungan ke atau dari pelayan OpenVPN.

Inilah kandungan naik.sh.

#!/bin/bash ipv6base = "2a00: dd80: 3d: c" ifconfig $ dev up ifconfig $ dev add $ ipv6base: 1001 :: 2/64 ip -6 route tambah lalai melalui $ ipv6base: 1001 :: 1 Keluar 0

Skrip memberikan alamat IPv6 2A00: DD80: 3D: C: 1001 :: 2 Sebagai alamat IPv6 klien dan menetapkan laluan IPv6 lalai melalui pelayan.

Ubah suai ipv6base sama seperti baserange dalam konfigurasi pelayan.

Inilah kandungan turun.sh.

#!/bin/bash ipv6base = "2a00: dd80: 3d: c"/sbin/ip -6 addr del $ ipv6base :: 2/64 dev $ dev/sbin/ip link set dev $ down/sbin/ip route del ::/0 melalui $ ipv6base :: 1 Keluar 0

Ini hanya memadamkan alamat IPv6 pelanggan dan merobohkan laluan IPv6 apabila pelanggan memutuskan dari pelayan.

Ubah suai ipv6base sama seperti baserange dalam konfigurasi pelayan dan buat skrip boleh dilaksanakan.

# chmod 700/etc/openvpn/up.sh # chmod 700/etc/openvpn/down.sh

Secara pilihan, ubah suai '/etc/resolv.conf 'dan tambahkan nama nama IPv6 Google untuk resolusi DNS.

Nameserver 2001: 4860: 4860 :: 8888 Nameserver 2001: 4860: 4860 :: 8844

Mulakan semula OpenVPN di pelayan dan kemudian sambungkannya dari pelanggan. Anda mesti dihubungkan. Lawati Test-IPv6.com untuk melihat bahawa sambungan IPv6 anda ke atas OpenVPN berfungsi.

Pautan rujukan

Laman Utama OpenVPN

Sumber: Stavrovski