Re: [Basari-cg] Linux Firewall + dinamik VLANyöneticisi

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: Kerem ERZURUMLU (kerem@linux.org.tr)
Date: Wed 08 Dec 2004 - 14:37:27 EET


        Merhabalar;

        Arda: posta adresin neydi? Pek de cahil kaldım şimdi :)

        Proje ile ilgili detaylı bilgilere gelince; (destan gibi uzun oldu
kusura bakmayın)

        Bölümde ben başlamadan evvel ve henüz kadromun gelmediği yıllarda bir
kaç defa tekrarlanan sızma ve virüs problemleri yaşandı. Malum virüsler
canımızı okudu, sızma ile hocaların bilgisayarlarından sınav soruları vs
çalındı.

        Sonuçta benimde kadrom gelince bölümün tüm sunucu ve ağ işleri üzerime
kaldı (üzerime mi kaldı, ben mi el koydum bilmiyorum).

        Sonuçta üniversitenin projeleri vs'si aracılığı ile Cisco 2950T-24
switchler (daha önce 10Mpbs hub kullanıyorduk) ve bir adette Dell 2650
makina alındı. Makinanın teknik detayı aşağıda. 2950T'ler ise L2 çalışan
snmp destekleyen standart switchler. Üzerlerinde iki adet Gigabit
ethernet portu, 24 adet'te 100Mbps hızında ethernet portları var.

Sunucu Özellikleri:
2 adet Xenon 2.4Ghz
6Gb ECC RAM
5 adet 73Gb SCSI2 disk
2 adet Quad Gigabit ethernet kartı
2 adet on-board gigabit ethernet kartı.

        Makinanın öküzlemesine olduğunu biliyorum. Fakat bölüm başkanlığı
"Bunları sonradan upgrade falan edemeyiz, alacaksak maksimum upgrade'li
halini alalım" dedi. Zaten makina'nın bize KDV hariç geliş fiyatı da
4500$'ın altında. Postanın ilerleyen kısımlarında makinanın yükü üstünde
de duracağım.

        Makina geldikten sonra üzerine bir temiz işletim sistemi kurdum. Temel
çalışmalar ve planlamalar gerçekleştirildikten sonra IP planlamasını
yaptım ve elimizde olan C sınıfı IP adreslerini 8 farklı parçaya bölerek
kullanma kararı aldım.

193.140.236.0/28 Sunucular
193.140.236.16/28 Sekreterlik/Kütüphane vs.
193.140.236.32/27 Lab 1
193.140.236.64/26 Akademisyenler
193.140.236.128/27 Lab 2
193.140.236.160/27 Lab 3
193.140.236.192/27 Lab 4
193.140.236.224/27 Reserved

        Fakat yeni oluşturulan sistem odamıza (daha önce bir sistem odası
yoktu. Ofisten bozma bir oda kullanılıyordu ve BIM'e giden hattımız tek
değildi) önemli noktalardan up-link kabloları geliyordu. Buradaki en
büyük problem akademisyen olarak tanımlamış olduğum grubun 3 farklı
merkezde bulunuyor olması idi.

        İki seçeneğim vardı. Ya uç noktaları bir switch'de toplayıp FW'ye
girecektim, yada FW üzerinde ether bridge yapacaktım. up-link'ler
gigabit olsun diye ikincisini tercih ettim.

        Firewall'da performans problemleri yaşamayalım diye 2.6.2 çekirdeğinin
çıkmasından yaklaşık 1 ay sonra 2.6.2 çekirdeğine geçtim. Malum 2.4 ile
farkı baya var.

        Bir akşam üstü 16:30'dan sonra firewall'umun ilk bacağını aktif hale
getirdim ve BIM'den 193.140.236.0/24 IP'lerine olan tüm trafiğin
firewall'a akmasını sağladım. Sonra uçları daha önce ayarlamış olduğum
interface'lere bağladım ve DHCP ayar dosyasını yeni hali ile
değiştirdim. yaklaşık 15 dakikada firewall olarak kurduğum cihaz layer3
switch gibi çalışıyordu.

        Sonra iptables'ı ele aldım. fwbuilder aracılığı ile kuralları
oluşturdum ve install ettim. Canavar gibi çalışıyordu.

        Bunun üzerine diyer eklentilerini yaptım. Üzerine snort+ACID+ntop
kurdum. snort+ACID aracılığı ile saldırıları takip ediyor, ntop ile de
hatlar üzerindeki yükleri/pc bazındaki hareketleri inceliyorum. Şu anda
ntop'a göre BIM'e çıkmakta olan eth0'ın ortalama değeri 9Mbps, tavanı
ise 60Mbps, sunucuların bağlı olduğu bacağınki ise (NFS ve NIS
sunucuları da var) ortalama 11Mbps, tavan 80Mbps.

        Tabi insan-oğlu denen meret güzel oldu artık bitti demiyor. Başta
öğrenciler biz laptop bağlamak istiyoruz diye geldiler, her fırsatta
bölüm başkanlığına söylemişler. Dolayı ile "öğrenci laptop"larını
bağlama altyapısı bir iş oluverdi.

        Sonuçta DHCP'de ufak ayarlar yaparak tanımlı olmayan MAC adreslerine
192.168.58.0/24 segmentinden Ip vermesini sağladım, lablardan birince
öğrencilerin bağlaması için UTP kablo hazırladım, firewall'da o bacağa
bir IP daha bindirdim ve iptables'a hadi NAT'la bakayım dedim.

        Bu hadise geçtikten sonra insan-oğlu denen meret başıma bir iş daha
açtı. Neymiş laptop'u olan hocalar dersliklerde ders anlatırken
IP'lerini değiştirmeden laptoplarını kullanamıyormuş, öğrenciler laptop
haricindeki yerlerden de laptoplarını bağlayabilecekmiş.

        Hal böyle olunca çözümün tek yolu VLAN'ları port tabanlıdan MAC
tabanlıya taşımaktı. Bunu yapmak için 2 yolum vardı; 1. Firewall'dan
önce bir switch daha yerleştireceğim ve trunk'lar ile bu switch'e
gireceğim, oradan vlan link'lerini FW'ye taşıyacağım, yada FW'yi
trunklardan anlayacak hale getireceğim.

        Hali ile ben zor olanı seçtim (elimde ki switch sayısı iyice azalmıştı
-1 tane yedek switchim var). Öncelikle bir VMPS sunucusuna ihtiyacım
vardı. Google sağolsun hemen bir tane buldum. Bazı benim ihtiyacıma
uymayan özellikleri vardı (tanımlı olmayan MAC adreslerine VLAN atamama
gibi). Bende biraz kaynak koduna inerek düzenlemelerimi yaptım. Sonra
2.6.9 çekirdeğine geçtim ve çekirdeği 802.1Q destekli olarak derledim.
VLAN trunk'ları cihaz başta anlamadı. Onu çözmek içinde bir miktar
uğraşmam gerekti. Problem ethernet MTU'sundan kaynaklanıyordu. Dolayısı
ile ethernet kartımın kaynak kodu olan e1000.c içeirisnde de ufak
değişiklikler yapmam gerekti.

        Tüm bunlardan sonra BIM'e inen uç ve sunucu bacağı hariç tüm
interface'leri bir bridge içine aldım ve vlan aracılığı ile vlan
numarasi ile bu bridge'lerin altında vlan2, vlan3 şeklinde
interface'lerimi elde ettim. Tabi ondan sonra gelsin ifconfig vlanx
komutları.

        Sonrada tüm bölümdeki switchlere aynı ayarı yükledim. Ayar kısaca "bu
porta bir cihaz bağlandığında MAC adresi ile nms.cs.hacettepe.edu.tr
adresinden hangi vlan'a dahil olduğunu öğren ve gigabit portlarını trunk
olarak kullan" olarak özetlenebilir.

        Sonuçta bahsetmiş olduğum sistem canavar gibi çalışmakta. Makinanın
durumunu sorarsanız;

[root@krypton root]# vmstat 1
procs memory swap io system
    cpu
  r b swpd free buff cache si so bi bo in cs us
sy wa id
  0 0 0 5837788 8676 31852 0 0 42 22 410 583 2
  3 4 91
  0 0 0 5837724 8692 31836 0 0 8 44 1291 987 1
  0 1 98
  0 0 0 5837660 8708 31888 0 0 4 32 1365 1420 1
  0 1 98
  0 0 0 5837532 8708 31888 0 0 56 0 1237 690 0
  0 2 98
  0 0 0 5837468 8708 31956 0 0 36 0 1277 949 1
  0 1 98
  2 0 0 5837276 8708 31956 0 0 24 0 1222 730 0
  0 1 99
[root@krypton root]# uptime
  14:32:57 up 4 min, 1 user, load average: 0.31, 0.21, 0.09
[root@krypton root]# free
              total used free shared buffers cached
Mem: 5976060 141960 5834100 0 8888 32864
-/+ buffers/cache: 100208 5875852
Swap: 10482404 0 10482404

        Daha detay versem mi?

        Kolay gelsin.
Caglar Ulkuderner wrote:
> Merhaba Arda ve Kerem,
>
> Arda da zaman ayirabilecegini soylemisti. Arda ile koordine olup bir calisma
> yapmaniz mumkun mu?
>
> Kerem: Bu arada onerin cok guzel. Detayli bir bilgi ile seninle acilisi
> yapalim istersen.
>
> Ben onumuzdeki hafta yurt disinda olacagim icin bir sure irtibatimiz
> olamayabilir. O yuzden cumaya kadar cevabinizi yazarsaniz cok sevinirim.
>
> Selamlar
> caglar

-- 
Kerem ERZURUMLU
Arastirma Görevlisi        Tel: +90 312 2977500/122
Sistem/Ag Yöneticisi       Fax: +90 312 2977502
Hacettepe Universitesi     GSM: +90 532 2539074
Bilgisayar Mühendisligi    http://www.penguen.net

_______________________________________________ Basari-cg mailing list Basari-cg@liste.linux.org.tr http://liste.linux.org.tr/mailman/listinfo/basari-cg


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.