<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>Alper YALÇINER</title>
	<atom:link href="http://alper.web.tr/feed/" rel="self" type="application/rss+xml" />
	<link>http://alper.web.tr</link>
	<description></description>
	<pubDate>Mon, 08 Mar 2010 14:56:20 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Birden çok hardisk Linux Swap tunning</title>
		<link>http://alper.web.tr/2010/03/08/birden-cok-hardisk-linux-swap-tunning/</link>
		<comments>http://alper.web.tr/2010/03/08/birden-cok-hardisk-linux-swap-tunning/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 14:56:20 +0000</pubDate>
		<dc:creator>alper</dc:creator>
		
		<category><![CDATA[ipucu]]></category>

		<guid isPermaLink="false">http://alper.web.tr/?p=987</guid>
		<description><![CDATA[Özellikle kullandığımız sistem sıksık swap alan kullanmaya ihtiyaç duyuyorsa swap performansı oldukça önemli hale gelir. iki farklı  hardiskimiz olduğunu düşünelim ve ikisinde de birer swap alani oluşturduğumuzu,
[root@linux ~]# fdisk -l &#124; grep swap

/dev/sda1   *           1        1275    10241406   82  Linux swap / Solaris

/dev/sdb5     [...]]]></description>
			<content:encoded><![CDATA[<p>Özellikle kullandığımız sistem sıksık swap alan kullanmaya ihtiyaç duyuyorsa swap performansı oldukça önemli hale gelir. iki farklı  hardiskimiz olduğunu düşünelim ve ikisinde de birer swap alani oluşturduğumuzu,</p>
<pre>[root@linux ~]# fdisk -l | grep swap

/dev/sda1   *           1        1275    10241406   82  Linux swap / Solaris

/dev/sdb5            3851        5125    10241406   82  Linux swap / Solaris

[root@linux ~]#</pre>
<div>Yukarıda gördüğümüz gibi sda1 ve sdb5 olmak üzere iki adet diskimiz üzerinde iki farkli swap alanimiz var , /etc/fstab dosyasini açarak içerisinde bulunan swap la ilgili satırlarda &#8220;defaults&#8221; yazılı kısımları  &#8221;defaults,pri=1&#8243;  şeklinde düzeltiyoruz.</div>
<div>
<pre>
<div>[root@linux ~]# cat /etc/fstab | grep swap</div>
<div>LABEL=SWAP-sda1         swap                    swap    defaults,pri=1        0 0</div>
<div>LABEL=SWAP-sdb5         swap                    swap    defaults,pri=1        0 0</div>
<div>[root@linux ~]#</div>
</pre>
</div>
<div>Normal şartlar altında linux 1 nolu swap tamamen dolduktan sonra 2 nolu swap i kullanmaya başlayacaktı. bu ayarlarımızı yaptıktan sonra gelen swap işleri 2 disk arasında dağıtılarak daha fazla performans elde etmenizi sağlayacaktır. elimizde çok fazla hardisk olduğu durumlarda yine aynı işlemi onlara da uygulayarak dağıtabilir. veya daha düşük performans lı hardiskleri &#8220;pri=2&#8243; şeklinde belirterek swap grubu tamamen dolduktan sonra kullanılmaya başlaması için işaretleyebilirsiniz.</div>
<div><em><span style="text-decoration: underline;"><strong>not :</strong> </span></em><span style="text-decoration: underline;"><em>swap kullanılmadığuı durumlarda normal olarak bu işlem hiçbir fayda sağlamaz.</em></span></div>
]]></content:encoded>
			<wfw:commentRss>http://alper.web.tr/2010/03/08/birden-cok-hardisk-linux-swap-tunning/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Linux ssh login çok yavaş ?</title>
		<link>http://alper.web.tr/2010/02/16/linux-ssh-login-cok-yavas/</link>
		<comments>http://alper.web.tr/2010/02/16/linux-ssh-login-cok-yavas/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 13:29:16 +0000</pubDate>
		<dc:creator>alper</dc:creator>
		
		<category><![CDATA[ipucu]]></category>

		<guid isPermaLink="false">http://alper.web.tr/?p=980</guid>
		<description><![CDATA[Uzaktaki linux sunucularınıza bağlandığınızda login işlemi sizi oldukça çok bekletiyor ve durumdan rahatsız oluyorsanız aşağıdaki işlemleri kontrol edebilirsiniz.
1. DNS
bağlandığın istemcinin DNS adresinin çözümlenmesi uzun zaman alıyor olabilir. sshd_config dosyası içerisine &#8220;UseDNS no&#8221;
parametresi ekleyip sshd yeniden başlatarak sorununuzu çözebilirsiniz. Daha önceden var ve değer yes ise no ile değiştirmeniz yeterlidir.
2.  GSSAPI Authentication
yavaş bağlantısı olan server e [...]]]></description>
			<content:encoded><![CDATA[<p>Uzaktaki linux sunucularınıza bağlandığınızda login işlemi sizi oldukça çok bekletiyor ve durumdan rahatsız oluyorsanız aşağıdaki işlemleri kontrol edebilirsiniz.</p>
<p>1. DNS</p>
<p>bağlandığın istemcinin DNS adresinin çözümlenmesi uzun zaman alıyor olabilir. sshd_config dosyası içerisine &#8220;UseDNS no&#8221;<br />
parametresi ekleyip sshd yeniden başlatarak sorununuzu çözebilirsiniz. Daha önceden var ve değer yes ise no ile değiştirmeniz yeterlidir.</p>
<p>2.  GSSAPI Authentication</p>
<p>yavaş bağlantısı olan server e &#8221; ssh -o GSSAPIAuthentication=no user@10.0.0.1&#8243; öreneğinde olduğu gibi bağlanmaya çalışın, sorunun çözümlendiğini gözlemlerseniz. bağlandığınız server&#8217;de &#8220;sshd_config&#8221; dosyası içerisinde  &#8220;GSSAPIAuthentication no&#8221; değerini &#8220;yes&#8221; olarak değiştirin. Birden fazla server&#8217;iniz var ve tek client den bağlanıyorsanız &#8220;ssh_config&#8221;  dosyasında aynı değeri &#8220;no&#8221; olarak değiştirin.</p>
<p>3. Bunların dışında hala bir &#8221; networksel olmayan ! &#8221; yavaşlık mevcut ise &#8220;ssh -v -o GSSAPIAuthentication=no user@10.0.0.1&#8243; örneğindeki gibi ssh istemciyi debug modda bağlanarak test edin.</p>
]]></content:encoded>
			<wfw:commentRss>http://alper.web.tr/2010/02/16/linux-ssh-login-cok-yavas/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Linux konsol otomatik logout</title>
		<link>http://alper.web.tr/2010/02/16/linux-konsol-otmatik-logout/</link>
		<comments>http://alper.web.tr/2010/02/16/linux-konsol-otmatik-logout/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 13:12:07 +0000</pubDate>
		<dc:creator>alper</dc:creator>
		
		<category><![CDATA[ipucu]]></category>

		<guid isPermaLink="false">http://alper.web.tr/?p=978</guid>
		<description><![CDATA[Özellikle kolay ulaşılabilen serverler&#8217;de konsol admin tarafından login olarak unutulduğunda güvenlik açığı meydana getirebilir. En kolay alınabiliecek önlem belirli bir süre konsol pasif kaldığında ( Idle ) otomatik logof olmasını sağlamaktır. işlem oldukça basit.
export TMOUT=120 diyerek 120 Saniye iddle olan konsolun otomatik log of olmasını sağlayabilirisiniz. gerektiğinde sadece belirli userler için bunun geçerli olması için [...]]]></description>
			<content:encoded><![CDATA[<p>Özellikle kolay ulaşılabilen serverler&#8217;de konsol admin tarafından login olarak unutulduğunda güvenlik açığı meydana getirebilir. En kolay alınabiliecek önlem belirli bir süre konsol pasif kaldığında ( Idle ) otomatik logof olmasını sağlamaktır. işlem oldukça basit.</p>
<p><strong>export TMOUT=120</strong> diyerek 120 Saniye iddle olan konsolun otomatik log of olmasını sağlayabilirisiniz. gerektiğinde sadece belirli userler için bunun geçerli olması için kişilerin profile dosyalarına sistem genelinde tüm kullanıcılara geçerli olması için &#8221; /etc/profile&#8221; dosyasına yazabilirsiniz.</p>
]]></content:encoded>
			<wfw:commentRss>http://alper.web.tr/2010/02/16/linux-konsol-otmatik-logout/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Linux TEQL</title>
		<link>http://alper.web.tr/2010/01/25/linux-teql/</link>
		<comments>http://alper.web.tr/2010/01/25/linux-teql/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 13:30:08 +0000</pubDate>
		<dc:creator>alper</dc:creator>
		
		<category><![CDATA[Loadbalancing]]></category>

		<category><![CDATA[iproute2]]></category>

		<category><![CDATA[linux teql ile ethernet yük dengeleme]]></category>

		<category><![CDATA[linux teql loadbalancing]]></category>

		<guid isPermaLink="false">http://alper.web.tr/?p=942</guid>
		<description><![CDATA[Linux outgoing loadbalancing , yazımda anlattığım gibi bir yapı hemen hemen heryerde, ihtyaçlarınızı karşılayabilsede, kullanabileceğiniz tek yöntem bu değildir. Linux TEQL ( True link Equalizer ) kullanabileceğimiz diğer seçeneklerden birisidir. Özellikle LACP ( 802.3ad ) desteklemeyen bir  switch&#8217;iniz varsa hatta local network de iki linux server in birbirleri arası haberleşmelerinde ethernet performansını paylaştırabilemek için oldukça [...]]]></description>
			<content:encoded><![CDATA[<p>Linux outgoing loadbalancing , yazımda anlattığım gibi bir yapı hemen hemen heryerde, ihtyaçlarınızı karşılayabilsede, kullanabileceğiniz tek yöntem bu değildir. Linux TEQL ( True link Equalizer ) kullanabileceğimiz diğer seçeneklerden birisidir. Özellikle LACP ( 802.3ad ) desteklemeyen bir  switch&#8217;iniz varsa hatta local network de iki linux server in birbirleri arası haberleşmelerinde ethernet performansını paylaştırabilemek için oldukça uygun bir yöntem olabilir. örnek network yapısı verecek olursak :</p>
<p><img src="http://alper.web.tr/wp-content/uploads/loadbalance/1.png" alt="" width="310" height="165" /></p>
<p><img class="alignnone" src="http://alper.web.tr/wp-content/uploads/loadbalance/2.png" alt="" width="537" height="334" /></p>
<p>şimdi TEQL nasıl çalışır bir göz atalım.</p>
<p><img class="alignleft" src="http://alper.web.tr/wp-content/uploads/loadbalance/3.png" alt="" width="294" height="100" /></p>
<p>Yandaki resimde görüldüğü üzere 2 adet ethernet interface&#8217;imizi TEQL kullanarak birleştirmek mümkündür. Eth1 ve Eth2 interface&#8217;lerini kapsayan teql0 adlı yeni bir interface oluşturulur ve yeni bir ip adresi tanımlanır. tanımlanan ip adresi local network den ulaşılabildiği gibi dışarıya erişim içinde kullanılabilir. Her bir bağlantı isteğini eth1 ve eth2 arasında sırasıyla dağıtarak toplam bant genişliğini kullanma imkanı sağlar. TEQL sadece linux kerneline özel bir uygulamadır. Diğer işletim sistemlerinde bulunmaz.TEQL iproute2 paketi ile birlikte gelir.</p>
<h2><strong><span style="font-family: mceinline;">1. Teql module&#8217;ünü yükleyelim. Interface&#8217;imizin oluştuğunu doğrulayalım.</span></strong></h2>
<pre>root@linux:~# modprobe sch_teql

root@linux:~# ifconfig teql0

teql0     Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00

NOARP  MTU:1500  Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:100

RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

root@linux:~#</pre>
<h2><strong>2. Eth1 ve Eth2 Interface&#8217;lerini teql&#8217;e dahil edelim.</strong></h2>
<pre>root@linux:~#  tc qdisc add dev eth1 root teql0

root@linux:~#  tc qdisc add dev eth2 root teql0

root@linux:~#</pre>
<h2><strong>3. Eth1 ve Eth2 Interface&#8217;lerinin teql interface&#8217;ine dahil olduğundan emin olalım.</strong></h2>
<pre>root@linux:~# tc qdisc show
qdisc teql0 8001: dev eth1 root
qdisc teql0 8002: dev eth2 root
qdisc pfifo_fast 0: dev eth3 root bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
root@linux:~#</pre>
<pre>4. Teql0'e ip adresimizi atayalım.</pre>
<pre>root@linux:~# ifconfig teql0 192.168.1.1 netmask 255.255.255.0
root@linux:~#</pre>
<h2><strong><span style="font-family: mceinline;">5. IP Adreslerinin doğru olduğunu kontrol edelim.</span></strong></h2>
<pre>
<div>root@linux:~# ifconfig -a</div>
<div>eth1      Link encap:Ethernet  HWaddr 08:00:27:1f:0a:b7</div>
<div>inet addr:192.169.1.2  Bcast:192.169.1.255  Mask:255.255.255.0</div>
<div>inet6 addr: fe80::a00:27ff:fe1f:ab7/64 Scope:Link</div>
<div>UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1</div>
<div>RX packets:0 errors:0 dropped:0 overruns:0 frame:0</div>
<div>TX packets:6 errors:0 dropped:0 overruns:0 carrier:0</div>
<div>collisions:0 txqueuelen:1000</div>
<div>RX bytes:0 (0.0 B)  TX bytes:468 (468.0 B)</div>
<div>eth2      Link encap:Ethernet  HWaddr 08:00:27:ad:66:d0</div>
<div>inet addr:192.169.1.3  Bcast:192.169.1.255  Mask:255.255.255.0</div>
<div>inet6 addr: fe80::a00:27ff:fead:66d0/64 Scope:Link</div>
<div>UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1</div>
<div>RX packets:0 errors:0 dropped:0 overruns:0 frame:0</div>
<div>TX packets:3 errors:0 dropped:0 overruns:0 carrier:0</div>
<div>collisions:0 txqueuelen:1000</div>
<div>RX bytes:0 (0.0 B)  TX bytes:238 (238.0 B)</div>
<div>eth3      Link encap:Ethernet  HWaddr 08:00:27:d8:6a:d3</div>
<div>inet addr:10.1.30.86  Bcast:10.1.30.255  Mask:255.255.255.0</div>
<div>inet6 addr: fe80::a00:27ff:fed8:6ad3/64 Scope:Link</div>
<div>UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1</div>
<div>RX packets:710 errors:0 dropped:0 overruns:0 frame:0</div>
<div>TX packets:267 errors:0 dropped:0 overruns:0 carrier:0</div>
<div>collisions:0 txqueuelen:1000</div>
<div>RX bytes:84210 (84.2 KB)  TX bytes:34303 (34.3 KB)</div>
<div>lo        Link encap:Local Loopback</div>
<div>inet addr:127.0.0.1  Mask:255.0.0.0</div>
<div>inet6 addr: ::1/128 Scope:Host</div>
<div>UP LOOPBACK RUNNING  MTU:16436  Metric:1</div>
<div>RX packets:0 errors:0 dropped:0 overruns:0 frame:0</div>
<div>TX packets:0 errors:0 dropped:0 overruns:0 carrier:0</div>
<div>collisions:0 txqueuelen:0</div>
<div>RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)</div>
<div>teql0     Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00</div>
<div>inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0</div>
<div>UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1</div>
<div>RX packets:0 errors:0 dropped:0 overruns:0 frame:0</div>
<div>TX packets:0 errors:0 dropped:0 overruns:0 carrier:0</div>
<div>collisions:0 txqueuelen:100</div>
<div>RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)</div>
<div>root@linux:~#</div>

<span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: x-large;"><span style="line-height: 19px; white-space: normal;"><strong>
</strong></span></span></pre>
<h2>6. Ağ geçidimiz Local network&#8217;de bir makina ise teql0 interface&#8217;i için ağ geçidini girelim . ( daha önceden girilmiş ağ geçidi varsa siliniz.</h2>
<pre>
<div>
<div>root@linux:~# ip route add default via  192.168.1.254 dev teql0</div>
<div>root@linux:~#</div>
</div>

<span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: x-large;"><span style="line-height: 19px; white-space: normal;"><strong>
</strong></span></span></pre>
<h2>7. &#8220; tc -s qdisc &#8221; komutu ile yapmış olduğumuz işlemi kontrol edebilirsiniz.</h2>
<h1>Notlar :</h1>
<ol>
<li><em><span style="text-decoration: underline;">İki interface bir birine eşit olmadığı durumlarda gerçekten büyük performans sorunu yaşayabilirsiniz. </span></em></li>
<li><em><span style="text-decoration: underline;">Teql&#8217;e dahil ettiğiniz interface&#8217;lerden birisi fail olursa çok büyük performans sıkıntısı yaşandığı konusunda şikayetler var. Mümkün olduğunca local network içerisinde kullanın.</span></em></li>
<li><em><span style="text-decoration: underline;">Başıma gelmedi ama bağlı olduğunuz switchde STP&#8217;ile ilgili sorun yaşayabilirsiniz.</span></em></li>
<li><em><span style="text-decoration: underline;">eth1 ve eth2 gibi teql&#8217;e eklediğiniz interface&#8217;ler cevap vermezse aşağıdaki işlemi uygulayınız.</span></em></li>
<li><em><span style="text-decoration: underline;">Tek bir socket bağlantısı için TEQL ektra bir performans avantajı sağlayamaz.</span></em></li>
</ol>
<div>root@linux:~# echo 0 &gt; /proc/sys/net/ipv4/conf/eth1/rp_filter</div>
<div>root@linux:~# echo 0 &gt; /proc/sys/net/ipv4/conf/eth2/rp_filter</div>
<div>root@linux:~#</div>
<div>Veya Sysctl ile</div>
<div>sysctl net.ipv4.conf.eth1.rp_filter=0</div>
<div>Açılışta aktif olması için &#8220;/etc/sysctl.conf&#8221;&#8216;a ekleyiniz.</div>
]]></content:encoded>
			<wfw:commentRss>http://alper.web.tr/2010/01/25/linux-teql/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ubuntu server konsol ayarlarını değiştirmek.</title>
		<link>http://alper.web.tr/2010/01/12/ubuntu-server-konsol-ayarlarini-degistirmek/</link>
		<comments>http://alper.web.tr/2010/01/12/ubuntu-server-konsol-ayarlarini-degistirmek/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 19:52:11 +0000</pubDate>
		<dc:creator>alper</dc:creator>
		
		<category><![CDATA[ipucu]]></category>

		<guid isPermaLink="false">http://alper.web.tr/?p=938</guid>
		<description><![CDATA[Kurmuş olduğunuz ubuntu server in konsol ayarlarını ( klavye, font vb ) değiştirmek için ;
root@linux:~# apt-get install console-data
Diyerek console-data yi kuruyoruz. ( root değilseniz sudo kullanmayı unutmayınız )
dpkg size kurulum esnasında soracaktır. daha sonra ayarlara yeniden ulaşmak için.
root@linux:~# dpkg-reconfigure console-data
]]></description>
			<content:encoded><![CDATA[<p>Kurmuş olduğunuz ubuntu server in konsol ayarlarını ( klavye, font vb ) değiştirmek için ;</p>
<p>root@linux:~# apt-get install console-data</p>
<p>Diyerek console-data yi kuruyoruz. ( root değilseniz sudo kullanmayı unutmayınız )<br />
dpkg size kurulum esnasında soracaktır. daha sonra ayarlara yeniden ulaşmak için.</p>
<p>root@linux:~# dpkg-reconfigure console-data</p>
]]></content:encoded>
			<wfw:commentRss>http://alper.web.tr/2010/01/12/ubuntu-server-konsol-ayarlarini-degistirmek/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Index</title>
		<link>http://alper.web.tr/2010/01/07/index/</link>
		<comments>http://alper.web.tr/2010/01/07/index/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 08:15:35 +0000</pubDate>
		<dc:creator>alper</dc:creator>
		
		<category><![CDATA[- Index]]></category>

		<category><![CDATA[İçindekiler]]></category>

		<guid isPermaLink="false">http://alper.web.tr/?p=887</guid>
		<description><![CDATA[
		
		
				FreeBSD
				
			FreeBSD ve PF ile outgoing loadbalancing.
FreeBSD altında güç yönetimi.
FreeBSD yeşil siyah konsol.

				
				
				Genel Network
				
			Kablo Net Router
QOS Quality Of Service

				
				
				iproute2
				
			Linux TEQL
7. iproute2 ile linux&#8217;da Gre Tunnel
6. iproute2 multiple routing tables - Çoklu ( katlı ) routing tabloları
5. iproute2 ile temel statik routing tablosu yönetmek.
4. iproute2 ile routing tablosu görüntülemek
3. iproute2 ile  neighbour/arp tablo yönetimi
2. iproute2 ile [...]]]></description>
			<content:encoded><![CDATA[<p>
		<div class="aka_half">
		
				<h3 id="cat_freebsd">FreeBSD</h3>
				<ul>
			<li><a href="http://alper.web.tr/2009/12/21/freebsd-ve-pf-ile-outgoing-loadbalancing/">FreeBSD ve PF ile outgoing loadbalancing.</a></li>
<li><a href="http://alper.web.tr/2009/03/14/freebsd-altinda-guc-yonetimi/">FreeBSD altında güç yönetimi.</a></li>
<li><a href="http://alper.web.tr/2009/03/12/freebsd-yesil-siyah-konsol/">FreeBSD yeşil siyah konsol.</a></li>

				</ul>
				
				<h3 id="cat_genel-network">Genel Network</h3>
				<ul>
			<li><a href="http://alper.web.tr/2009/07/28/kablo-net-router/">Kablo Net Router</a></li>
<li><a href="http://alper.web.tr/2009/03/16/qos-quality-of-service/">QOS Quality Of Service</a></li>

				</ul>
				
				<h3 id="cat_iproute2">iproute2</h3>
				<ul>
			<li><a href="http://alper.web.tr/2010/01/25/linux-teql/">Linux TEQL</a></li>
<li><a href="http://alper.web.tr/2009/03/26/7-iproute2-ile-linuxda-gre-tunnel/">7. iproute2 ile linux&#8217;da Gre Tunnel</a></li>
<li><a href="http://alper.web.tr/2009/03/25/6-iproute2-multiple-routing-tables-coklu-katli-routing-tablolari/">6. iproute2 multiple routing tables - Çoklu ( katlı ) routing tabloları</a></li>
<li><a href="http://alper.web.tr/2009/03/23/5-iproute2-ile-temel-statik-routing-tablosu-yonetmek/">5. iproute2 ile temel statik routing tablosu yönetmek.</a></li>
<li><a href="http://alper.web.tr/2009/03/22/4-iproute2-ile-routing-tablosu-goruntulemek/">4. iproute2 ile routing tablosu görüntülemek</a></li>
<li><a href="http://alper.web.tr/2009/03/22/3-iproute2-ile-neighbourarp-tablo-yonetimi/">3. iproute2 ile  neighbour/arp tablo yönetimi</a></li>
<li><a href="http://alper.web.tr/2009/03/22/2-iproute2-ile-network-interface-yapilandirmasi/">2. iproute2 ile network interface yapılandırması.</a></li>
<li><a href="http://alper.web.tr/2009/03/21/1-linux-iprotue2-iproute2-ile-basit-konfigurasyona-bakmak/">1. Linux iprotue2 -  iproute2 ile basit konfigurasyona bakmak.</a></li>

				</ul>
				
				<h3 id="cat_iptables">iptables</h3>
				<ul>
			<li><a href="http://alper.web.tr/2009/09/19/iptables-7-targets/">iptables -7- Targets</a></li>
<li><a href="http://alper.web.tr/2009/05/25/iptables-6-matches/">iptables -6- Matches</a></li>
<li><a href="http://alper.web.tr/2009/05/09/iptables-5-tables-chains/">iptables -5- Tables &#038; Chains</a></li>
<li><a href="http://alper.web.tr/2009/04/28/iptables-4-states-connection-tracking/">iptables -4- States &#038; Connection Tracking</a></li>
<li><a href="http://alper.web.tr/2009/04/25/iptables-3-iptables-temel-komutlari/">iptables -3- iptables temel komutları.</a></li>
<li><a href="http://alper.web.tr/2009/04/24/iptables-2-terimler/">iptables -2-  Terimler</a></li>
<li><a href="http://alper.web.tr/2009/04/23/iptables-1-iptablesa-giris/">iptables -1- iptables&#8217;a giriş</a></li>

				</ul>
				
				<h3 id="cat_ipucu">ipucu</h3>
				<ul>
			<li><a href="http://alper.web.tr/2010/03/08/birden-cok-hardisk-linux-swap-tunning/">Birden çok hardisk Linux Swap tunning</a></li>
<li><a href="http://alper.web.tr/2010/02/16/linux-ssh-login-cok-yavas/">Linux ssh login çok yavaş ?</a></li>
<li><a href="http://alper.web.tr/2010/02/16/linux-konsol-otmatik-logout/">Linux konsol otomatik logout</a></li>
<li><a href="http://alper.web.tr/2010/01/12/ubuntu-server-konsol-ayarlarini-degistirmek/">Ubuntu server konsol ayarlarını değiştirmek.</a></li>
<li><a href="http://alper.web.tr/2009/12/19/freebsd-de-free-benzeri-ram-goruntulemek/">FreeBSD &#8216;de free benzeri ram görüntülemek.</a></li>
<li><a href="http://alper.web.tr/2009/12/18/freebsd-konsolda-bantgenisligi-kullanimini-goruntulemek/">FreeBSD Konsolda Bantgenişliği kullanımını görüntülemek</a></li>
<li><a href="http://alper.web.tr/2009/05/29/linux-ethernet-mac-adresi-nasil-degistirilir/">Linux Ethernet Mac Adresi nasıl değiştirilir ?</a></li>

			</ul>
		</div>
		<div class="aka_half">
			
				<h3 id="cat_linux">Linux</h3>
				<ul>
			<li><a href="http://alper.web.tr/2009/10/14/linux-sistemlerin-likewise-ile-windows-active-directory-entegrasyonu/">Linux Sistemlerin Likewise İle Windows Active Directory Entegrasyonu</a></li>
<li><a href="http://alper.web.tr/2009/03/20/pacman-baglanti-problemi/">Pacman Bağlantı problemi&#8230;..</a></li>

				</ul>
				
				<h3 id="cat_linux-qos">Linux QOS</h3>
				<ul>
			<li><a href="http://alper.web.tr/2009/04/19/linux-altinda-qos-9-tc-ile-htb-queuing/">Linux Altında QOS - 9 - TC ile HTB queuing</a></li>
<li><a href="http://alper.web.tr/2009/04/09/linux-altinda-qos-8-tc-ile-gred-queuing/">Linux Altında QOS - 8- TC ile GRED queuing</a></li>
<li><a href="http://alper.web.tr/2009/04/06/linux-altinda-qos-7-tc-ile-red-queuing/">Linux Altında QOS - 7- TC ile RED queuing</a></li>
<li><a href="http://alper.web.tr/2009/04/05/linux-altinda-qos-6-tc-ile-sfq-queuing-stochastic-fairness-queuing/">Linux Altında QOS - 6- TC ile SFQ queuing &#8221; Stochastic Fairness Queuing&#8221;</a></li>
<li><a href="http://alper.web.tr/2009/04/04/linux-altinda-qos-5-tc-ile-tbf-queuing/">Linux Altında QOS - 5- TC ile TBF Queuing</a></li>
<li><a href="http://alper.web.tr/2009/04/01/linux-altinda-qos-4-tc-ile-fifo-priority-queue/">Linux Altında QOS - 4- TC ile FIFO, Priority queue</a></li>
<li><a href="http://alper.web.tr/2009/03/30/linux-altinda-qos-3-tc-kullanimi/">Linux Altında QOS - 3 -  TC kullanımı</a></li>
<li><a href="http://alper.web.tr/2009/03/29/linux-altinda-qos-2-linux-trafik-kontrol-qos-bilesenleri/">Linux Altında QOS - 2 Linux Trafik Kontrol ( QOS ) Bileşenleri.</a></li>
<li><a href="http://alper.web.tr/2009/03/27/linux-altinda-qos/">Linux Altında QOS  - 1</a></li>
<li><a href="http://alper.web.tr/2009/03/16/qos-quality-of-service/">QOS Quality Of Service</a></li>

				</ul>
				
				<h3 id="cat_microsoft">Microsoft</h3>
				<ul>
			<li><a href="http://alper.web.tr/2009/03/13/windows-altinda-ipfw/">Windows altında IPFW</a></li>

				</ul>
				
				<h3 id="cat_os">- Isletim Sistemleri</h3>
				<ul>
			<li><a href="http://alper.web.tr/2009/03/14/freebsd-altinda-guc-yonetimi/">FreeBSD altında güç yönetimi.</a></li>
<li><a href="http://alper.web.tr/2009/03/13/windows-altinda-ipfw/">Windows altında IPFW</a></li>
<li><a href="http://alper.web.tr/2009/03/12/freebsd-yesil-siyah-konsol/">FreeBSD yeşil siyah konsol.</a></li>

				</ul>
				
				<h3 id="cat_yuk-dengeleme">Loadbalancing</h3>
				<ul>
			<li><a href="http://alper.web.tr/2010/01/25/linux-teql/">Linux TEQL</a></li>
<li><a href="http://alper.web.tr/2009/12/31/linux-ile-outgoing-loadbalancing/">Linux ile outgoing loadbalancing</a></li>
<li><a href="http://alper.web.tr/2009/12/21/freebsd-ve-pf-ile-outgoing-loadbalancing/">FreeBSD ve PF ile outgoing loadbalancing.</a></li>
<li><a href="http://alper.web.tr/2009/12/21/loadbalancing-yuk-dengeleme/">Loadbalancing - Yük dengeleme</a></li>

			</ul>
		
		</div>
		<div class="aka_clear"></div>
		</p>
]]></content:encoded>
			<wfw:commentRss>http://alper.web.tr/2010/01/07/index/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Linux ile outgoing loadbalancing</title>
		<link>http://alper.web.tr/2009/12/31/linux-ile-outgoing-loadbalancing/</link>
		<comments>http://alper.web.tr/2009/12/31/linux-ile-outgoing-loadbalancing/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 13:29:06 +0000</pubDate>
		<dc:creator>alper</dc:creator>
		
		<category><![CDATA[Loadbalancing]]></category>

		<category><![CDATA[linux çoklu ağ geçidi]]></category>

		<category><![CDATA[linux iki ağ geçidi]]></category>

		<category><![CDATA[linux iki wireless]]></category>

		<guid isPermaLink="false">http://alper.web.tr/?p=843</guid>
		<description><![CDATA[Linux ile Birden fazla internet çıkışını aynı anda kullanmak için outgoing loadbalancing temel olarak iproute2 ve iptables yardımı ile yapılır. Burada anlattığım yöntem ECMP ( Equel Cost multipath Routing )&#8217; olarakta bilinir.

Şekildeki örnek 5 adet çeşitli modemlerle yapılandırılmış olsada bu bağlantı türleri herhangi bir bağlantı olabilir ( PPPOE , Kablonet , MetroEth , GHDSL vs [...]]]></description>
			<content:encoded><![CDATA[<p>Linux ile Birden fazla internet çıkışını aynı anda kullanmak için outgoing loadbalancing temel olarak iproute2 ve iptables yardımı ile yapılır. Burada anlattığım yöntem ECMP ( Equel Cost multipath Routing )&#8217; olarakta bilinir.</p>
<p><img src="http://alper.web.tr/wp-content/uploads/loadbalance/11.jpeg" alt="" width="725" height="310" /></p>
<p>Şekildeki örnek 5 adet çeşitli modemlerle yapılandırılmış olsada bu bağlantı türleri herhangi bir bağlantı olabilir ( PPPOE , Kablonet , MetroEth , GHDSL vs vs ). Ağ geçitleri istenildiği kadar artırılıp azaltılabilir. Ben burada farklı interface ler üzerinden nasıl yapılacağını anlatıyorum fakat daha önce uyguladığım 2 farklı noktada hem giriş hem çıkış için tek interface&#8217;i olan ( sadece eth0 ) linux sorunsuz olarak  çalışıyor.</p>
<ul>
<li><span style="text-decoration: underline;"><strong><span style="font-size: x-large;"><span style="font-family: mceinline;"><span style="font-family: mceinline;">1. ipforwarding düzgün olarak yapılandırılmalıdır.</span></span></span></strong></span></li>
</ul>
<p><strong>sysctl net.ipv4.ip_forward=1</strong></p>
<p>veya</p>
<p><strong>echo &#8220;1&#8243; &gt; /proc/sys/net/ipv4/ip_forward </strong></p>
<p>Kalıcı olması için kullanmış olduğunuz linux sürümünde  gerekli ayarları yapmayı unutmayınız örneğin /etc/sysctl.conf içerisinde.</p>
<ul>
<li><strong><span style="text-decoration: underline;"><span style="font-size: x-large;"><span style="font-family: mceinline;">2. rt_tables</span></span></span></strong></li>
</ul>
<p>Multiple Routing table için gerekli tabloları oluşturalım :</p>
<p><strong>root@linux:~# echo &#8220;10 gw1&#8243; &gt;&gt; /etc/iproute2/rt_tables</strong></p>
<p><strong>root@linux:~# echo &#8220;20 gw2&#8243; &gt;&gt; /etc/iproute2/rt_tables</strong></p>
<p><strong>root@linux:~# echo &#8220;30 gw3&#8243; &gt;&gt; /etc/iproute2/rt_tables</strong></p>
<p><strong>root@linux:~# echo &#8220;40 gw4&#8243; &gt;&gt; /etc/iproute2/rt_tables</strong></p>
<p><strong>root@linux:~# echo &#8220;50 gw5&#8243; &gt;&gt; /etc/iproute2/rt_tables</strong></p>
<div>Yapmış olduğumuz işlemi kontrol ediyoruz.  &#8221;<strong>cat /etc/iproute2/rt_tables</strong>&#8221;  girmiş olduğumuz bilgiler kalıcıdır her açılışta yeniden eklemenize gerek yoktur. Kaç ağ geçidimiz varsa okadar adet oluşturuyoruz.</div>
<div>
<ul>
<li><span style="text-decoration: underline;"><strong><span style="font-size: x-large;">3. Konfigurasyon alias&#8217;larını oluşturalım</span></strong></span></li>
</ul>
</div>
<div># local interface&#8217;imiz</div>
<div><strong>lint=&#8221;eth0&#8243;</strong></div>
<div><em>#  Linux&#8217;un internete ulaşmak için kullandığı 1. nolu ağ geçidinin ip adresi</em></div>
<div><strong>gw1ip=&#8221;192.168.0.1&#8243;</strong></div>
<div><em># Linux&#8217;un bu ağ geçidine ulaşmak için kullandığı interface</em></div>
<div><strong>gw1int=&#8221;eth1&#8243;</strong></div>
<div><em># Policie routing için şu an kullanmasakta lazım olabileceği için kullanacağımız</em></div>
<div><em># fwmark değeri istediğiniz rakamı kullanmakta özgürsünüz.</em></div>
<div><strong>gw1mark=&#8221;1&#8243;</strong></div>
<div><em>#  Linux&#8217;un 1 nolu ağ geçidine ulaşmak için kullandığı kendine ait eth1 interface&#8217;ine ait ip adresi</em></div>
<div><strong>gw1src=&#8221;192.168.0.2&#8243;</strong></div>
<p><em># Diğer ağ geçitleri için gerekli ayarları tek tek açıklamadan yazıyorum gw1 için</em></p>
<p><em>#yaptığımız örneğin hepsi için yeterli açıklamayı yapacağına inanıyorum.</em></p>
<div><strong>gw2ip=&#8221;192.168.1.1&#8243;</strong></div>
<div>
<div><strong>gw2int=&#8221;eth2&#8243;</strong></div>
<div>
<div><strong>gw2mark=&#8221;2&#8243;</strong></div>
<div>
<div><strong>gw2src=&#8221;192.168.1.2&#8243;</strong></div>
<div><em># 3 Nolu ağ geçidi</em></div>
<div>
<div><strong>gw3ip=&#8221;192.168.2.1&#8243;</strong></div>
<div>
<div><strong>gw3int=&#8221;eth3&#8243;</strong></div>
<div>
<div><strong>gw3mark=&#8221;3&#8243;</strong></div>
<div>
<div><strong>gw3src=&#8221;192.168.2.2&#8243;</strong></div>
<div><em># 4 Nolu ağ geçidi</em></div>
<div>
<div><strong>gw4ip=&#8221;192.168.3.1&#8243;</strong></div>
<div>
<div><strong>gw4int=&#8221;eth4&#8243;</strong></div>
<div>
<div><strong>gw4mark=&#8221;4&#8243;</strong></div>
<div>
<div><strong>gw4src=&#8221;192.168.3.2&#8243;</strong></div>
<div><em># 5 Nolu ağ geçidi</em></div>
<div>
<div><strong>gw5ip=&#8221;192.168.4.1&#8243;</strong></div>
<div>
<div><strong>gw5int=&#8221;eth5&#8243;</strong></div>
<div>
<div><strong>gw5mark=&#8221;5&#8243;</strong></div>
<div>
<div><strong>gw5src=&#8221;192.168.4.2&#8243;</strong></div>
</div>
<div>
<ul>
<li><strong><span style="text-decoration: underline;"><span style="font-size: x-large;">4. Routing tablolarına ağ geçitlerimizi girelim.</span></span></strong></li>
</ul>
</div>
<div>
<div># iproute2 ağ geçidi x.x.x.x dir. ulaşmak için kullandığı interface YY dir. bu kural table ZZ içine yazılacaktır.</div>
<div><strong>ip route add default via $gw1ip dev $gw1int table gw1</strong></div>
<div><strong>ip route add default via $gw2ip dev $gw2int table gw2</strong></div>
<div><strong>ip route add default via $gw3ip dev $gw3int table gw3</strong></div>
<div><strong>ip route add default via $gw4ip dev $gw4int table gw4</strong></div>
<div><strong>ip route add default via $gw5ip dev $gw5int table gw5</strong></div>
<div><strong><br />
</strong></div>
<div>Note : 5 Adet ağ geçidini multiple routing table içerisine girdik ama hala sistemin kendine ait defaultgateway yani ağ geçidi yok, buradaki örnekte iproute2 ile roundrobbin yapacağımızdan gerekte olmayacak, roundrobbin devre dışı bıraktığınızda internete çıkamayacağınızı ve internetten de bu makinaya ulaşamayacağınızı unutmayın, olası ihtimal için devamlı ulaşabileceğiniz bir ağ geçidinizi default olarak tanımlamanızı öneririm. DHCP veya Elle yapılandırma yaptığınız interface lere ağ geçidi girmeyin. Virden fazla ağ geçidi ne yaptığınızı bilmiyorsanız size sorun yaratabilir.</div>
<div>örnek olarak 1 nolu internet çıkışımızı default tanımlıyoruz.</div>
<div><strong>ip route add default via $gw1ip dev $gw1int</strong></div>
<div><strong><br />
</strong></div>
</div>
<div>
<ul>
<li><strong><span style="text-decoration: underline;"><span style="font-size: x-large;">5. FWMARK ile işaretlenmiş paketleri ilgili tablolara gönderelim.</span></span></strong></li>
</ul>
</div>
<div><em># gw1 için marklanmış paketler tablo gw1 e gönder.</em></div>
</div>
<div>
<div><strong>ip rule add from all fwmark $gw1mark table gw1</strong></div>
<div><em># diğer ağ geçitleri için kurallar.</em></div>
<div><strong>ip rule add from all fwmark $gw2mark table gw2</strong></div>
<div><strong>ip rule add from all fwmark $gw3mark table gw3</strong></div>
<div><strong>ip rule add from all fwmark $gw4mark table gw4</strong></div>
<div><strong>ip rule add from all fwmark $gw5mark table gw5</strong></div>
<div><strong><br />
</strong></div>
</div>
<div>Basit bir internet paylaşımı için bu basamaklara gerek yoktur. Policie routing için gerekli olacak.</div>
</div>
<div>
<ul>
<li><strong><span style="text-decoration: underline;"><span style="font-size: x-large;">6.  Paketleri ait oldukları routing tablolarına gönderebilmek için gerekli rule&#8217;ları girelim.</span></span></strong></li>
</ul>
</div>
</div>
<div>Bu işlemi doğru olarak yaptğınızda internetten bu ip  adreslerine  ( aynı subnetmask deki ipler için değil )  ulaşabilmeniz gerekiyor.</div>
<div><em># gw1 in ip adresine giden paketleri tablo gw1 e gönder.</em></div>
<div>
<div><strong>ip rule add from $gw1src table gw1</strong></div>
<div><em># gw1&#8242;in ip adresinden gelen pkaetleri tablo gw1&#8242;e ata ( buna pek gerek yok ekleme sebebim tamamen piskolojik</em></div>
<div><em># teknik bir sebep içermiyor )</em></div>
<div><em><br />
</em></div>
<div><em></p>
<div><strong>ip rule add to $gw1src table gw1</strong></div>
<div><strong><br />
</strong></div>
<p></em></div>
<div><em># diğer ağ geçitleri için kurallar :</em></div>
<div><strong>ip rule add from $gw2src table gw2</strong></div>
<div><strong>ip rule add to $gw2src table gw2</strong></div>
<div><strong>ip rule add from $gw3src table gw3</strong></div>
<div><strong>ip rule add to $gw3src table gw3</strong></div>
<div><strong>ip rule add from $gw4src table gw4</strong></div>
<div><strong>ip rule add to $gw4src table gw4</strong></div>
<div><strong>ip rule add from $gw5src table gw5</strong></div>
<div><strong>ip rule add to $gw5src table gw5</strong></div>
<div><strong><br />
</strong></div>
<div><em><span style="text-decoration: underline;"> Kotrolü :</span></em></div>
<div><em><span style="text-decoration: underline;"><br />
</span></em></div>
<div>Tüm interface lerden sırasıyla ping atarak kontrol edebilirsiniz.</div>
<div><strong>ping -I gw1int www.google.com.tr </strong><em># veya aynı subnetmask de olmayan bir ip adresi</em></div>
<div><em><br />
</em></div>
<div>
<ul>
<li><strong><span style="text-decoration: underline;"><span style="font-size: x-large;">7. Routing cache de daha önce kalan girdileri temizleyelim.</span></span></strong></li>
</ul>
</div>
<div>
<div><strong>ip route flush cache</strong></div>
<div><strong><br />
</strong></div>
</div>
<div>
<ul>
<li><strong><span style="text-decoration: underline;"><span style="font-size: x-large;">8. RoundRobbin ile gelen paketleri ağ geçitlerine dağıtalım.</span></span></strong></li>
</ul>
<p><span style="font-size: large; "><strong><span style="text-decoration: underline;"><br />
</span></strong></span></div>
<div><strong>ip route add equalize default scope global \</strong></div>
<div><strong>nexthop via $gw1ip dev $gw1int weight 1 \</strong></div>
<div>
<div><strong>nexthop via $gw2ip dev $gw2int<strong> weight 1<strong> \</strong></strong></strong></div>
<div>
<div><strong>nexthop via $gw3ip dev $gw3int<strong> weight 1 </strong>\</strong></div>
<div>
<div><strong>nexthop via $gw4ip dev $gw4int<strong> weight 1<strong> \</strong></strong></strong></div>
<div>
<div><strong>nexthop via $gw5ip dev $gw5int<strong> weight 1</strong></strong></div>
<div><strong><strong><br />
</strong></strong></div>
<div>
<ul>
<li><strong><span style="text-decoration: underline;"><span style="font-size: x-large;">9 .  NAT ( Masquerade )</span></span></strong></li>
</ul>
</div>
<div>İnternet bağlantılarımız için çıkışlarımız NATD istiyorsa isteyen interface ler için iptables a aşağıdaki kuralları girmeliyiz. istemediğniz interface&#8217;e girmeyiniz.</div>
<div>
<div><strong>iptables -t nat -A POSTROUTING -o $gw1int -j MASQUERADE</strong></div>
<div><strong>iptables -t nat -A POSTROUTING -o $gw2int -j MASQUERADE</strong></div>
<div><strong>iptables -t nat -A POSTROUTING -o $gw3int -j MASQUERADE</strong></div>
<div><strong>iptables -t nat -A POSTROUTING -o $gw4int -j MASQUERADE</strong></div>
<div><strong>iptables -t nat -A POSTROUTING -o $gw5int -j MASQUERADE</strong></div>
<div><strong><br />
</strong></div>
<div>
<ul>
<li><strong><span style="text-decoration: underline;"><span style="font-size: x-large;">10. Policy Routing</span></span></strong></li>
</ul>
</div>
</div>
</div>
<div><strong><span style="text-decoration: underline;"><em>a) iptables ile</em></span></strong></div>
<div><strong><span style="text-decoration: underline;"><em><br />
</em></span></strong></div>
</div>
<div>iptables Matches kullanarak istediğimiz paketi istediğimiz ağ geçidinden gitmesi için işaretleyebiliriz.</div>
</div>
</div>
<div>örneğin local interfaceimiz ( eth0 ) a gelen https isteklerinin sadece 1 nolu ağ geçidinden gitmesini istiyoruz.</div>
</div>
</div>
<div><code></p>
<div><strong>iptables -A PREROUTING -t mangle -i $lint  -p tcp &#8211;dport 443 -j MARK &#8211;set-mark $gw1mark</strong></div>
<div><strong><br />
</strong></div>
<p></code></p>
<div><strong><em><span style="text-decoration: underline;">b) ip rule ile</span></em></strong></div>
<div><strong><em><span style="text-decoration: underline;"><br />
</span></em></strong></div>
<div>Örneğin 1.1.1.1 ip adresinden gelen isteklerin 1 nolu ağ geçidi üzerinden sabit çıkmasını istiyoruz.</div>
<div>
<div><strong>ip rule add from 1.1.1.1 to any table gw1</strong></div>
<div><strong><br />
</strong></div>
<div>Bu kadar Roundrobbin ile çalışan Outgoing Linux loadbalancer router&#8217;imiz oldu <img src='http://alper.web.tr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://alper.web.tr/2009/12/31/linux-ile-outgoing-loadbalancing/feed/</wfw:commentRss>
		</item>
		<item>
		<title>FreeBSD ve PF ile outgoing loadbalancing.</title>
		<link>http://alper.web.tr/2009/12/21/freebsd-ve-pf-ile-outgoing-loadbalancing/</link>
		<comments>http://alper.web.tr/2009/12/21/freebsd-ve-pf-ile-outgoing-loadbalancing/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 17:43:01 +0000</pubDate>
		<dc:creator>alper</dc:creator>
		
		<category><![CDATA[FreeBSD]]></category>

		<category><![CDATA[Loadbalancing]]></category>

		<category><![CDATA[freebsd 2 gateway]]></category>

		<category><![CDATA[freebsd çoklu ağ geçidi]]></category>

		<guid isPermaLink="false">http://alper.web.tr/?p=821</guid>
		<description><![CDATA[FreeBSD ve PF ile birden çok ağ geçidinin olduğu yerlerde yük dengeleme yaparak tüm ağ geçitlerini kullanmak mümkündür. buna örnek verecek olursak 2 adet veya daha fazla ADSL bağlantısı, 2 veya daha fazla wi-fi bağlantı , 2 veya daha fazla network, ADSL, Wifi arasında yük dağılımı gibi ihtiyaçlar olabilir.

Yukarıdaki örnekde 4 adet router üzerinden internet [...]]]></description>
			<content:encoded><![CDATA[<p>FreeBSD ve PF ile birden çok ağ geçidinin olduğu yerlerde yük dengeleme yaparak tüm ağ geçitlerini kullanmak mümkündür. buna örnek verecek olursak 2 adet veya daha fazla ADSL bağlantısı, 2 veya daha fazla wi-fi bağlantı , 2 veya daha fazla network, ADSL, Wifi arasında yük dağılımı gibi ihtiyaçlar olabilir.</p>
<p><img src="http://alper.web.tr/wp-content/uploads/loadbalance/lb1.jpeg" alt="" width="734" height="257" /></p>
<p>Yukarıdaki örnekde 4 adet router üzerinden internet erişimine sahip bir FreeBSD ile 10.1.1.0/24 local networkü için loadbalance yapacağız. Örnekteki router bağlantıları kablo, wifi ppp  veya herhangi bir bağlantı olabilir. 4  router için vermiş olduğum örneği istediğiniz adet için editleyerek değştirebilirsiniz.</p>
<p><strong><span style="text-decoration: underline;">Not :</span></strong> 2 Farklı interface üzerinden aynı gateway&#8217;e  PPPOE yapamazsınız. yani iki PPPOE bağlantınızın 2 sininde ağ geçidi 192.168.0.1 gibi tek bir ip olamaz. FreeBSD multiple routing tables  eksikleri tamamlandıktan sonra mümkün olacak.</p>
<p> Sisteminizde pf firewall ve ipforwarding düzgün olarak yapılandırılmış olmalıdır.</p>
<p>/etc/rc.conf içerisine</p>
<p>gateway_enable=&#8221;YES&#8221; </p>
<p>pf_enable=&#8221;YES&#8221;                 # Enable PF (load module if required)<br />
pf_rules=&#8221;/etc/pf.conf&#8221;         # rules definition file for pf<br />
pf_flags=&#8221;"                     # additional flags for pfctl startup<br />
pflog_enable=&#8221;YES&#8221;              # start pflogd(8)<br />
pflog_logfile=&#8221;/var/log/pflog&#8221;  # where pflogd should store the logfile<br />
pflog_flags=&#8221;"                  # additional flags for pflogd startup</p>
<p>Satırlarını ekleyin.</p>
<p># öncelikle dahili network&#8217;ümüzü, dışarıya çıktığımız interface leri ve ağ geçitlerimizi belirleyelim</p>
<p># local network 10.1.1.0/24 network&#8217;ü</p>
<p>lan_net = &#8220;10.1.1.0/24&#8243;</p>
<p># Local network&#8217;ümüzün bağlı olduğu ağ arayüzü<br />
int_if  = &#8220;fxp0&#8243;</p>
<p># 1 Nolu internet çıkışımızın bağlı olduğu ağ arayüzü<br />
ext_if1 = &#8220;vr0&#8243;<br />
# 2 Nolu internet çıkışımızın bağlı olduğu ağ arayüzü</p>
<p>ext_if2 = &#8220;vr1&#8243;<br />
# 3 Nolu internet çıkışımızın bağlı olduğu ağ arayüzü</p>
<p>ext_if3 = &#8220;vr2&#8243;<br />
# 4 Nolu internet çıkışımızın bağlı olduğu ağ arayüzü</p>
<p>ext_if4 = &#8220;vr3&#8243;</p>
<p># 1 numaralı ağ geçidimizin adresi.</p>
<p>ext_gw1 = &#8220;192.168.0.1&#8243;<br />
# 2 numaralı ağ geçidimizin adresi.</p>
<p>ext_gw2 = &#8220;192.168.1.1&#8243;<br />
# 3 numaralı ağ geçidimizin adresi.</p>
<p>ext_gw3 = &#8220;192.168.2.1&#8243;<br />
# 4 numaralı ağ geçidimizin adresi.</p>
<p>ext_gw4 = &#8220;192.168.3.1&#8243;<br />
# PPPOE gibi bağlantılarda nat ihtiyacımız varsa yapılandırıyoruz ( internet bağlantı ihtiyacınız yoksa bu kısmı atlayın<br />
# Local den gelen 1 nolu ağ geçidine giden paketler için NAT kuralı<br />
nat on $ext_if1 from $lan_net to any -&gt; ($ext_if1)</p>
<p># Local den gelen 2 nolu ağ geçidine giden paketler için NAT kuralı</p>
<p>nat on $ext_if2 from $lan_net to any -&gt; ($ext_if2)<br />
# Local den gelen 3 nolu ağ geçidine giden paketler için NAT kuralı</p>
<p>nat on $ext_if3 from $lan_net to any -&gt; ($ext_if3)<br />
# Local den gelen 4 nolu ağ geçidine giden paketler için NAT kuralı</p>
<p>nat on $ext_if4 from $lan_net to any -&gt; ($ext_if4)<br />
#  default deny<br />
pass in  from any to any<br />
pass out from any to any</p>
<p>#local ağ arayüzünden local network e giden paketlere izin veriyoruz.<br />
pass out quick on $int_if from any to $lan_net<br />
#  Local interface e gelen paketlere izin veriyoruz.<br />
pass in quick on $int_if from $lan_net to $int_if<br />
#  Devamlı değişen ip adresinin bankacılık işlemlerinde sorun çıkarmaması için tek ağ ara yüzünden çıkmasını sağlıyoruz</p>
<p># alternatif olarak sticky connections kullanılabilir, dağılımlarda çok daha fazla düzensizlik yarattığını tesbit ettik.</p>
<p>pass in quick on $int_if route-to ($ext_if1 $ext_gw1) \<br />
proto tcp from $lan_net to port https</p>
<p># dışarı giden TCP paketlerimizi 4 ağ geçidimiz arasında Round Robbin ile dağıtıyoruz.</p>
<p>pass in on $int_if route-to \<br />
{ ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2), ($ext_if3 $ext_gw3), ($ext_if4 $ext_gw4) } round-robin \<br />
proto tcp from $lan_net to any flags S/SA modulate state</p>
<p># Dışarı giden UDP ve ICMP  paketlerimizi 4 ağ geçidimiz arasında Round Robbin ile dağıtıyoruz.<br />
# TCP den ayrı belirtmemizin sebebi statefull protokol olmamaları</p>
<p>pass in on $int_if route-to \<br />
{ ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2), ($ext_if3 $ext_gw3), ($ext_if4 $ext_gw4) } round-robin \<br />
proto { udp, icmp } from $lan_net to any keep state</p>
<p># Tek tek dış ağ arayüzlerinden  çıkan paketlere izin veriyoruz.<br />
pass out on $ext_if1 proto tcp from any to any flags S/SA modulate state<br />
pass out on $ext_if1 proto { udp, icmp } from any to any keep state<br />
pass out on $ext_if2 proto tcp from any to any flags S/SA modulate state<br />
pass out on $ext_if2 proto { udp, icmp } from any to any keep state<br />
pass out on $ext_if3 proto tcp from any to any flags S/SA modulate state<br />
pass out on $ext_if3 proto { udp, icmp } from any to any keep state<br />
pass out on $ext_if4 proto tcp from any to any flags S/SA modulate state<br />
pass out on $ext_if4 proto { udp, icmp } from any to any keep state</p>
<p># Dış ağ arayüzlerinin birbirleri arasındaki routingleri düzenliyoruz.</p>
<p>pass out on $ext_if2 route-to ($ext_if1 $ext_gw1) from $ext_if1 to any<br />
pass out on $ext_if2 route-to ($ext_if3 $ext_gw3) from $ext_if3 to any<br />
pass out on $ext_if2 route-to ($ext_if4 $ext_gw4) from $ext_if4 to any</p>
<p>pass out on $ext_if3 route-to ($ext_if1 $ext_gw1) from $ext_if1 to any<br />
pass out on $ext_if3 route-to ($ext_if2 $ext_gw2) from $ext_if2 to any<br />
pass out on $ext_if3 route-to ($ext_if4 $ext_gw4) from $ext_if4 to any</p>
<p>pass out on $ext_if4 route-to ($ext_if1 $ext_gw1) from $ext_if1 to any<br />
pass out on $ext_if4 route-to ($ext_if2 $ext_gw2) from $ext_if2 to any<br />
pass out on $ext_if4 route-to ($ext_if3 $ext_gw3) from $ext_if3 to any</p>
<p>Bu kadar , FreeBSD ve PF kullanarak 4 adet farklı internet bağlantısını birleştirmiş olduk, Bu yapılandırma ile şu an p4 3Ghz bir bilgisayar 3 Adet ADSL (  PPPOE ) 8 Mbit , 1 Adet Kablo net ( 4 Mbit ) olmak üzere 7000 ortalama state ile %10 un altında cpu kullanımı sorunsuz olarak çalıştırmaktadır.</p>
]]></content:encoded>
			<wfw:commentRss>http://alper.web.tr/2009/12/21/freebsd-ve-pf-ile-outgoing-loadbalancing/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Loadbalancing - Yük dengeleme</title>
		<link>http://alper.web.tr/2009/12/21/loadbalancing-yuk-dengeleme/</link>
		<comments>http://alper.web.tr/2009/12/21/loadbalancing-yuk-dengeleme/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 09:46:50 +0000</pubDate>
		<dc:creator>alper</dc:creator>
		
		<category><![CDATA[Loadbalancing]]></category>

		<guid isPermaLink="false">http://alper.web.tr/?p=815</guid>
		<description><![CDATA[Günümüzde Sistem ve network ihtiyaçları gerek maliyet gerekse elde olan imkanların yetmemesi sebebiyle, yapılan işlerin birden çok kaynağa dağıtılmasını zaruri kılar hale gelmiştir. Birçok donanım ve yazılım bu ihtiyaçları karşılasada en esnek yapıyı opensource işletim sistemleri sağlamaktadır. En çok ihtiyaç duyulan loadbalancing ( yük dengeleme ) ihtiyaçları :

Ethernet loadbalancing
Outgoing Internet loadbalancing
Incoming Internet loadbalancing
Harddisk &#38; Storage [...]]]></description>
			<content:encoded><![CDATA[<p>Günümüzde Sistem ve network ihtiyaçları gerek maliyet gerekse elde olan imkanların yetmemesi sebebiyle, yapılan işlerin birden çok kaynağa dağıtılmasını zaruri kılar hale gelmiştir. Birçok donanım ve yazılım bu ihtiyaçları karşılasada en esnek yapıyı opensource işletim sistemleri sağlamaktadır. En çok ihtiyaç duyulan loadbalancing ( yük dengeleme ) ihtiyaçları :</p>
<ol>
<li>Ethernet loadbalancing</li>
<li>Outgoing Internet loadbalancing</li>
<li>Incoming Internet loadbalancing</li>
<li>Harddisk &amp; Storage loadbalancing</li>
</ol>
<p>1. Ethernet loadbalancing</p>
<p>Ethernet loadbalancing 1 den fazla ethernetin ( veya herhangi bir Ağ arayüzünün ) iş yükünü paylaşması için gereklidir. Günümüzde en çok kullanılan sistem LACP 802.3ad Link Agregation Control Protocol dür.</p>
<p>2. Outgoing loadbalancing</p>
<p>Kısaca ihtiyaç duyulan internet bant genişliğinin download olarak sağlanması için birden fazla internet veya network bağlantısının birleştirilmesi için kullanılmasıdır.</p>
<p>3. Incoming Internet loadbalancing</p>
<p>Internet veya network üzerinden gelen isteklerin , Server sistemleri üzerinde yük dağıtımı veya yetersiz bant genişliğinin telafi edilmesi amacıyla kullanılır.</p>
<p>4. Hardisk &amp; Storage loadbalancing</p>
<p>Yukarıdaki örneklerden farklı olarak harddisk veya storage performanslarının yeterli olmadığı durumlarda bu engeli aşmak için gereklidir.</p>
<p>Tüm bu ihtiyaçları gidermek için farklı yollar kullanılsada genel olarak hepsinin çalışmaları iki temel prensip sayesinde olur.</p>
<p>a) Round Robin</p>
<p>Basit anlatımıyla gelen işlerin kaynaklara sırasıyla dağıtılması için kullanılan bir algoritmadır.CPU scheduling, DNS balancing, Internet loadbalancing gibi bilgisayar kullanımında hemen hemen heryerde önümüze çıkar, Round Robin işlemlerin yükü, önemi gibi parametreleri dikkate almaz her bir iş parçacığını ayrı ayrı sıraya alarak sırasıyla kaynaklara dağıtır. örneğin 1 mbit internet bağlantımız ile 100 mbit bağlantımızı aynı anda round robin ile paylaşıma almak 1 mbit hat için insafsızlık olacaktır <img src='http://alper.web.tr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> örnek verecek olursak iki adet internet hattımıza 10 adet bağlantı isteğinin dağılımında ideal paylaşım 5/5 iki hatta dağılımı şeklinde olur. bu durum altında 1. numaralı hatta giden isteklerin her biri download 2 numara için giden isteklerin her biri ise IRC gibi tamamen bant genişliği kullanmayan basit bağlantı olabilir.</p>
<p>b) Policy ( kurala dayalı )</p>
<p>Policy ( Kurala bağlı ) yük dengelemesi ise round robin in aksine belirli kriterlere göre elimizdeki işlerin kaynaklara dağılımına dayanır. Yine çok basit bir örnek verecek olursak . 2 adet internet bağlantımızdan 1. numaralı hattımızın voice 2 numaralı hattımızın ise http için kullanılması 1 nolu hat üzerinden kesintisiz ses görüşmesi yapmamızı sağlar.  elbetteki ses trafiği oluşmadığı durumda 1 nolu hattımız atıl durumda kalacak bu sistemle yeterli bir dengeleme sağlanamayacaktır.</p>
<p>Bu sorunları halletmek için her sistem kendi içerisinde çözümler barındırmaktadır. Uygulama seviyesinde örnekler konunun daha iyi anlaşılması için yeterli olacaktır.</p>
]]></content:encoded>
			<wfw:commentRss>http://alper.web.tr/2009/12/21/loadbalancing-yuk-dengeleme/feed/</wfw:commentRss>
		</item>
		<item>
		<title>FreeBSD &#8216;de free benzeri ram görüntülemek.</title>
		<link>http://alper.web.tr/2009/12/19/freebsd-de-free-benzeri-ram-goruntulemek/</link>
		<comments>http://alper.web.tr/2009/12/19/freebsd-de-free-benzeri-ram-goruntulemek/#comments</comments>
		<pubDate>Sat, 19 Dec 2009 19:05:39 +0000</pubDate>
		<dc:creator>alper</dc:creator>
		
		<category><![CDATA[ipucu]]></category>

		<guid isPermaLink="false">http://alper.web.tr/?p=807</guid>
		<description><![CDATA[Özellikle linux&#8217;an daha sonra freebsd kullanımına geçenlerin en çok istedikleri kolaylıklardan bir tanesi çok kullanılan boşta olan veya kullanımdaki ram i gösteren &#8220;free&#8221; komutudur. freebsd bu şekilde bir komut içermesede free benzeri bir çıktı almak oldukça kolaydır.
 cd /usr/ports/sysutils/freecolor/
 make install clean
echo &#8220;/usr/local/bin/freecolor -mto&#8221; &#62; /usr/local/bin/free
chmod a+x  /usr/local/bin/free
[root@ev ~]# free
                        total       used       free     shared    buffers     cached
Mem:            [...]]]></description>
			<content:encoded><![CDATA[<p>Özellikle linux&#8217;an daha sonra freebsd kullanımına geçenlerin en çok istedikleri kolaylıklardan bir tanesi çok kullanılan boşta olan veya kullanımdaki ram i gösteren &#8220;free&#8221; komutudur. freebsd bu şekilde bir komut içermesede free benzeri bir çıktı almak oldukça kolaydır.</p>
<p> cd /usr/ports/sysutils/freecolor/<br />
 make install clean<br />
echo &#8220;/usr/local/bin/freecolor -mto&#8221; &gt; /usr/local/bin/free<br />
chmod a+x  /usr/local/bin/free<br />
[root@ev ~]# free<br />
                        total       used       free     shared    buffers     cached<br />
Mem:            975         274          700          0          0          0<br />
Swap:           3998          0          3998<br />
Total:           877 =                (     274 (used)          +      603 (free))<br />
[root@ev ~]#</p>
]]></content:encoded>
			<wfw:commentRss>http://alper.web.tr/2009/12/19/freebsd-de-free-benzeri-ram-goruntulemek/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
