Pardus ve Linux Sistemlerde İstenmeyen Web Siteleri Nasıl Engellenir?
Özellikle laboratuvar ortamlarında öğrencilerin dikkatini derse vermesi veya güvenli olmayan içeriklerden uzak durması için bu, temel bir sistem yöneticisi (veya bilişim öğretmeni) becerisidir.
Bilişim sınıflarında veya kurum içi ağlarda, kullanıcıların (öğrencilerin) belirli web sitelerine erişimini kısıtlamak sıkça ihtiyaç duyulan bir önlemdir. Pardus (ve diğer Linux dağıtımlarında), bu işlem için harici bir yazılım kurmaya gerek kalmadan, işletim sisteminin temel ağ dosyalarını kullanarak etkili bir çözüm üretebiliriz.
Burada, en temel ve en kesin yöntem olan Hosts Dosyası Manipülasyonu ile site engellemeyi adım adım inceleyeceğiz.
Mantık Nedir? (DNS ve Hosts Dosyası)
Bilgisayarlar web sitelerine bağlanırken "isimleri" (örn: facebook.com) "IP adreslerine" (örn: 157.240.x.x) çevirmek zorundadır. Bu işleme DNS Çözümleme denir.
İşletim sistemi bir siteye gitmek istediğinde şu sırayı izler:
Önce kendi cebindeki not defterine (
/etc/hostsdosyası) bakar.Eğer orada yoksa, internetteki DNS sunucusuna sorar.
Bizim Yöntemimiz: Biz /etc/hosts dosyasına müdahale ederek, engellemek istediğimiz sitenin adresini yanlış bir yere (bilgisayarın kendisine yani 127.0.0.1 veya 0.0.0.0 adresine) yönlendireceğiz. Böylece siteye gitmeye çalışan tarayıcı, çıkmaz sokağa girecek ve site açılmayacaktır.
Yöntem 1: Terminal (Uçbirim) Kullanarak Site Engelleme
Bu yöntem en hızlı ve en etkili yöntemdir.
1. Uçbirimi Açın ve Yetki Alın
Hosts dosyası sistemin kök dizininde olduğu için yönetici (root) yetkilerine ihtiyacımız var. Uçbirimi açın ve şu komutu girin:
sudo nano /etc/hosts
(Parola sorduğunda Pardus yöneticisi parolasını girin. Yazarken karakterler görünmeyebilir, bu normaldir.)
2. Engellenecek Adresleri Ekleyin
Dosya açıldığında, mevcut satırların en altına inin. Engellemek istediğiniz siteleri aşağıdaki formatta ekleyin.
Format: 127.0.0.1 [engellenecek_site_adresi]
Örnek bir senaryo (Sosyal medya ve oyun sitelerini engelleme):
# Ogrenci Engelleme Listesi Baslangici127.0.0.1 www.facebook.com127.0.0.1 facebook.com127.0.0.1 www.instagram.com127.0.0.1 instagram.com127.0.0.1 www.roblox.com127.0.0.1 roblox.com127.0.0.1 www.youtube.com127.0.0.1 youtube.com# Ogrenci Engelleme Listesi Bitis
Önemli İpucu: Sitelerin hem
wwwolan hem dewwwolmayan hallerini (örn:site.comvewww.site.com) ayrı ayrı yazmanız garanti çözüm sağlar.
3. Kaydet ve Çık
Düzenleme bittikten sonra:
CTRL + O tuşlarına basın (Kaydetmek için).
Enter tuşuna basın (Dosya adını onaylamak için).
CTRL + X tuşlarına basın (Çıkmak için).
4. Test Edin
Tarayıcıyı açın ve engellediğiniz bir siteye girmeye çalışın. "Bağlantı reddedildi" veya "Siteye ulaşılamıyor" hatası alacaksınız. Genellikle bilgisayarı yeniden başlatmaya gerek yoktur ancak tarayıcı önbelleğini temizlemeniz gerekebilir.
Yöntem 2: Grafik Arayüz ile (Hosts Yöneticisi Kullanarak)
Eğer terminal kullanmak istemezseniz veya daha kullanıcı dostu bir yöntem arıyorsanız, Pardus Mağaza üzerinden yardımcı araçlar kullanabilirsiniz, ancak en pratik yöntem bir grafik metin düzenleyici ile açmaktır.
Metin Düzenleyici (gedit, mousepad vs.) kullanmak.
Boş bir alana sağ tıklayıp "Burada Uçbirim Aç" deyin.
Gelen pencereye
sudo gedit /etc/hostsyazın (Bu işlem dosyayı yetkili olarak açar).Yukarıdaki gibi siteleri ekleyip kaydedin.
Sıkça Sorulan Sorular ve İpuçları
Engeli nasıl kaldırırım? Eklediğiniz satırların başına
#işareti koyarsanız o satır "yorum satırı" olur ve engel kalkar. Ya da satırı tamamen silebilirsiniz. Örnek:# 127.0.0.1 facebook.com(Artık Facebook açılır).Öğrenciler bunu değiştirebilir mi? Hayır.
/etc/hostsdosyasını değiştirmek için root (yönetici) parolası gerekir. Öğrencilerde yönetici parolası olmadığı sürece bu engeli kaldıramazlar.Tüm okuldaki bilgisayarlara tek tek mi yapacağım? Eğer okulunuzda bir Samba/Active Directory yapısı veya Ansible gibi bir yönetim sistemi varsa, hazırladığınız bu
hostsdosyasını tek bir komutla tüm laboratuvara kopyalayabilirsiniz.Toplu kopyalama için basit bir örnek komut (SSH açık ise):
Bashscp /etc/hosts kullanici@ogrenci_pc_ip:/etc/hosts
Bir Sonraki Adım
Eğer okulunuzda yüzlerce bilgisayar varsa ve hosts dosyası ile uğraşmak zor geliyorsa, bir sonraki aşama DNS Filtreleme (Örn: Aile profili DNS'leri veya Pi-hole) veya Veyon gibi sınıf yönetim yazılımlarını kullanmaktır. Ancak tekil sınıflar ve hızlı çözümler için hosts dosyası en sadık dostunuzdur.
Python uygulaması:
Bu uygulama şunları yapar:
Okul Kimliği: Üst kısımda okul ismini gösterir.
Modern Arayüz: CSS ile makyajlanmış modern butonlar ve listeler kullanır.
Kolay Yönetim: Girilen siteyi
/etc/hostsdosyasına ekler veya listeden seçileni siler.
Kurulum ve Hazırlık
Öncelikle sistemde gerekli Python GTK kütüphanelerinin kurulu olduğundan emin olalım (Pardus'ta genelde yüklüdür ama garanti olsun):
sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0
Aşağıdaki adımları uygularken gönderdiğin logo dosyasının adını tsomtal.png olarak değiştirip python dosyasıyla aynı klasöre koymayı unutma.
Python Kodu (okul_filter.py)
Nasıl Çalıştırılır?
Yukarıdaki kodu
okul_filter.pyolarak kaydet.Terminali o klasörde aç ve şu komutu ver:
sudo python3 okul_filter.py
Uygulamanın Özellikleri
CSS Entegrasyonu:
load_cssfonksiyonu içinde CSS kodları gömülü. Butonlara "Kırmızı" (Engelle) ve "Yeşil" (Kaldır) renkleri verildi. Okul başlığı daha büyük ve kurumsal renklere yakın bir koyu mavi tonunda ayarlandı.Hata Yönetimi: Eğer uygulamayı
sudoolmadan açarsan, açılır açılmaz ve işlem yaparken seni uyarır.Otomatik Listeleme: Program açıldığında hali hazırda
/etc/hostsdosyasında engelli olan siteleri (localhost hariç) otomatik bulur ve listeye ekler.
Yorumlar