Installazzjoni u Konfigurazzjoni ta' OpenVPN Server u Klijent fuq Debian 7


Dan l-artikolu jagħti dettalji dwar kif tikseb konnettività IPv6 fuq OpenVPN billi tuża Debian Linux. Il-proċess ġie ttestjat fuq Debian 7 fuq KVM VPS b'konnettività IPv6 bħala s-server, u desktop Debian 7. Il-kmandi għandhom jitmexxew bħala root.

OpenVPN huwa programm VPN li juża SSL/TLS biex joħloq konnessjonijiet VPN siguri u kriptati, biex jidderieġi t-traffiku tal-Internet tiegħek, u b'hekk jipprevjeni snooping. Open VPN huwa kapaċi ħafna li jgħaddi b'mod trasparenti minn firewalls. Fil-fatt, jekk is-sitwazzjoni teħtieġha, tista 'taħdem fuq l-istess port TCP bħall-HTTPS (443), u b'hekk it-traffiku ma jkunx jista' jintgħaraf u għalhekk prattikament impossibbli li jiġi mblukkat.

OpenVPN jista 'juża varjetà ta' metodi bħal ċwievet sigrieti kondiviżi minn qabel, ċertifikati, jew usernames/passwords, biex iħallu lill-klijenti jawtentikaw mas-server. OpenVPN juża l-protokoll OpenSSL u jimplimenta ħafna karatteristiċi ta 'sigurtà u kontroll bħall-awtentikazzjoni ta' rispons għall-isfida, kapaċità ta 'single sign-on, karatteristiċi ta' ibbilanċjar tat-tagħbija u failover u appoġġ multi daemon.

Aħseb komunikazzjonijiet siguri - aħseb OpenVPN. Jekk ma tridx li xi ħadd jispikka fuq it-traffiku tal-internet tiegħek, uża OpenVPN biex tgħaddi t-traffiku kollu tiegħek minn mina kkodifikata ħafna u sigura.

Dan huwa speċjalment importanti meta tikkonnettja ma 'netwerks WIFI pubbliċi fl-ajruporti u postijiet oħra. Inti qatt ma tista 'tkun ċert dwar min huwa snooping fuq it-traffiku tiegħek. Tista' tikkanalizza t-traffiku tiegħek permezz tas-server OpenVPN tiegħek stess biex tipprevjeni snooping.

Jekk qiegħed f'xi wieħed mill-pajjiżi li regolarment jimmonitorjaw it-traffiku kollu tiegħek u jimblokkaw il-websajts kif riedu, tista' tuża OpenVPN fuq il-port TCP 443, biex tagħmilha indistingwibbli mit-traffiku HTTPS. Tista 'anki tgħaqqad OpenVPN ma' strateġiji oħra ta 'sigurtà bħal tunneling tat-traffiku OpenVPN tiegħek fuq mina SSL, biex tegħleb tekniki ta' Deep Packet Inspection li jistgħu jkunu kapaċi jidentifikaw firem OpenVPN.

OpenVPN jeħtieġ rekwiżiti minimi ħafna biex jaħdem. Sistema b'64 MB RAM u 1 GB spazju għall-HDD hija biżżejjed biex tħaddem OpenVPN. OpenVPN jaħdem fuq kważi s-Sistemi Operattivi mainstream kollha.

Installazzjoni u Konfigurazzjoni ta' OpenVPN fuq Debian 7

Mexxi l-kmand li ġej biex tinstalla OpenVPN.

# apt-get install openvpn

B'mod awtomatiku, l-iskripts easy-rsa huma installati taħt id-direttorju '/usr/share/easy-rsa/'. Għalhekk, irridu nikkopjaw dawn l-iskripts fil-post mixtieq jiġifieri /root/easy-rsa.

# mkdir /root/easy-rsa
cp -prv /usr/share/doc/openvpn/examples/easy-rsa/2.0 /root/easy-rsa

Iftaħ il-fajl 'vars' u agħmel il-bidliet li ġejjin, iżda qabel ma tagħmel bidliet nissuġġerixxi li tieħu backup tal-fajl oriġinali.

# cp vars{,.orig}

Uża l-editur tat-test tiegħek, waqqaf il-valuri awtomatiċi għal easy-rsa. Pereżempju.

KEY_SIZE=4096
KEY_COUNTRY="IN"
KEY_PROVINCE="UP"
KEY_CITY="Noida"
KEY_ORG="Home"
KEY_EMAIL="[email "

Hawnhekk, qed nuża ċavetta 4096 bit. Tista 'tuża ċavetta 1024, 2048, 4096 jew 8192 bit kif mixtieq.

Esportazzjoni tal-valuri default billi tħaddem il-kmand.

# source ./vars

Naddaf kwalunkwe ċertifikat li kien iġġenerat qabel.

./clean-all

Sussegwentement, mexxi l-kmand li ġej biex tiġġenera ċertifikat CA u ċavetta CA.

# ./build-ca

Iġġenera ċ-ċertifikat tas-server billi tħaddem il-kmand. Issostitwixxi l-'isem tas-server' bl-isem tas-server tiegħek.

# ./build-key-server server-name

Iġġenera ċ-ċertifikat Diffie Hellman PEM.

# ./build-dh

Iġġenera ċ-ċertifikat tal-klijent. Issostitwixxi l-'isem tal-klijent' bl-isem tal-klijent tiegħek.

# ./build-key client-name

Iġġenera l-kodiċi HMAC.

# openvpn --genkey --secret /root/easy-rsa/keys/ta.key

Ikkopja ċ-ċertifikati lill-magni klijent u server kif ġej.

  1. Aċċerta ruħek li l-ca.crt ikun preżenti kemm fuq il-klijent kif ukoll fuq is-server.
  2. Iċ-ċavetta ca.key għandha tkun fuq il-klijent.
  3. Is-server jeħtieġ server.crt, dh4096.pem, server.key u ta.key.
  4. client.crt, client.key u ta.key għandhom ikunu fuq il-klijent.

Biex twaqqaf iċ-ċwievet u ċ-ċertifikati fuq is-server, mexxi l-kmandi.

# mkdir -p /etc/openvpn/certs
# cp -pv /root/easy-rsa/keys/{ca.{crt,key},server-name.{crt,key},ta.key,dh4096.pem} /etc/openvpn/certs/

Issa trid tikkonfigura s-server OpenVPN. Iftaħ il-fajl '/etc/openvpn/server.conf'. Jekk jogħġbok agħmel bidliet kif deskritt hawn taħt.

script security 3 system
port 1194
proto udp
dev tap

ca /etc/openvpn/certs/ca.crt
cert /etc/openvpn/certs/server-name.crt
key /etc/openvpn/certs/server-name.key
dh /etc/openvpn/certs/dh4096.pem
tls-auth /etc/openvpn/certs/ta.key 0

server 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

user nobody
group nogroup

persist-key
persist-tun

#log openvpn.log
#status openvpn-status.log
verb 5
mute 20

Ippermetta l-IP forwarding fuq is-server.

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

Mexxi l-kmand li ġej biex twaqqaf OpenVPN biex tibda fuq il-but.

# update-rc.d -f openvpn defaults

Ibda s-servizz OpenVPN.

# service openvpn restart

Mexxi l-kmand li ġej biex tinstalla OpenVPN fuq il-magna tal-klijent.

# apt-get install openvpn

Uża editur tat-test, waqqaf il-konfigurazzjoni tal-klijent OpenVPN f''/etc/openvpn/client.conf', fuq il-klijent. Eżempju ta' konfigurazzjoni hija kif ġej:

script security 3 system
client
remote vpn_server_ip
ca /etc/openvpn/certs/ca.crt
cert /etc/openvpn/certs/client.crt
key /etc/openvpn/certs/client.key
cipher DES-EDE3-CBC
comp-lzo yes
dev tap
proto udp
tls-auth /etc/openvpn/certs/ta.key 1
nobind
auth-nocache
persist-key
persist-tun
user nobody
group nogroup

Mexxi l-kmand li ġej biex twaqqaf OpenVPN biex tibda fuq il-but.

# update-rc.d -f openvpn defaults

Ibda s-servizz OpenVPN fuq il-klijent.

# service openvpn restart

Ladarba tkun sodisfatt li l-OpenVPN qed jaħdem tajjeb fuq IPv4, hawn hu kif tista' taħdem l-IPv6 fuq OpenVPN.

Żid il-linji li ġejjin fl-aħħar tal-fajl tal-konfigurazzjoni tas-server '/etc/openvpn/server.conf'.

client-connect /etc/openvpn/client-connect.sh
client-disconnect /etc/openvpn/client-disconnect.sh

Dawn iż-żewġ skripts jibnu/jeqirdu l-mina IPv6 kull darba li klijent jgħaqqad/jiskonnettja.

Hawn hu l-kontenut ta' client-connect.sh.

#!/bin/bash
BASERANGE="2a00:dd80:003d:000c"
ifconfig $dev up
ifconfig $dev add ${BASERANGE}:1001::1/64
ip -6 neigh add proxy 2a00:dd80:003d:000c:1001::2 dev eth0
exit 0

Il-host tiegħi jassenjali indirizzi IPV6 mill-blokk 2a00:dd80:003d:000c::/64. Għalhekk, nuża
2a00:dd80:003d:000c bħala l-BASERANGE. Immodifika dan il-valur skont dak li l-host tiegħek assenjak.

Kull darba li klijent jgħaqqad ma' OpenVPN, dan l-iskritt jassenja l-indirizz 2a00:dd80:003d:000c:1001::1 bħala l-indirizz IPV6 tal-interface tap0 tas-server.

L-aħħar linja twaqqaf Neighbour Discovery għall-mina tagħna. Żidt l-indirizz IPv6 tal-konnessjoni tap0 tan-naħa tal-klijent bħala l-indirizz prokura.

Hawn hu l-kontenut ta' client-disconnect.sh.

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

Dan biss iħassar l-indirizz tal-mina IPv6 tas-server, meta l-klijent jiskonnettja. Immodifika l-valur ta' BASERANGE kif xieraq.

Agħmel l-iskripts eżekutibbli.

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

Żid l-entrati li ġejjin ma '/etc/rc.local' (Tista' wkoll timmodifika s-sysctls xierqa f'/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/ipv6/conf/all/forwarding
/etc/init.d/firewall stop && /etc/init.d/firewall start

Dawn l-entrati jattivaw Neighbor Discovery u Forwarding. Żidt ukoll firewall.

Oħloq '/etc/init.d/firewall' u poġġi l-kontenut li ġej.

#!/bin/sh
# description: Firewall
IPT=/sbin/iptables
IPT6=/sbin/ip6tables
case "$1" in
start)
$IPT -F INPUT
$IPT -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
$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 ACCEPT
$IPT -A INPUT -i tap+ -j ACCEPT
$IPT -A FORWARD -i tap+ -j ACCEPT
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$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 ESTABLISHED,RELATED -j ACCEPT
$IPT6 -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
$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
;;
stop)
$IPT -F
$IPT6 -F
exit 0
;;
*)
echo "Usage: /etc/init.d/firewall {start|stop}"
exit 1
;;
esac

Mexxi '/etc/rc.local' u ibda l-firewall.

# sh /etc/rc.local

Dan jikkompleta l-modifiki tan-naħa tas-server.

Żid dan li ġej bħala l-aħħar linji tal-fajl tal-konfigurazzjoni tal-klijent tiegħek '/etc/openvpn/client.conf'.

# create the ipv6 tunnel
up /etc/openvpn/up.sh
down /etc/openvpn/down.sh
# need this so when the client disconnects it tells the server
explicit-exit-notify

L-iskripts 'il fuq u 'l isfel jibnu/jeqirdu l-punti finali tal-klijent IPV6 tal-konnessjoni tal-klijent tap0 kull darba li klijent jgħaqqad/jiskonnettja ma' jew mis-server OpenVPN.

Hawn hu l-kontenut ta' up.sh.

#!/bin/bash
IPV6BASE="2a00:dd80:3d:c"
ifconfig $dev up
ifconfig $dev add ${IPV6BASE}:1001::2/64
ip -6 route add default via ${IPV6BASE}:1001::1
exit 0

L-iskrittura tassenja l-indirizz IPV6 2a00:dd80:3d:c:1001::2 bħala l-indirizz IPV6 tal-klijent u tistabbilixxi r-rotta IPV6 default permezz tas-server.

Immodifika IPV6BASE biex ikun l-istess bħal BASERANGE fil-konfigurazzjoni tas-server.

Hawn hu l-kontenut ta' down.sh.

#!/bin/bash
IPV6BASE="2a00:dd80:3d:c"
/sbin/ip -6 addr del ${IPV6BASE}::2/64 dev $dev
/sbin/ip link set dev $dev down
/sbin/ip route del ::/0 via ${IPV6BASE}::1
exit 0

Dan biss iħassar l-indirizz IPV6 tal-klijent u jkisser ir-rotta IPV6 meta l-klijent jiskonnettja mis-server.

Immodifika IPV6BASE biex ikun l-istess bħal BASERANGE fil-konfigurazzjoni tas-server u agħmel l-iskrittura eżekutibbli.

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

B'għażla, immodifika '/etc/resolv.conf' u żid is-servers tal-isem IPV6 ta' Google għar-riżoluzzjoni tad-DNS.

nameserver 2001:4860:4860::8888
nameserver 2001:4860:4860::8844

Ibda mill-ġdid openvpn fuq is-server u mbagħad qabbad miegħu mill-klijent. Għandek tkun konness. Żur test-ipv6.com biex tara li l-konnettività IPV6 tiegħek fuq OpenVPN qed taħdem.

Links ta' Referenza

Homepage OpenVPN