Yaratıcı Kablo Modem Konfigürasyonu

 

Bu yazıda Internet Servis Sağlayıcıların DOCSIS-uyumlu kablo modemleri ayarlama şekillerinden bahsediliyor ve kablo modem kullanıcısının potansiyel olarak nasıl kendi modemini konfigür edebileceği anlatılıyor.

 

Not: 2600 dergisi 19:1 sayısındaki Pankaj Arora'nın yazısından çevrilmiştir.

Kablo Modem teknolojisinin ilgi çekici yanı Cable Television Laboratories Inc. tarafından geliştirilen ve International Telecommunication Union (ITU) tarafından onaylanan Data Over Cable Specification (DOCSIS) standartlarıdır. Bu yazıda Internet Servis Sağlayıcıların DOCSIS-uyumlu kablo modemleri ayarlama şekillerinden bahsediyor ve kablo modem kullanıcısının potansiyel olarak nasıl kendi modemini konfigür edebileceğini anlatılıyor.

Burada unutulmaması gereken, modemin ayarları ile oynamak servis anlaşmasını bozabileceği gibi pek çok yerde kanunlara aykırı sayılabilir. Eğer araştırma yapmak istiyorsanız, öncesinde kablo modem servis sağlayıcısından izin almak şart. Bu yazımdaki bilgiler ile (kuralların dışına çıkmadan) kendinizi eğitebilirsiniz. Ayrıca kablo modem servisi sağlayıcılarının bu bilgiler ile servislerini daha iyi koruyabileceklerini umuyorum. Benim de bir kablo modemim var ve kablo modem firmasına ve kanunlara saygım var - fakat özgür konuşma ve öğrenime de çok değer veriyorum.

Bu yazıda okuyucunun TCP/IP, ağ ve Linux (diğer pek çok işletim sisteminde de yapılabilir) bilgisi olduğu varsayılmaktadır.

Bir ISS DOCSIS-uyumlu kablo modemleri nasıl ayarlar? Bunu cevaplayabilmek için önce kablo modem üzerindeki arabirimlere bakalım. Bir arabirim coaxial kablonun modeme bağlanmasını sağlayan HFC arabirimi. Diğeri ise CPE arabirimi adı verilen, kablo modemi müşterinin bilgisayarına bağlayan Ethernet ya da USB (veya bazı modellerde ikiside) arabirim. Bu arabirimlerin MAC adresleri üretim zamanında belirlenmiştir (fakat "spoof edilebilir"), IP adresleri ise ya statiktir yada ISS tarafından dinamik olarak atanır. Çoğu kimsenin belki de bilmediği şeylerden biri, HFC ve CPE arabirimlerinin kendi donanım ve IP adresleri olduğudur. CPE arabirimin adresi genelde 192.168.100.1'dir.

Kablo modeminizi açtığınızda HFC arabirimine IP adresi isteği yapabilmek için basit bir TCP/IP stack ve DHCP istemcisi kullanır. Bazı ISP'lerde aldığı IP adresi 10.x.x.x adres bloğundandır. Ek olarak, HFC arabirim için IP aldıktan sonra ISS'in TFTP sunucusunun IP adresini de almış olur. Modem TFTP sunucusunun IP adresini edindikten sonra buna bağlanarak konfigürasyon dosyasını indirir ve bunu downstream ve upstream bant genişliği değerlerini ayarlamada kullanır. Bu basit bir işlemdir ve genelde bir dakikadan uzun sürmez.

Peki kablo modem nasıl konfigür edilebilir. Bunu yapabilmek için önce ISS'in TFTP sunucusunun IP adresi öğrenilmelidir. Bazı durumlarda bu ISS'in DHCP sunucusu ile aynı IP ye sahiptir. Bunu bulabilmek için bazı modemlerin Ethernet/USB arabirimindeki basit web sunucusu kullanılabilir (ör. morotola surfboard modemlerde standart bir browser ile 192.168.100.1 IP adresine bakılarak). Eğer webden böyle bilgiye erişilemiyorsa modem bir SNMP istemcisi ile taranabilir.
TFTP dizin listesi almanıza izin vermediğinden konfigürasyon dosyasını indirmek için tam ismini bilmek gerekir. Yukarıdaki işlemlerle DOCSIS konfigürasyon dosyasının da ismi öğrenilmelidir. Bu bilgileri edindikten sonraki adım, bir TFTP istemcisi kullanarak ISS'in tftp sunucusundan konfigürasyon dosyasını indirip bir DOCSIS aracı ile dosyayı okunabilir text formatına dekod etmek olacaktır. Dosyayı dekod ettiğinizde aşağıdaki gibi olacaktır:

Main {
NetworkAccess 1;
ClassOfService {
ClassID 1;
MaxRateDown 154400;
MaxRateUp 128000;
PriorityUp 0;
GuaranteedUp 0;
MaxBurstUp 0;
PrivacyEnable 0;
}
MaxCPE 3;
/* EndOfDataMarker */
}

Teorik olarak birisi kendi istediği seçeneklere göre ayar yapabilir. Örneğin, MaxRateUp'ı 0 olarak ayarlamak "upstream" sınırını kaldıracaktır ve aynı şekilde MaxRateDown'ı 0 yapmak da "downstream" sınırını kaldıracaktır. Değişiklikler yapıldıktan sonra dosya bir DOCSIS aracı ile tekrar kodlanabilir. Tekrar belirteyim, kuralları bilin ve uyun. Bu bilgiler teknolojiyi anlamak için sağlanmıştır, kanunsuz aktivitelerde bulunulmasını desteklemek için değil. Zeki olun ve kanunların dışına çıkmayın, fakat aynı zamanda bu teknolojiyi öğrenmekten de korkmayın.

Peki birisi kendi hazırladığı konfigürasyonu nasıl kullanabilir? Sonraki adımlar Modemin CPE arabirimine bağlı makinada bir TFTP sunucusu ve Time sunucusu (çoğu kablo modem log girişlerine zamanıda yazarlar) çalıştırmakla ilgili.
1) Konfigürasyon dosyasını TFTP sunucunuzun ana dizinine koyun ve ISS'in kullandığı konfigürasyon dosyası ile aynı isimde olduğuna emin olun.
2) Kullandığınız işletim sistemine bağlı olarak HOSTS dosyasında modemin CPE IP adresi için bir kayıt girmeniz gerekebilir (Modem TFTP sunucusuna bağlanırken DNS kullanılamaz ve standart Linux inetd servisinin host isimlerini çözerken DNS'in olmaması problem olur). Çoğu Linux dağıtımında HOSTS dosyasının yeri /etc/hosts dur.
3) Kablo modeminizin bağlı olduğu arabirime bir IP alias yaratın. Tahmin edebileceğiniz gibi alias IP adresi modemi kandırmada kullanılacak olan TFTP sunucusunun IP adresidir. İletim sisteminize bağlı olarak bu çeşitli şekillerde yapılabilir. Kernel'de IP Aliasing desteği olan bir Lİnux da aşağıdaki komut ile yapabilirsiniz:
ifconfig eth0:1 (tftp sunucusu) netmask 255.255.255.255
(tftp sunucusu) yerine ISS'in TFTP sunucusunun IP adresini yazacaksınız. Eğer kernel'de IP aliasing desteği yoksa basitçe arabirimin IP adresini TFTP sunucusunun IP adresine değiştirin. Probleme yol açabilecek ağ yönlendirmelerinden sakınmak için netmask'i 255.255.255.255 olarak set ettiğinize emin olmalısınız.
4) Sonraki adım spoof edilen adresten gidildiğine emin olmak için, kablo modem'e bir statik yönlendirme eklemek. Linux'ta:
route add -host (cpe arabirim IP adresi) gw (tftp sunucusu)
komutu ile yapabilirsiniz. Parantez içindeki değerleri uygun olanlar ile değiştirin.
5) Tüm hazırlıklar tamamlandıktan sonra TFTP ve Time sunucuları aktif edilip modem pinglenmeye başlanabilir. Modem pinglenirken resetleyin (yada elektrik kablosunu çekip takın).
Eğer buraya kadar olan adımları başarılı olarak gerçekleştirdiyseniz kablo modem konfigürasyon dosyasını sizden indirecektir. İşlemler tamamlandıktan sonra IP adresi tekrar DHCP'ye yada ISS tarafından set edilen statik IP'ye çevrilebilir. Ping atmayı kesebilirsiniz.
Kablo modemin CPE arabirimine ping atmak kablo modemin ARP cache'ini zehirler ve modem resetlendiğinde gerçek TFTP sunucusunun MAC adresinin silinir ve böylece modem gerekli olan TFTP sunucusu MAC adresi bilgisi olarak sizinkini öğrenmiş olur.

Umarım bu yazıda anlatılanlar kablo modemlerin nasıl çalıştığı ve konfigür edildiği konusunda biraz bilgi vermiştir. Yazıda bahsedilen araçlar çeşitli platformlar için web'de bulunabilir.

Pankaj Arora