Openvpn
OpenVPN on avoimella lähdekoodilla toimiva VPN. Tämä on yksi maailman turvallisimmista VPN protokollista. OpenVPN eroaa muista VPN protokolista, että vaatii erillisen asiakasohjelman muodostaakseen yhteyden palvelimeen.
Sisällysluettelo
Esimerkkimme
Esimerkissämme luomma yhteyden konffijh:n kotipalvelimelta gugglan koneelle. konffijh:lla on kotona hp palvelin missä on virtuaalidebian ja koululla on samanlainen hp kone missä on myös virtuaalidebian. Kotona on openvpnserveri ja koululla taas clientti
- Jh:n verkko kotona: 192.168.112.0/24
- kotigw: 192.168.112.254 (mikrotikki :) )
- openvpnservu: 192.168.112.3
- openvpnclientti: 192.168.7.7
- jh:n säätöverkko koulussa: 192.168.7.0/24
- portti: 1723 (koska turun tietohallinnon muuri joka estää...)
- Virtuaaliverkko: 10.10.7.0/24
Serverin konffaus
Asennetaan openvpn palvelimeen.
aptitude install openvpn
Kopioi:
cp -R /usr/share/doc/openvpn/examples/easy-rsa /etc/openvpn
Luo avaimet seuraavasti /etc/openvpn/easy-rsa/2.0 hakemistossa (jos et tiedä mitä vastata kysymyksiin avaimia luotaessa, katso
OpenVPN HOWTO):
cd /etc/openvpn/easy-rsa/2.0
. ./vars ./clean-all ./build-ca ./build-key-server server ./build-key client ./build-dh
Sijoita luomasi avaimet haluamaasi paikkaan. Omani ovat /etc/openvpn/dataa-hakemistossa.
Serverin conffitiedoston voi joko tehdä itse tai kopioida /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz. Siitä tarvii vain muokata serttien nimet ja halutessaan verkko-osoitteet. Tiedosto tarvii toki purkaa komennolla gunzip.
Alla konfiguraatiotiedosto palvelimelle jos sen haluaa tästä ottaa.
nano /etc/openvpn/server.conf
dev tun port 1723 proto tcp ca /etc/openvpn/dataa/ca.crt cert /etc/openvpn/dataa/server.crt key /etc/openvpn/dataa/server.key dh /etc/openvpn/dataa/dh1024.pem server 10.10.7.0 255.255.255.0 ifconfig-pool-persist ipp.txt comp-lzo persist-key persist-tun status /var/log/openvpn-status.log verb 3 client-to-client client-config-dir ccd route 192.168.0.0 255.255.255.0
8. Avaa UDP-portti 1723 palomuurissasi ja lisää myös tarvittavat säännöt tun-adaptereille esim. seuraavasti (tämä tapa voi erota käyttämästäsi tavasta, joten sovella tarvittaessa):
iptables -A INPUT -i tun+ -j ACCEPT iptables -A FORWARD -i tun+ -j ACCEPT iptables -A FORWARD -o tun+ -j ACCEPT
9. Tämän jälkeen tarvitset vielä OpenVPN:n (Windows GUI) ja konfiguraatiotiedoston clientille:
client dev tun port 1723 proto tcp remote joh.dy.fi 1723 nobind ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/client2.crt key /etc/openvpn/keys/client2.key comp-lzo persist-key persist-tun verb 3 route 192.168.0.0 255.255.255.0 keepalive 10 60
service openvpn restart
nyt voi pingata esim. kotiservulta 10.10.7.10(koulun clientti).
Näin sinulla on toimiva OpenVPN-konfiguraatio ja voit tunneloida yhteyksiäsi turvallisesti ja helposti. Heitä kommenttia jos joku asia jäi epäselväksi tai ohjeissa on sinun mielestäsi jotain, minkä voisin tehdä paremmin :)
pam auth
Client side:
auth-user-pass
Server side:
plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so system-auth
http proxy
Http proxyn asettaminen openvpn
http-proxy 192.168.4.1 1080
Debian 6:sen openvpn:ssä on bugi jonka seurauksena openvpn kaatuu. Ongelman voi korjata laittamalla kyseisen option
http-proxy-retry
Linkki bugiin: