Dicle Pide Kebap İşkembe Sarayı
Dikmen’in Dicle kebabı boldur. Önceden ıslak mendilini eklediğim Dicle Kebap’ın sahipleri Çankırı’lıydı sanırım. Bu kebapçının da Dicle’ye pek yakın olmadıklarını tahmin ediyorum.Bu arada, saray nasıl bir şeydir?
Dikmen’in Dicle kebabı boldur. Önceden ıslak mendilini eklediğim Dicle Kebap’ın sahipleri Çankırı’lıydı sanırım. Bu kebapçının da Dicle’ye pek yakın olmadıklarını tahmin ediyorum.Bu arada, saray nasıl bir şeydir?
Bir önceki yazıda, Ubuntu’da nasıl bir openvpn sunucusu kurduğum üzerine bir şeyler demiştim. Şimdi de sıra istemci ayarlarında.
Openvpn sunucusunun kurulu olduğu bilgisayarda, diyelim ki netice adında bir kullanıcının bağlanması için yapmamız gerekenler şöyle:cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/./build-key neticecp keys/netice.* /etc/openvpncd /etc/openvpnchmod go= *build-key komutu yine ahiretlik sorular soracak, Netice arkadaşımızla çok samimi olduğumuz için anlamsız bilgiler girmemizde beis yoktur. Yanlız bağlanabilmesi için kendisinde netice.key, netice.crt ve ca.crt dosyalarının olması gereklidir. Bu dosyaların hepsi /etc/openvpn dizini altında bulunabilir ve flash disk marifetiyle kendisine iletilebilir.
Mekintoş için direkt openvpn kurulabilir, yapılandırma dosyalarıyla oynanarak bağlantı sağlanabilir. Ama bu türden bilgisayarların kullanıcıları nedense klavyeyi kül silkmekten başka bir iş için kullanmayı sevmediklerinden, grafik arabirim şarttır. Bu iş için ücretsiz yazılım olarak Tunnelblick, az paralı yazılım olarak da Viscosity kullanılmaktadır genelde. Ben önce Tunnelblick’i kurdum, sonra ilk verdiği hatada kendisini fütursuzca satarak Viscosity’ye geçtim. Aşağıda Viscosity ayarlarını bulacaksınız. Tunnelblick’i de fakirler anlatsın (Nıhahaha türünden bir kahkaha atacaktım ama daha parasını ödemediğimden her an Tunnelblick anlatır duruma düşebilirim). Neyse:Viscosity’yi alıp kurduktan sonra (kurmasını anlattırmayın şimdi, indiriyorsun, tıklıyorsun, onu oraya bunu buraya taşıyorsun falan) çalıştırdığımızda sağ üst köşede şöyle bir şey çıkıyor:
Hah, ona tıklayıp menüden “Preferences” seçeneğini seçin:
Şimdi sol alt köşedeki “+” düğmesine tıklayıp “New Connection” seçeneğini seçiyoruz:
Burada “Bağlantı İsmi” yazan yere daha anlamlı bir isim girebiliriz. Sonra da adres olarak sunucunun adresini giriyoruz. Protokolü de “tcp” yapalım, sunucuda öyle ayarlamıştık zira. Sonra “Certificates” tabına tıklayalım:
Burada sunucudan almış olduğumuz sertifika dosyalarını seçiyoruz.Başka ayara gerek yok “Save” düğmesine tıklayalım ve kaydedelim. Artık bağlantımız hazırdır:
“Connect Bağlantı İsmi” seçeneğine tıkladıktan sonra, ikon bir süre bağlanıyor dercesine dönüp duracak, bağlanınca da sevinçle size bu durumu bildirecektir:
Geçmiş olsun ve kolay gelsin. İyi çalışmalar, saygılar.
Ankara’daki en baba baklavacıdır kendisi. Gitmişken kebap da yersiniz ama asıl mevzu baklavadır. Sanırım Ankara’da başka kaymaklı baklava yapan da yok.
Openvpn kurmaya her niyet edişimde kurulum belgelerinin gevezeliğinden dolayı canım sıkılırdı. Kolay kurulum anlatan yazılan yazılarınsa işi kolaylaştırmak yerine zorlaştırdığını acı tecrübelerle farkettim. Kendi ağlarına özel ayarları “kolay kurulum” diye anlatıp, ağ ayarlarını çorbaya çeviren ya da bilmemne dağıtımının yüzbeş sürüm öncesi için geçerli olan komutları her sistemde geçerliymiş gibi anlatan bir sürü yazı, google’da aramanızla birlikte arz-ı endam eylemekteler. Bir de sunucuyla istemci yapılandırmasını karıştırmıyorlar mı, tam ayar oluyorum.
Ben diğer açıklamalardan daha iyisini yazdığımı sanmıyorum, ama benim için bir güzel çalışan yolu burada anlatacağım. Yazının bu kısmı sadece sunucu kurulumu kısmına ait. Linux, windows ve os x için de istemci kurulumlarını anlatırım sonra.
Aşağıdaki açıklamaların hepsi Ubuntu 8.04 hardy heron için geçerli. Sonraki ve önceki sürümlerde geçerli olmama ihtimali var.
Buyrun:
En kolay ve ilk adım:
sudo aptitude update
sudo aptitude safe-upgrade
sudo aptitude install openvpn
Soru falan sorunca “yes yes olrayt” demeyi ihmal etmiyoruz tabi.
Burada sunucunun çalışması için gerekli sertifikaları oluturuyoruz. Bu sertifika üretim işi her zaman karman çorman bir iş olduğu için, eğer önceden yapmadıysanız, robot gibi komutları girmenizi öneririm. Öbür türlü hangi dosyanın ne işe yaradığını anlamaya çalışmak, logaritma cetvelini ezberlemek kadar yararlı bir etkinlik.
cd /usr/share/doc/openvpn/examples/easy-rsa/2.0
. vars
./clean-all
./build-ca
./build-key-server server
./build-dh
Bu komutları çalıştırdığınızda, emin misiniz değil misiniz babında bir takım sorular gelecek ve tahmin ettiğiniz gibi yes yes (windows terminolojisindeki next next gibi) diyeceğiz. Ayrıca yeni anahtar üretirken adresinizi, isminizi falan soracak. Akılda kalacak bilgiler girerseniz (mesela common name sorunca sunucunun ismi, Ülke sorunca Türkiye ya da Patagonya vb.) daha rahat edersiniz. Lazım falan olur. Bu arada, clean-all komutu bir sürü şeyi sileceğini belirtecek. İlk kurulum olduğu için sorun yok.
İlk önce /etc/default/openvpn dosyasının içeriğini değiştiriyoruz. Şöyle olacak:
AUTOSTART="all"
STATUSREFRESH=10
Sonra da /etc/openvpn/server.conf diye bir dosya oluşturuyoruz. Onun da içeriği, başlangıç için şöyle olabilir:
port 1194
proto tcp
dev tun
ca ca.crt
cert server.crt
key server.key # This file should be kept secret
dh dh1024.pem
server 10.10.10.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push route 10.10.20.0 255.255.255.0
push route 10.10.30.0 255.255.255.0
push "redirect-gateway"
push "dhcp-option DOMAIN sunucualani.lokal"
push "dhcp-option DNS 10.0.0.1 "
keepalive 10 120
comp-lzo
max-clients 100
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
Buradaki ayarların bazılarının açıklamaya ihtiyacı var. Şöyle ki:
Sonra, bu dizine ihtiyacımız olan sertifika dosyalarını yazalım:
cd /etc/openvpn
cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/dh1024.pem .
cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/server.crt .
cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/server.key .
cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/ca.crt .
Son olarak, izinleri düzenleyelim:
cd /etc/openvpn
chown root:root *
chmod go= *
Güvenlik duvarında yapılması gereken 1194′üncü kapıdan tcp erişimine izin vermek. Ben shorewall kullanıyorum, o yüzden burada onun örneğini vereceğim.
Shorewall için değiştirmemiz gereken bir kaç dosya var:
rem tun0 detect dhcp,tcpflags,routeback
$FW rem ACCEPT
net rem DROP
rem loc ACCEPT
rem net ACCEPT
rem $FW ACCEPT
rem ipv4
ACCEPT rem $DNSSUNUCUSU tcp domain
ACCEPT rem $DNSSUNUCUSU udp domain
ACCEPT $DNSSUNUCUSU rem tcp - domain
ACCEPT $DNSSUNUCUSU rem udp - domain
ACCEPT rem loc tcp www
ACCEPT rem loc tcp ssh
ACCEPT net:1.2.3.4 $FW tcp openvpn
ACCEPT net:5.6.7.8 $FW tcp openvpn
ACCEPT net $FW tcp openvpn
net:9.1.2.3 yazmak gerekli. Tabii eğer bunun adresi de sanalsa başka kurallara da ihtiyaç var ama ben için o ayrıntısına girmeyeceğim.Bunlar da tamamlandıktan sonra kuralları yeniden yüklemek, shorewall ile olan işinizi bitirecektir:
shorewall check && shorewall restart
Tüm bu ayarlar bittikten sonra sunucuyu aşağıdaki komutlar etkin hale getirebiliriz:
sudo invoke-rc.d openvpn start
Aynı şekilde, durdurmak için de:
sudo invoke-rc.d openvpn stop
Openvpn kayıtları /var/log/daemon.log dosyasında tutuluyor. Neler olup bittiğini görmek için:
fgrep ' ovpn-server\[' /var/log/daemon.log | less
Ya da bağlantı sırasında dosyayı izlemek için:
fgrep ' ovpn-server\[' /var/log/daemon.log | tail -f
Sunucu kurulumu bu kadar.