From: Serdar Soydemir (serdars@ixir.com)
Date: Wed 16 May 2001 - 23:50:28 EEST
Herkese merhaba,
Yaklasik 1 haftadir ipchains ile ugrasiyorum. PC Magazine'deki Serdar
Koylu'nun yazisi ile basladim ve linux.org.tr deki yazilar ile devam ettim,
sonra linuxdoc.org a atladim. Kisacasi bana hele bir git su yaziyi oku
diyebileceginiz hemen her yaziyi okudum :)
yapmak istedigim, internet bölgesi, sunucu bölgesi ve yerel ag bölgesini
birbirlerinden ayirmak. Bu is icin 3 ethernetli bir firewall kullaniyorum:
eth0 -> Router'a cross bagli ve gercek IP'ye sahip. ( 203 diyelim )
eth1 -> Sunucu bölgesine ait HUB'a bagli ve gercek IP'ye sahip. ( 204 )
eth2 -> Yerel ag bölgesine ait HUB'a bagli. ( 192.168.1.1 )
Sunucu bölgesinde iki sunucu makinem var:
202 -> DNS/WWW/Mail
205 -> Diger bir WWW
DNS ISP'de 202 olarak tanimli.
İsletim sistemi Slackware 7.1, daha önce ayni sistemi RedHat 6.2 ile de
denedim.
Anladigim kadariyla bu yapiya DMZ adi veriliyor. Benim ogrenmek istedigim,
port forwarding kullanmadan, direk 202 ve 205 sunucularina erisimin olup
olamayacagi. Kisaca, 202'ye gelen paketleri oncelikle 203 karsilasin,
bunlari 202'ye forward etsin, sonra cevabi alip nerden geliyorlarsa oraya
göndersin. Bunun icin ipchains ile beraber forward kullanmanin yeterli
oldugunu düsündüm ancak yaniliyor olmaliyim ki bu tek basina islemiyor:
ipchains -A forward -i eth0 -p tcp -d 212.58.14.202
ipchains -A forward -i eth1 -p tcp -s 212.58.14.202
Yukardaki komutlar 200 agi icin islemezken, yerel ag icin asagidaki komutlar
yeterli oluyor:
ipchains -A forward -p tcp -s 0/0 -d 192.168.1.0/24 -j MASQ
ipchains -A forward -p tcp -s 192.168.1.0/24 -d 0/0 -j MASQ
Burada MASQ kullanmadigim takdirde yerel agin cikis yapmasi mümkün olmuyor.
Ama sunuculardan giden verinin maskelenmesini istemiyorum.
Yukardaki denemeleri yaparken bütün policyler ACCEPT konumunda. Bu nedenle
"input" ve "output" lari da kullanmaya gerek duymadim.
Bütün okuduklarimda yazanin tersine, ipchains bu is icin tek basina yeterli
degil mi? ipmasqadm isimli bir uygulama ile port forwarding yapmak mümkün,
ancak ben port forwarding yapmak istemiyorum.
disardaki bir makinadan, sunucu bölgesindeki makinalardan birine traceroute
cektigimde, 203'e kadar ulasiyor ama orada takili kaliyor. Bana göre 202'ye
kadar gidememesinde iki ihtimal var. 1. si forwarding yapilmiyor, 2. si
kernel routing tablosunda bir hata var.
Firewall icin kernel routing tablosu su sekilde
Destination Gateway interface
212.58.14.201 212.58.14.203 eth0
212.58.14.200 0.0.0.0 eth1
192.168.1.0 0.0.0.0 eth2
default 212.58.14.201 eth0
Sunucunun routingi ise su:
212.58.14.200 eth0
default 212.58.14.203 eth0
Ozetle temel sorunum, firewall'a gelen paketleri , gercek IP'ye sahip ancak
internete direk olarak bagli olmayan bir makinaya forward edebilmek. ilk
kullandigim iki forward komutunun neden calismadigina dair hicbir fikrim
yok. posta listelerini dolastigim kadariyla bu sorunu yasayan birkac kisi
daha olmus ancak cevap alamamislar. Firewall, yerel aga MASQ ile düzgün
forwarding yaparken, neden sunucu bölgesine yapmiyor?
-- Sevgiler & Iyi Calismalar Serdar SoydemirListeden cikmak icin: unsub linux mesajini listeci@bilkent.edu.tr adresine gonderiniz. Lutfen Listeci icin MIME / HTML / Turkce Aksan kullanmayin. Listeci arayuzu: http://listweb.bilkent.edu.tr/yardim/bilkent/linux.html Liste arsivinin adresi: http://listweb.bilkent.edu.tr/