IPFire Özellikler

4.2 Özellikler

4.2.2 Squid Web Vekil Sunucusu

IPFire tarafından kullanılan web vekil sunucusu Genel Kamu Lisansı altında yayınlanmıştır. İdare ortamlarında vekil sunucular genellikle kara veya beyaz listeler, düzenli ifadeler, günlük veya erişim kontrol amaçlı kullanılır. Ayrıca ek bir koruyucu mekanizma olarak veya bant genişliği ve hız düzenlemesi içinde kullanılırlar.

4.2.2.1 Squid Kayıtları

“Günlükler -> Vekil sunucu günlükleri” ve “Günlükler -> Vekil sunucu raporları” grafik kullanıcı ara yüzü kullanılarak gözden geçirilebilir. Fakat günlükler hakkında daha farklı bilgilere ulaşılmak istenirse “/var/log/squid” altından ulaşılabilir.

Varsayılan olarak IPFire üzerinde üç adet günlük seçeneği bulunmaktadır. Bular:

  • log
  • log
  • log
access.log

“Acces.log” sadece tüm vekil sunucu isteklerini tutmaz aynı zamanda her sayfanın da içeriğini tutar. Tüm günlüğün tam bir çıktısını almak için aşağıdaki komutu kullanabilirsiniz:

cat /var/log/squid/access.log

Squid günlüğünün gerçek zamanlı bir çıktısını almak isterseniz aşağıdaki komutu kullanın:

tail -f /var/log/squid/access.log

Örneğin:

1399752869.518 157 10.10.10.181 TCP_MISS/200 10371 GET http://wiki.ipfire.org/en/configuration/network/proxy/ext_info/logging – HIER_DIRECT/178.63.73.246 text/html

  • 518 : UNIX zaman damgası biçiminde milisaniyelik olarak doğrulamayı belirtir. Bu zaman damgasını çevirmek için “http://www.onlineconversion.com/unix_time.htm” adresini kullanabilirsiniz.
  • 157: Geçen süredir. Gerekli tepki süresidir. Ayrıca milisaniye cinsinden ölçülür.
  • 10.10.181: İstek gönderen istemcinin IP adresidir.
  • TCP_MISS/200: Kod/Durumudur. İstek http durum kodunu ve durum değerini döndürür. İlk değer ilişkili durum değerini belirtir. İkinci değer durum kodunu gösterir. Durum kodları için “http://en.wikipedia.org/wiki/List_of_HTTP_status_codes” adresini ziyaret edebilirsiniz.
  • 10371: İsteğe teslim edilen dosyanın boyutunu bayt cinsinden veren alandır.
  • GET: Yöntem alanıdır. İstek türünü belirtir. İstek yöntemleri için “http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request%20methods” adresini ziyaret edebilirsiniz.
  • URL: İstenen URL adresini belirtir.
  • Text/html: İçerik türünü belirten alandır.
cache.log

Bu günlüğe squid çalışırken üretilen hata ve hata ayıklama raporları için bir göz atmakta yarar vardır. Squid de kötü giden bir şey varsa ilk bakılacak yer burası olmalıdır. Tüm günlüğün tam bir çıktısını almak için aşağıdaki komutu kullanabilirsiniz:

cat /var/log/squid/cache.log

Squid günlüğünün gerçek zamanlı bir çıktısını almak isterseniz aşağıdaki komutu kullanın:

tail -f /var/log/squid/cache.log
user_agent.log

Bu günlük istemcilerin işletim sistemleri ve tarayıcıları hakkında bilgi verir. Çıkışı üç bölüme ayrılmıştır. Tüm günlüğün tam bir çıktısını almak için aşağıdaki komutu kullanabilirsiniz:

cat /var/log/squid/user_agent.log

Squid günlüğünün gerçek zamanlı bir çıktısını almak isterseniz aşağıdaki komutu kullanın:

tail -f /var/log/squid/user_agent.log

Örnek:

10.10.11.253 [10/May/2014:23:57:51 +0300] “Dalvik/1.6.0 (Linux; U; Android 4.1.1; WM8850-mid Build/JRO03H)”

  • 10.11.253: İstek gönderen istemci IP adresi.
  • [10/May/2014:23:57:51 +0300]: Zaman damgası. Ne zaman saat kaçta istekte bulunduğu.
  • Sonraki alan ise işletim sistemi ve kullanılan tarayıcı.

4.2.2.2 Ek Günlükler

Squid IPFire üzerinde daha önceden tutulan günlükleri de gösterebilmektedir. Bunları etkinleştirmek için ayar yapılması gerekir.

store.log

Gereksiz günlükleri engellemek için sorun giderme işleminden sonra bu seçeneğin kapatılmasında yarar vardır. “Store.log” disk önbelleğini verileri kaydeder. Kaydedilen bu günlük bilgileri öncelikle hata ayıklama için kullanılır. “Store.log” “squid.conf” dosyası ayarlanarak oluşturulabilir. İlk olarak “store.log” dosyasının oluşturulması gerekir. Bu “/var/log/squid” altında squid günlük dizininde yapılabilir. Bu işlemi elle nasıl yapmak için “Squid Yapılandırmasını Elle Düzenleme” bölümüne bakabilirsiniz.

8409  329 -rw-r--r--  1 squid squid  333540 2012-04-23 13:53 store.log

Squid.conf dosyasına veri girmek için “/var/ipfire/proxy/advanced/acls/include.acl” üzerine veri girişleri daha sonra yapılmalıdır. “Store.log” için öncelikle aşağıdaki işlemler yapılmalıdır.

“/var/ipfire/proxy/advanced/acls/include.acl” içerisine örnek veri girişi:

# Error cache log

cache_store_log /var/log/squid/store.log

Şimdi tüm günlüğün tam bir çıktısını almak için aşağıdaki komutu kullanabilirsiniz:

cat /var/log/squid/store.log

Squid günlüğünün gerçek zamanlı bir çıktısını almak isterseniz aşağıdaki komutu kullanın:

tail -f /var/log/squid/store.log

Örnek “store.log” çıktısı:

1335181731.212 RELEASE -1 FFFFFFFF 99DB11FB3AF0F128A436C9DF473AF9A3  200 1335181732  -1 375007920 text/html -1/62 POST http://wiki.ipfire.org/lib/exe/ajax.php

  • 212: UNIX zaman damgası biçiminde milisaniyelik olarak doğrulamayı belirtir. Bu zaman damgasını çevirmek için “http://www.onlineconversion.com/unix_time.htm” adresini kullanabilirsiniz.
  • RELASE: Nesne üzerinde uygulanan işlemi açıklar.
  • -1: cache_dir altında saklanan nesne sayısını açıklar. İlk cache_dir 0 ile başlar.
  • FFFFFFFF: Nesnenin dosya numarasını tanımlar. Burada bellekte tutulan nesneler yalnızca bellek nesneleri) tarif edilmiştir.
  • 99DB11FB3AF0F128A436C9DF473AF9A3: Squid indeksi önbelleğe alınan nesne için bir MD5 hash kullanır.
  • 200: http yanıt durumu kodunu belirtir.
  • 1335181732: Başlıktan tarih okunan değerdir.
  • -1: Başlıktan son değiştirilme tarih bölümünü veren değerdir.
  • 375007920: http yanıtının bitiş değerini verir.
  • Text/html: İçerik tür adını belirtir.
  • -1/62: Taksim ile ayrılmış iki değer içerir. İlk değer içerik uzunluğunun istatistiklerini ikinci değer ise ikinci nesnenin gerçek boyutunu okur.
  • POST: Nesne için kullanılan erişim yöntemini verir.
  • http://wiki.ipfire.org/lib/exe/ajax.php: Nesnenin türü tanımlanır. Genellikle url adresidir.

4.2.3 Squid Yapılandırmasını Elle Düzenleme

IPFire içerisinde kullanılan squid içerisinde 200 (+-60) ayar seçeneği vardır. Bireysel bir değişiklik “/etc/squid/squid.conf” dosyasına eklendiğinde yeni bir güncelleme çıktığında veya IPFire sisteminizi baştan başlattığınızda girdiğiniz veriler silinecektir. Bunun yerine ekleyeceğiniz kodları “/var/ipfire/proxy/advanced/acls/include.acl” altına ekleyebilirsiniz.

Yaptığınız bir değişiklikten sonra grafik kullanıcı ara yüzünden web vekil sunucuyu başlatarak değişikliklerin uygulanmasını sağlayabilirsiniz.

Örneğin “store.log” dosyasını ekleme veri eklemek için aşağıdakileri uygulayabilirsiniz. Gereksiz günlük miktarını önlemek için sorun giderildikten sonra bu seçenek tekrar kapatılmalıdır.

Örnek:

#Start of custom includes

# Error cache log

cache_store_log /var/log/squid/cache_store.log

#End of custom includes

Bir Cevap Yazın