Linux İle Ağ Takibi


Bazen kablomuz üzerinden geçen veriyi merak edebiliyoruz. Telefonumdaki uygulamalar kullandığım servisler hangi sıklıkla veri alıyor ve bunları nereye gönderiyor diye düşünebiliriz. Bu merakınızı gidermek için linux sistem üzerinde nasıl ağ takibi yapılacağını basit olarak anlatıyoruz.
Şuanda işletim sistemi olarak Windows kullanıyor olabilirsiniz. Ağ takibi için bilgisayarınıza linux kurmanıza gerek yok. Bilgisayarınızı sadece usb üzerinde linux ile boot etmeniz yeterli olacaktır. Ubuntu en son versiyonunu indirip Rufus ile usb belleğinize yazdırın. Rufus nasıl kullanıldığını bilmiyorsanız bu rehberimize bakabilirsiniz. 
Linux sisteminiz açıldıktan sonra terminali açın. Türkçe klavye ile ilgili bir problem yaşamamak için öncelikle klavye dilimizi ayarlayalım.Normalde Ubuntu dağıtımında net-tools yüklü olarak geliyor fakat benim kullandığım ubuntu-gnome üzerinde net-tools yüklü değildi. Bu yüzden net-tools da yüklemeyi deneyin. Sistemde varsa zaten bir problem çıkarmayacaktır.

setxkbmap tr
sudo apt-get install net-tools


Sıra geldi linux üzerinde kullanacağımız ağ araçlarının yüklenmesine.  İptraf wireshark ve tcpdump bizim kullanabileceğiz basit ağ araçları. Bunlardan en son kullanıcıya yönelik en kullanılabilir olanı wireshark olduğundan şimdilik onun kullanımını göstereceğiz.
Ülkemizde servis sağlayıcıları internet bağlantısını PPPOE (Point to Point Protocol over Ethernet & Ethernet Üzerinden Noktadan Noktaya Erişim Protokolü) kullanmaktadır. Yani modeme gelen xDSL bağlatısından sonra modem ilçede bulunan PPPOE sunucusu ile mac adresi ile rota bulup anlaşmaktadır ve bu iletişim üzerinden ip bağlantısı sağlanıyor. (Resimde pppoeconf yok . unuttuğumdan daha sonra yüklemek zorunda kaldım)

sudo apt-get update
sudo apt-get install wireshark pppoeconf


İhtiyacımız olan paketleri sisteme kurduk . Şimdi modem üzerinden gerekli ayarları yapmamız olarak gerekiyor. Normalde PPPOE bağlantısı modem üzerinde sonlandırılır ve evimizde bulunan cihazlar varsayılan ağ geçidi olarak modemi kullandığından tüm veri modem üzerinden geçmektedir. Yapacağımız ayarlamalar ile beraber bağlantı yine modem üzerinden geçicek fakat ipv4 bağlantısının başladığı nokta artık modem değil kullandığımız Linux bilgisayar olarak ayarlayacağız.
Linux cihazınız üzerinde ifconfig komutu ile sistemin yerel IPv4 adresini öğrenin.

Ben kendi evimde yerel adres bloğunu 10.0.0.0/16  kullandığımda ip adresleri hep 10 lu başlıyor. Normalde modem üreticileri 192.168.2.1/24 veya 192.168.1.1/24 bloğunu kullandığından sizde ipv4 yerel adresi 192 li olarak başlayacaktır.
Tarayıcı üzerinden modemin DHCP ayarlarına girelim . Burada varsayılan ağ geçidi (Default Gateway) olarak modemin ip adresi olacaktır. Normalde 192.168.1.1 yada 192.168.2.1 dir . Siz buraya yerel ip adresini yazacaksınız. DNS adresi olarak Google DNS yada farklı bir Public DNS sunucusu girin. Modem üzerinde İnternet erişimi olamayacağından DHCP üzerinde belirtilen DNS’i Public DNS ile değiştirmeyi sakın unutmayın.

Cihaz bağlantıları şuanda tümü sizin kullandığınız bilgisayar üzerinden geçecek şekilde ayarlandı. Peki sizin kullandığınız cihaz nasıl İnternet bağlanacak ? Burada PPPOE sonlandırmayı modem üzerinde değil bilgisayar üzerinde yapmaktan geçiyor.  Bunu yapabilmek için öncelikle servis sağlayıcımızın bize vermiş olduğu kullanıcı adı ile şifreyi hatırlıyor olmamız lazım. Modem ayarları üzerinde İnternet seçeneklerine girin. Bu sayfada gözüken normal bağlantınızı silin. Yeni ekle diyin ve ardından PPPOE değil Bridge seçeneğini seçin.  VDSL kullsanıyorsanız VPI 35  ADSL kullanıyorsanız VPI/VCI değerinin 8/35 olarak ayarlayın.  Modemi yeniden başlatın. Bazı modemler üzerinde değişiklik yeniden başlatana kadar geçerli olmuyor.
Linux cihazınız üzerinde sudo pppoeconf komutunu çalıştırın. Karşınıza çıkan ekranda kullanıcı adını yazın ve bir sonraki sayfada parolayı yazın.
İleri ileri diyerek kurulumu tamamladıktan sonra internet bağlantınız sağlanmış olması gerekiyor. Kurulum ekranında taramada sunucu bulunamadı diyorsa modem üzerinde yönlendirmede bir sıkıntı var demektir. 30 saniye bekledikten sonra tekrardan sudo pppoeconf komutunu çalıştırmayı deneyin.
Şuanda cihaz üzerinde internet bağlantısı var fakat bazen network-manager uygulaması cihazın IPV4 adresini yenilerken sorunla karşılaşabiliyor ve ipv4 adresinin silinmesine neden oluyor. Böyle bir problem olup olmadığını anlamak için ifconfig komutu ile sistemin geçerli bir ipv4 yerel adresine sahip olup olmadığına bakın. Resimdeki gibi IPV4 adresi gözükmüyorsa siz elle sudo ifconfig ağbağdaştırıcınız yerelipadresiniz yazarak ip adresini sisteme ekleyin.

Şimdi sıra rotaların ayarlanmasında. Benim cihazım laptop ve wifi ile modeme bağlıyım. Cihazın wifi ağ bağdaştırıcısı wlp4s0 olarak adlandırılmış. Bu sizde eth0, wifi0, wlan0, wl0 ve ens32 gibi olabilir.  Yukarıda bahsettiğim gibi yerel ağ ip bloğunuzun ne olduğundan emin olun . Örnek olarak 192.168.1.0/24 olarak ele alalım. Bu sizde farklı olabilir ona göre değiştirin.

sudo ip route del default
sudo ip route add 192.168.1.0/24 dev wlp4s0
sudo ip route add default dev ppp0

Şuanda bağlantılar bilgisayarınıza yönlendirildi fakat bilgisayarınız üzerinden İnternet çıkış yapamıyor . İnternete çıkış yapabilmesi için yerel ip adresinin bağlantısı İnternet ip adresiniz üzerinden geçecek şekilde çevrim yapılmalı (NAT44) ve Firewall buna izin vermesi gerekiyor. Aşağıdaki kodları yazarak Adres çevirme işlemini ve firewall ayarını yapabilirsiniz.

sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables --table nat --append POSTROUTING  -j MASQUERADE
sudo iptables --append FORWARD -j ACCEPT

Evde modeme olan cihazlarımızı (telefon, tablet, televizyon) yeniden başlattıktan sonra sudo wireshark komutu ile takip yazılımımız olan wireshark’ı açalım.
Wireshark açıldıktan sonra İnternet bağdaştırıcımız olan ppp0 seçerek trafiği izlemeye başlayalım.


Dijitaller'in Sunucu ve Ağ altyapısını kuran, düzenleyen. Genel olarak teknoloji ve bilim ile uğraşmayı severim . Detaylı bilgi için https://ahmetozer.org. Lütfen sorularınızı Dijitaller.com Yorumlar veya Twitter üzerinden iletin.

2 Yorum

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir