Güncelleme #1: Eğer sadece web’de gezinmek için, engelli siteleri açmak için VPN’e ihtiyaç duyuyorsanız çok daha basit ve ücretsiz bir alternatifi var. Açıklamalarına buradan ulaşabilirsiniz. Eğer tüm sistem haberleşmesini VPN ile korumak istiyorsanız aşağıdakileri yapmanız gerekli.
Türkiye’de VPN hizmeti veren servisler de engellenince kendi özel VPN’in olmasının gerekliliği ortaya çıktı. Bu yazımda VPS üzerinde OpenVPN kurulumunu anlatacağım.
Biraz teknik detaylara gireceğim için linux, terminal, ssh, nano gibi kavramlara hakim olmayan kişilerin okuması yorucu olabilir. *NIX bazlı işletim sisteminde temelleri bildiğinizi varsayarak hareket ediyorum.
Öncelikle yurt dışından bir VPS alın. Ben https://www.ovh.ie/’den 3.49$’lık bir VPS sunucu aldım. Bu bedel aylık bir bedel. Satın alırken içine Debian 7 istediğinizi belirtin. Sunucu kaynak kullanımı ve paket optimizasyonu açısından en başarılısı Debian 7.
Size daha sonra kullanıcı root olan bir hesabın şifreleri gönderilecek. Aynı zamanda sunucu için bir IP adresi de gönderilecek. Bunlar erişim bilgilerimiz. macOS kullanıcıları terminal ile, Windows kullanıcıları da PuTTY ile bağlanabilirler.
Bağlandığımızda bu şekilde bir arabirim karşımıza çıkacak. Artık buradan çeşitli komutları vererek sistemi kurabiliriz.
# apt-get update# apt-get upgrade# apt-get install openvpn
Bu iki komut ile öncelikle yazılımları indireceğimiz noktayı düzenliyoruz. Daha sonra OpenVPN kurulumuna ve sertifika yaratılmasına geçiyoruz.
# cd /usr/share/doc/openvpn/examples/easy-rsa/2.0 # . ./vars # ./clean-all # ./build-ca # ./build-key-server server # ./build-key client # ./build-dh # cd keys # mv *.pem *.crt *.csr *.key /etc/openvpn # cd /usr/share/doc/openvpn/examples/sample-config-files # gunzip -c server.conf.gz > /etc/openvpn/server.conf
Kaç adet cihazda kullanacaksanız ./build-key client komutunda client yerine cihazınızın adını yazarak ona özel sertifika üretin.
Daha sonra /etc/openvpn/server.conf dosyasını nano ile editleyerek aşağıdaki satırları aktif hale getirin
proto tcp push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 8.8.8.8" user nobody group nogroup
Bu işlemi tamamladıktan sonra OpenVPN sunucusunu baştan başlatın.
# /etc/init.d/openvpn restart
Daha sonra kullanacağınız cihaz için gerekli ayar dosyasını oluşturmanız gerekiyor. İster bu dosyayı aşağıdaki komutlarla oluşturun, ister anahtarları bir PC’nize aktarım onun üzerinde manuel kopyalayarak oluşturun.
Örnek bir tane oluşturmak için kodlar şöyle
# cd /etc/openvpn # cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf client.ovpn # echo "set CLIENT_CERT 0" >> client.ovpn # echo "<ca>" >> client.ovpn # cat ca.crt | grep -A 100 "BEGIN CERTIFICATE" | grep -B 100 "END CERTIFICATE" >> client.ovpn # echo "</ca>" >> client.ovpn # echo "<cert>" >> client.ovpn # cat client.crt | grep -A 100 "BEGIN CERTIFICATE" | grep -B 100 "END CERTIFICATE" >> client.ovpn # echo "</cert>" >> client.ovpn # echo "<key>" >> client.ovpn # cat client.key | grep -A 100 "BEGIN PRIVATE KEY" | grep -B 100 "END PRIVATE KEY" >> client.ovpn # echo "</key>" >> client.ovpn
Daha sonra oluşturduğumuz /etc/openvpn/client.ovpn dosyasının içeriğini aşağıdaki şekilde değiştirin.
proto tcp remote SunucuIPAdresi SunucuPortu mute-replay-warnings # ca ca.crt # cert client.crt # key client.key
Buradaki sunucu IP adresini ve portunu sizin sunucularınızın bilgileri ile değiştirin. Port default olarak 1194 gelir ama isterseniz değiştirebilirsiniz. Şimdi de Debian’ı ona genel bağlantıları internete çıkaracak şekilde konfigüre etmeliyiz. Aşağıdaki kodları sırasıyla aktif edin.
echo 1 > /proc/sys/net/ipv4/ip_forward
daha sonra IP yönlendirmeyi rebootlara dayanıklı hale getirmek için /etc/sysctl.conf dosyasına aşağıdaki satırı yazın.
net.ipv4.ip_forward = 1
Daha sonra da sunucu içerisinde gerekli yönlendirmeleri yaparak sürecimizi tamamlıyoruz.
iptables -A FORWARD -i eth0 -o tun0 -m state --state ESTABLISHED,RELATED -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 iptables-save > /etc/iptables.up.rules
İşte bu kadar. Tamamen fonksiyonel bir VPN sunucumuzu bulutta çalıştırmış olduk. Biraz önce yarattığımız “client.ovpn” dosyamızın bizim cihazlardan bağlanabilmemiz için gerekli şifreleri ve ayarları içeriyor. Bu dosya ile Android, iPhone, macOS, Windows ile kolayca kendi VPN’imize bağlanabiliriz.
Android’den bağlanmak için OpenVPN Connect yazılımını indirmeniz gerekli. -> Buradan
iOS’den bağlanmak için OpenVPN Connect yazılımını indirmeniz gerekli. -> Buradan
Windows’dan bağlanmak için OpenVPN’i indirmeniz gerekli. -> Buradan
macOS’den bağlanmak için Tunnelblick’i indirmeniz gerekli. -> Buradan (macOS Sierra kullanıcıları BETA sürümünü indirin)
Not: 1 sertifika ile sadece 1 cihaz bağlanabilir. Eğer 2. bir cihaz denerse sistem sizi atacaktır. O sebeple her cihaz için ./build-key (cihaz adı) komutuyla sertifika üretip ilgili OVPN dosyasını oluşturun.
Dilerim bu yazım sadece teknik bir makale olarak kalır…
Bir yanıt yazın