29Ekim Açık Kaynak açılış Akademik Bilişim 2012 Akademik Bilişim 2012 Uşak akgül all Alt+Ctrl+Delete altlinux Anatolya installer apache apache2 arm AtlantiS autoindex backup bağlantı ban banana bash bash script belediye betik bind9 boot bootloader bootparametre böl burg cache canlicdrom cdrom centos CHKUSER chrome clone clonezilla CloneZilla ile Remote Disk Clone işlemi cron crontab çöp dd denizaltı denizaltı kablo Desteği destek Dil Disk disk eklemek disket dizin şifreleme django djb dkim dns DNS sistemi docker Domain download drbl dvd e-posta eğitim eklenti EniXma eposta eQmail esxi ev ev almak fail2ban fake fakemail feed feedbro ffmpeg find Firefox format fortran free FreeBSD freenas ftp full backup Gazze Genel Gentoo Getgnu.org gezegen git github gitweb Gmail gnupg Gökşin Akdeniz görev Görsel gpg grub grub2 günlük Güvenlik Hacker harddisk hizmet hosting id_rsa imap index indimail indir internet ipv4 ipv6 iso israil İşletim Sistemi kablo KAMP kernel kernellogo kesin çözüm key klonlamak komut konsol koruma lampp. httpd lilo link linux liste listeci listmanager live livecd LKD loader login logo LVM mail mail hosting Mail-in-a-Box mailcow mailman mailserver mandriva-tr.org matrax Mint mirror mlmmj modül MTA multisite mustafa akgül Mustafa Akgül Özgür Yazılım Yaz Kampı. Abant İzzet Baysal Üniversitesi Müteahhit mx MySQL netinternet Netqmail network nfs nginx ngrok not.py online radyo opendkim openssl önyükleme özgür yazılım panel pano pardus parola paste patch paylaşım pdf perl pfsense pfsense full backup phpmyadmin pi plan Planet planetplanet plesk pop3 poste.io postfix postfixadmin proje proxy putty python qmail qmailtoaster randmap Ras webserver Raspberry pi Raspberry Pi raspi rawdisk recovery remote repository resim resimler robots.txt 401 rss rsync rsyncd rsyncd etiketi s/qmail Saldırı Samba screen script sendonly smtp server senronizasyon server servis shell sistem Slackarm slackware Slackware slackware-live slackware.org.tr slackware arşiv httrack truva linux hatıralar slacky.eu SMF SMF türkçe karakter problemi smtp sosyal ağ spam spf sql backup sqlite sqlite3 sqlite3 to wordpress ssh ssh_key ssh-key SSL ssl sertifika subversion sudo sunucu svn swap swapfile syslinux system system images şifreleme takasfile Tatil Tavuk Teneke Kebabı Tenekede Tavuk theme thunderbird TightVNC tmux Tokat Kebabı tokat kebabı sobası etiketi Trash Trash-cli Truva Linux truvalinux Turkcell tuxweet Türkçe türkiye ubuntu unban UNIX uzak varnish veri Virtualbox vmware Vodafone vps Vsftp vsftpd Wampp web web robot Web server web Sunucu webp webserver webserver Akıllı Tahta wget whitelist WINN Windows wordpress Wordpress wordpress multisite www xampp Xnest yansı yansılama yansılamak yapıştır yazmak Yedekleme Yemek zulüm

Raspberry PI ile VPN Gateway

Kaynak site: Hamdi ÖZCAN – ozcan.com

Kaliteli ve hesaplı VPS (virtual private server) hizmetlerinin çoğalması kişisel projelere ivme kattı. Bir süredir aklımda olan VPN Gateway (VPN Router) projem, Raspberry PI ve DigitalOcean VPS sayesinde hayat buldu. Site-to-site VPN modeli ile çalışacak bu yapı ile uzak sunucu üzerindeki veriye daha güvenli erişim sağlanabilecek (ör. otorite imzalı SSL olamayan sayfalara parola girişi). Ayrıca bu yapıda uzak sunucunun üzerinden İnternet erişimi de sağlanabiliyor.

Ücretli/ücretsiz VPN servis sağlayıcılar nedendir bilinmez, hissedilir şekilde yavaş çalışıyorlar. Yıllardır Avrupa konumlu kullandığım VPS‘ler üzerinden geçirdiğim gündelik İnternet trafiğinde yavaşlama hissetmedim. Şahsi tecrübem 100ms paket gecikmesinin üstüne çıkılmadığı sürece hızda yavaşlama hissedilmeyeceği yönünde.

Farklı miniPC modelleri arasından RaspberryPI‘yi seçtim çünkü; yaygın kullanılıyor, kendine özel geliştirilmiş Raspbian adında Debian tabanlı bir işletim sistemi var ve enerji tüketimi yaklaşık 3W. Düşük enerji tüketimi ve düşük sahip olma maliyetinden dolayı, kart bilgisayarlar öğrenciler ve teknoloji meraklıları arasında yaygın kullanılıyor. Sistem gücü prototip projeler ve ev kullanımı için yeterli seviyede.

Çeşitli kaynaklarda RaspberryPI Model B‘nin 35$’dan satıldığı bilgisi var fakat Türkiye’de bu fiyatlara bulmak pek mümkün değil. Farnell distribütörü Yıldırım Elektronik 118TL fiyat veriyor, Robotistan‘da benzer fiyatlar var. Yurtdışı online satış yapan sitelerde kargo dahil 50$ civarında bulunabiliyor.

Kurulum adımları;

Adım adım RaspberryPI üzerine OpenVPN Client kurulumunu inceleyeceğiz (VPS üzerinde çalışan OpenVPN sunucu kurulumunu farklı bir yazıda paylaşmayı düşünüyorum).

RaspberryPI üzerine Raspbian‘ı kurup (raspberry.org’dan NOOBS indirilerek kolayca kuruluyor) SSH erişimini aldıktan sonra sistem güncellemelerini yapalım;
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade

Cihazın sabit IP alması önemli. Bunu DHCP sunucudan yapabileceğimiz gibi doğrudan ağ kartına tanımlayabiliriz, ağ kartına tanımlayalım;
nano /etc/network/interfaces

ilgili satırları aşağıdaki gibi değiştirelim (seçilen IP, DHCP havuzunun dışında olmalı);
iface eth0 inet static
address 192.168.2.251
netmask 255.255.255.0
gateway 192.168.2.1

Cihaza gelen paketlerin yönlendirilmesi için aşağıdaki dosyada değişikliği uygulayalım;
nano /etc/sysctl.conf

aşağıdaki satırın yorum ifadesini kaldıralım, satır yoksa ekleyelim;
net.ipv4.ip_forward = 1

değişikliği etkinleştirmek için;
sysctl -p /etc/sysctl.conf

OpenVPN’in yapılandırılması;

OpenVPN istemci yazılımını yükleyelim;
sudo apt-get install openvpn

Cihaz açılıdğında VPN bağlantısını otomatik kurması için aşağıdaki dosyayı ilgili dizine oluşturalım (uzantının .conf olması önemli);
sudo nano /etc/openvpn/vpn.conf

Örnek conf dosyası aşağıdaki gibi;
client

dev tun
proto tcp
tun-mtu 1500
remote xx.xx.xx.xx 1194

resolv-retry infinite
nobind

persist-key
persist-tun

verb 3

keepalive 10 120
comp-lzo
cipher DES-CBC

#openvpn root yetkileriyle çalıştırmamak için;
user <kullanıcı_adı>
group <grup_adı>
daemon

script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf

<ca>
-----BEGIN CERTIFICATE-----
.........
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
.........
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
.........
-----END PRIVATE KEY-----
</key>

Sistem açıldığında VPN bağlantısının otomatik kurulması için aşağıdaki dosyada değişiklik yapalım;
nano /etc/default/openvpn

ilgili yorum ifadesini kaldıralım yada aşağıdaki satırı ekleyelim;
AUTOSTART=all

OpenVPN yapılandırmasını tamamladık.

Iptables’ın yapılandırması;

Kolaylık ve tak-çalıştır olabilmesi için tünel ağına bir NAT tanımlayalım. Aşağıdaki komutla NAT yapılandıralım;
sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

iptables tanımlarımızın kalıcı olması için iptables-persistent kullanacağız, komutlar aşağıdaki gibi;
sudo apt-get install iptables-persistent
sudo /etc/init.d/iptables-persistent save
sudo /etc/init.d/iptables-persistent reload

Herşey yolunda gittiyse sistemi yeniden başlattığınızda sistem açılacak, VPN bağlantısı kurulacak, VPN Gateway istekleri cevaplamak için hazır hale gelecektir. Kurulum sonrası cihazımız tak-çalıştır haline geliyor. Elektrik ve ağ kablolarını bağladığınız herhangi bir yerde VPN hattı kullanılabilir (DHCP’den adres alacak şekilde ayarlanmalı ve otomatik alınan adres öğrenilmeli).

Ağımızdaki trafiği kurduğumuz yeni VPN Gateway‘e yönlendirmede iki farklı yöntem uygulanabilir. Birincisi, DHCP tanımlarından Default Gateway bilgisine VPN cihazımızın IP adresi yazılabilir. İkincisi, istemcilere elle sabit IP tanımlarken Default Gateway bilgisine VPN cihazının IP adresi yazılabilir.

Kurduğumuz sistemde DNS sorguları dahil tüm trafik VPN tünelinden geçiyor. Ufak değişikliklerle ihtiyaca göre farklı modeller uygulanabilir. Bu sisteme çok benzer VPN Hotspot kurulabilir. İhtiyacım olur da kurarsam ayrı bir blog yazısında paylaşırım. Soru ve önerilerinizi bekliyorum.

Kaynak site: Hamdi ÖZCAN – ozcan.com

Yorum Gönder

[blogger][facebook][disqus][spotim]

Author Name

İletişim Formu

Ad

E-posta *

Mesaj *

Blogger tarafından desteklenmektedir.