OpenWrt ile PirateBox Yapımı

Tamam da diğerlerinden farklı ne anlatacaksın?

Uzun bir aradan sonra tekrar yazıyorum. Umarım ortaya güzel bir şeyler çıkar. Bu yazıda amacım; OpenWrt temelli PirateBox yapım sürecimi sizlerle paylaşmak ve PirateBox yapma düşüncesi olanlara basit bir rehber hazırlamak. Başlamadan önce bazı kavramlardan bahsetmek lazım.

OpenWrt Nedir?

OpenWrt
Şey değil mi o ya, Mr. Robot?

OpenWrt özgürlüktür. Hem de kablosuz özgürlüktür.

OpenWrt, gömülü sistemler – özellikle de yönlendiriciler (router) – için bir GNU/Linux dağıtımıdır. Bu, sıradan bir firmware* değildir. Yönlendiricinize tek bir yazılım yüklemek yerine, paket yöneticisi sayesinde değiştirilebilen ve geliştirilebilen bir sistem istiyorsanız OpenWrt aradığınız şey olabilir.

OpenWrt: https://openwrt.org/

*Firmware: Donanımın yazılımı. Donanımın çalışabilmesi için ihtiyaç duyduğu temel komutlar. Müzik çalarınızda, cep telefonunuzda, klima kumandanızda, çamaşır makinenizde ve daha birçok cihazda firmware bulunur. Bir donanımın firmware’ini siler veya bozarsanız, cihaz çalışmaz hâle gelir. https://tr.wikipedia.org/wiki/Donan%C4%B1m_yaz%C4%B1l%C4%B1m%C4%B1

Neden Böyle Bir Şeye İhtiyaç Duyayım?

Şimdi yakın zamanda taahhütünüz bitti. Modem hediyeli kampanyadan “faydalanıp(!)” 24 aya daha imza attınız değil mi? Cihazın üzerinde kocaman Türk Telekom, Superonline logoları. Cihazınızın markası – örnek veriyorum – AirTies, TP-Link falan ancak belli ki özel bir üretim. Size imzayı attıranlara özel hazırlanmış.

Kabloyu takıyorsunuz. Kurulum kendi kendine tamamlanıyor. O da ne? Ayarları istediğiniz gibi değiştiremiyorsunuz. Ney ney? Bir dakika! Kurulum otomatik mi oluyor? İyi de nasıl? Müşteri hizmetlerini arıyorsunuz, modeminize bağlanıp takır takır işlem yapıyor. Nasıl olur? O arkadaş giriyorsa bir başkası da giremez mi?

Backdoor: Arka kapı. Sistemlere erişebilmek için farkında olmadan veya kasten bırakılan yollar. Örneğin, satın aldığınız iPhone’larda yer alan backdoor sayesinde bütün Amerika ne halt ettiğinizi görebiliyor. Sen de hâlâ beni story’lerinden gizlemeye çalışıyorsun.

Kıymetli dostlarım. Para benim param, cihaz benim cihazım. Dolayısıyla yazılımın da benim olmasında hiçbir sakınca görmüyorum, hatta olmamasını mantıksız buluyorum. Ek olarak OpenWrt sayesinde;

  • Yönlendiricinizin güvenliğini arttırabilirsiniz.
  • Yönlendiricinize yeni özellikler kazandırabilirsiniz.
  • Yönlendiricinizde değiştirilmesine izin verilmeyen ayarları dilediğiniz gibi değiştirebilirsiniz.
  • Mahremiyetinizi arttırırsınız.

Ne demiştik? Firmware bu. Hata yaparsanız cihazınız çalışmayabilir. Hmm o zaman kurcalamayalım.

Ya arkadaş kork kork nereye kadar yeterin artık.

TP-Link MR3040 üzerine yüklediğim OpenWrt sayesinde, “ssh” üzerinden cihazıma rahatlıkla bağlanabiliyorum. Yeni paketler yükleyebiliyor, yapılandırma ayarlarını değiştirebiliyorum.

OpenWrt
OpenWrt

PirateBox Nedir?

PirateBox, cebinizde gezdireceğiniz bir ağ düğümüdür. Korsan radyo yayınlarına ithafen isimlendirilmiştir. Hı? https://piratebox.cc/

Normalde; iki cihaz arasında dosya paylaşmak, iletişime geçmek vs. için bu cihazların ortak bir ağda olması gerekmektedir. Bu; bir Bluetooth ağı olabileceği gibi, NFC gibi sistemler sayesinde kurulan bir ağ da olabilir. Ancak farkında olmadan deli gibi dâhil olmak istediğimiz ve üste para verdiğimiz bir ağ daha var, Internet.

Bir arkadaşınıza, çok afedersiniz, WhatsApp üzerinden bir mesaj gönderme gafletine düştüyseniz mesela; bu mesajın karşıya gidebilmesi için arkadaşınızda da sizde de Internet erişimi olmalıdır. Çünkü o şeyin sunucuları da Internet ağındadır.

Peki iki cihazın haberleşmesi için Internet şart mıdır? Hayır. Bizler kendi ağlarımızı kurarak da haberleşebiliriz. Yoklama alıyorum, CS’ci gençlik burada mı? Internet cafelerin bilgisayarlarında yerel ağ üzerinden komik videolar, küfürlü ses kayıtları dinledik mi? Masa 2’nin kurduğu Half-Life’a hepimiz bağlandık mı? Crossfire bitince, boot_camp başlayınca hemen çıkıp baştan kurmadık mı? İşte orada yaptığımız şey yerel bir ağ üzerinden haberleşmekti. Oradaki LAN da Local Area Network işte, yerel alan ağı.

*Meshnet: Bağlantı düğümlerinin doğrudan birbirine bağlandığı yerel ağ topolojisi. https://en.wikipedia.org/wiki/Meshnet

Yani Bu Durumda PirateBox..?

PirateBox, kendinize ait çevrimdışı bir ağ kurabilmenizi sağlar. Bu ağa bağlanan cihazlar birbirleriyle iletişime geçebilir, dosya paylaşabilir. Ancak Internet’e bağlı değilsinizdir. Kendi aranızda takılırsınız. İster kablolu, ister kablosuz bağlanabilirsiniz. Evinize gelen misafirinize Wi-Fi parolası veriyorsunuz ya, aynı şekilde PirateBox’ınıza da bağlanabilirler. Neden?

  • Tatildeyiz. Internet yok. Arkadaşlarla oyun oynayacağız. PirateBox’a bağlanıp oynayabiliriz. Hatta bunun için PirateBox’a bile gerek yok. Ortaya bir modem koyup açın, tamam. Tecrübeyle sabit.
  • Yan komşuyla mesajlaşmak istiyoruz. Dosya paylaşmak istiyoruz. Ancak bu işlemlerde Internet kotası gitmesin; hatta Internet’e hiç bağlanmayalım, para ödemeyelim istiyoruz. PirateBox kurarız ortaya, iki taraf da bağlanır.
  • Bir laboratuvardayız, konferanstayız, otobüsteyiz. Hiç fark etmez. Tüm herkese dağıtmak istediğimiz bir dosya, göndermek istediğimiz bir mesaj var. Bunu PirateBox ile yapabiliriz.
  • Yer altındayız. Gökyüzündeyiz. Kamptayız. Dağdayız. Denizdeyiz. Internet yok, telefon çekmiyor. Ancak PirateBox’ı da yanımızda götürüp kendi aramızda haberleşmeye devam edebiliriz.

PirateBox taşınabilir bir cihaz. Pille veya şebeke elektriğiyle çalışır. Pili bitince şarj edersiniz. Güneş pili, bisiklet dinamosu gibi yaratıcı yollarla şarj edenler de var. Yukarıda verdiğim durumlar ve aşağıda vereceğim örnekler güç tüketimi konusunu düşündürebilir. Açıklamak istedim.

PirateBox ile Neler Yapılabilir?

Cihazları birbiriyle haberleştirerek neler yapabilirsiniz?

  • PirateBox’ınıza Icecast kurabilirsiniz. Sonra bir flash bellek ile şarkıları atarsınız içine. Çantanızda radyo yayını taşırsınız.
  • OpenStreetMap indirirsiniz. PirateBox’a atarsınız. Çıkarsınız yola bisikletinizle, motorunuzla falan. Bütün ekip berabersiniz. 15-20 kişi gidiyorsunuz. Herkes sizin PirateBox’a bağlanır telefonundan. Herkesin elinde haritası hazır olur. Bende mobil veri yok, benim Internet yavaş, burada çekmiyor, eyvah ne olacağız demek yok. PirateBox’ın yakınında olan herkes PirateBox’a bağlanabilir. Hiçbir ücret ödemez.
  • Okulunuzun kütüphanesinden Internet’e çıkış istemiyorsunuz. Yalnızca kütüphanenin belirlediği kaynaklar incelenebilsin istiyorsunuz. Kütüphanenize PirateBox kurup bütün bilgisayarları oraya bağlayın. Zaten Internet’e çıkamazlar. Yerelde mutlu mutlu takılırsınız. Ayrıca bakınız: LibraryBox
  • Kendi web sitenizi PirateBox’a kurabilirsiniz. Bu sayede sitenizi çantanızda gezdirebilirsiniz. Internet üzerinden erişilemeyen, yalnızca yakınınızdaki cihazlar tarafından bağlanılabilen bir web sitesi oluşturabilirsiniz. “İyi de herkes giremeyecekse ne yapayım siteyi” demeyin. Web üzerinden çalıştırabileceğiniz ve cebinizde gezdirmek isteyeceğiniz birçok yazılım olabilir. Dikkat edin, Internet olmadan da çalışabiliyor. Internet’te zaten çalışır.

Daha neler yapıldı, yapılır. Örnekler çoğaltılabilir.

OpenWrt ve TP-Link MR3040 ile PirateBox Kurulumu

Bu bölümü PirateBox’ın kendi sitesinden zaten bulabilirsiniz. Benim tek katkım Türkçe yazmış olmaktır. Ayrıca, TP-Link MR3040 haricinde bir yönlendirici kullanacaksanız lütfen orijinal sayfayla kıyaslayarak gidin. Çünkü GLiNet yönlendirici ile ilgili verilen ufak notları yazmayacağım.

PirateBox geliştiricileri, kurulum işini epey kolaylaştırmışlar. Dolayısıyla onların sağladığı yazılımı ve onların önerdiği yönlendiricileri kullanırsanız 1 saat içerisinde işlem tamam. Diğer türlü, kendiniz biraz uğraşmak zorunda kalacaksınız.

Temelde yapacağımız iş basit. Var olan yönlendiricimizin içindeki yazılımı (firmware) değiştireceğiz. OpenWrt kuracağız. OpenWrt üzerine de PirateBox kuracağız. Bunun için bize lazım olan şeyler:

  • TP-Link MR3020, TP-Link MR3040 veya harici antenli GLiNet yönlendirici. Ben TP-Link MR3040 aldım. Tam donanım listesi için: https://piratebox.cc/openwrt:hardware
  • FAT32, tek partition bir flash bellek. USB 3.0 olursa çok akım çekebilir. USB 2.0 altında olursa da yavaş kalır kilitlenme yapabilir demişler. Bildiğin bellek alacaksınız işte.
  • Ethernet kablosu. MR3040 içinden çıktı.
  • Ethernet kablosunu takabileceğiniz bir bilgisayar.
  • PirateBox yükleyicisi. Şu adresten temin edebilirsiniz. http://stable.openwrt.piratebox.de/auto/install_piratebox.zip
  • Özel bir OpenWrt sürümü. Şu adresten kendi modelinize uygun bir yazılım seçeceksiniz. http://stable.openwrt.piratebox.de/auto/ Mesela bende TP-Link MR3040 v2 var. Bu arada v1 ve v2 dışında başka modeller desteklenmiyormuş. Bu durumda benim temin ettiğim dosya şu isimde oluyor: openwrt-ar71xx-generic-tl-mr3040-v2-squashfs-factory.bin

Hazır mıyız?

PirateBox Kurulum Adımları

  1. Yönlendiriciniz kapalı olsun.
  2. “install_piratebox.zip” dosyasını arşivden çıkarın. “install” isimli dizini flash belleğinize atın. İçindekileri değil, direk install dizinini atın.
  3. Belleği yönlendiricinize takın. Açmayın!
  4. Yönlendirici üzerinde 3G/4G, WSP, AP gibi modlar göreceksiniz. 3G moduna alın. 3G/4G de olabilir. O civarlarda işte. Muhtemelen bir anahtar var – ki MR3040’ta vardı – ve o anahtarı kullanarak bu modu seçebilirsiniz.
  5. Yönlendiricinizi güç kaynağına bağlayın.
  6. Ethetnet kablosu aracılığıyla bilgisayarınıza bağlayın. IP çakışması yaşama ihtimalinizi bilemeyeceğim için, Wi-Fi bağlantınız varsa kesin.
  7. Yönlendiricinizi açın.
  8. Bir web taracıyısı açın ve kullandığınız yönlendiriciye göre şu adreslerden birine gidin:
    • MR3020: http://192.168.0.254
    • MR3040: http://192.168.0.1
    • GLiNet: http://192.168.8.1
  9. Varsayılan kullanıcı adınızı ve parolanızı girin. Cihazınızın kutusunda, kitapçığında yazıyor olabilir. Web’te arayarak bulabilirsiniz. Ya da benim gibi admin & admin yazıp girebilirsiniz.
  10. Sistem Araçları (System Tools) > Firmware Upgrade (Türkçesini hatırlayamıyorum, yazılım yükseltme falan demiş olabilirler) linklerine tıklayın. “Gözat” diyerek önceki adımlarda indirdiğiniz “*.bin” uzantılı dosyayı seçin ve “Yükselt, Yükle” artık ne yazıyorsa ona tıklayın.
  11. 45 dakikaya kadar zaman tanıyın. Cihazın ışıkları söner, yanar. Cihaz birkaç kez yeniden başlayabilir. Işıklar tamamen sönebilir. Yanık kalabilir. Bekleyin, sabırlı olun. En az 15-20 dakika geçsin. Sonrasında ışıkları sürekli takip edin. En ufak bir hareket görürseniz beklemeye devam edin. Dakikalarca hareketsiz kalırsa eğer, yükleme tamamlandı diyebiliriz. Ayrıca, bu yükleme işlemine başlarken girdiğiniz yönetim paneline bağlantınız kesilecektir. Bu çok normaldir. Tekrar girmeye çalışmayınız. Bu çabanız işleri berbat edebilir.
  12. Kurduk bitti diyorsanız şayet, GNU/Linux sistemlerde terminali açın ve şu komutu yazın:

    telnet 192.168.1.1

  13. Windows (tövbe) cihazlarda ise PuTTY kullanarak aynı komutu yazabilirsiniz. telnet kullanıyoruz ilk adımda, ssh değil.
  14. Sonrasında çıktılar sizi yönlendirecek. root parolası belirleyeceksiniz. Tarih & saat ayarları yapacaksınız. Buraları size paslıyorum artık. Sorularınız olursa yardımcı olmaya çalışırım.
OpenWrt Android
CyanogenMod ROM’lu Android cihazımdan Terminal Emulator kullanarak kurduğum bağlantı.
PirateBox index
PirateBox giriş sayfası (Mobil)
PirateBox Sohbet
PirateBox Sohbet
PirateBox Dosya Paylaşımı
PirateBox Dosya Paylaşımı

Şimdilik burada noktalıyorum. İlerleyen zamanlarda farklı şeyler deneyebilirim. PirateBox yapmak için OpenWrt kullanmak zorunda değilsiniz. Raspberry Pi veya sıradan bir Android cihaz da kullanabilirsiniz. Aklınızda olsun 😉