<?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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sezai Yılmaz'ın Bilgisayar Dünyası &#187; Linux</title>
	<atom:link href="http://www.sezaiyilmaz.com/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sezaiyilmaz.com</link>
	<description>Linux, UNIX, Windows, sistem yönetimi, uygulama ve sistem programı geliştirme tecrübeleriyle ilgili yazıları...</description>
	<lastBuildDate>Mon, 30 Nov 2009 11:10:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>JPC &#8211; Java PC</title>
		<link>http://www.sezaiyilmaz.com/2009/07/08/jpc-java-pc/</link>
		<comments>http://www.sezaiyilmaz.com/2009/07/08/jpc-java-pc/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 08:12:25 +0000</pubDate>
		<dc:creator>Sezai YILMAZ</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Teknoloji]]></category>
		<category><![CDATA[Ürün İnceleme]]></category>
		<category><![CDATA[dsl]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[pure java]]></category>
		<category><![CDATA[virtual machine]]></category>
		<category><![CDATA[vm]]></category>
		<category><![CDATA[x86]]></category>

		<guid isPermaLink="false">http://www.sezaiyilmaz.com/?p=439</guid>
		<description><![CDATA[JPC &#8211; Pure Java x86 Emulator sadece java programlama dili ile geliştirilmiş olan bir sanal bilgisayardır. Geliştiricilerine göre oldukça yüksek performanslı. Sanal ortamda sorunsuz çalıştırabildiği işletim sistemleri listesinde Linux ve DOS ağırlığı görülüyor. Henüz Windows XP&#8217;yi tam anlamıyla yükleyip çalıştıramıyor. Ancak Linux ve DOS sorunsuz çalışıyor. JPC&#8217;nin en güzel ve fantezi yönü de Java ile [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-440" title="jpc_logo" src="http://www.sezaiyilmaz.com/wp-content/uploads/2009/07/jpc_logo.png" alt="jpc_logo" width="84" height="72" />JPC &#8211; Pure Java x86 Emulator sadece java programlama dili ile geliştirilmiş olan bir sanal bilgisayardır. Geliştiricilerine göre oldukça yüksek performanslı. Sanal ortamda sorunsuz çalıştırabildiği işletim sistemleri listesinde Linux ve DOS ağırlığı görülüyor. Henüz Windows XP&#8217;yi tam anlamıyla yükleyip çalıştıramıyor. Ancak Linux ve DOS sorunsuz çalışıyor. JPC&#8217;nin en güzel ve fantezi yönü de Java ile geliştirildiği için her ortamda çalışabiliyor olmasıdır. Hatta browser içerisinde applet olarak bile çalışabilmekte. Browser içerisinde apllet olarak çalışmasının henüz fantezi dışında özel bir avantajını göremedim. Yine de güzel bir fantezi.</p>
<p><span id="more-439"></span>Yaptığım araştırma ve incelemeler sonrasında sanal makinayı DSL (Damn Small Linux) ile kendi sitesi üzerinden web browser içinden applet olarak test ettim. Performansı oldukça başarısızdı. Ancak yine de Java dili ile x86 makina yapılabilmiş olması ve Linux işletim sistemini grafiksel kullanıcı arabirimi ile kullandırabiliyor olması Java dilinin gücünü göstermektedir.</p>
<p>GPL2 lisanslı JPC&#8217;ye ulaşmak için <a href="http://www-jpc.physics.ox.ac.uk/" target="_blank">http://www-jpc.physics.ox.ac.uk/</a> adresine tıklayabilirsiniz. Yapmış olduğum denemenin ekran görüntüleri aşağıdadır.</p>

<a href='http://www.sezaiyilmaz.com/2009/07/08/jpc-java-pc/jpc_01/' title='jpc_01'><img width="150" height="150" src="http://www.sezaiyilmaz.com/wp-content/uploads/2009/07/jpc_01-150x150.png" class="attachment-thumbnail" alt="jpc_01" title="jpc_01" /></a>
<a href='http://www.sezaiyilmaz.com/2009/07/08/jpc-java-pc/jpc_02/' title='jpc_02'><img width="150" height="150" src="http://www.sezaiyilmaz.com/wp-content/uploads/2009/07/jpc_02-150x150.png" class="attachment-thumbnail" alt="jpc_02" title="jpc_02" /></a>
<a href='http://www.sezaiyilmaz.com/2009/07/08/jpc-java-pc/jpc_03/' title='jpc_03'><img width="150" height="150" src="http://www.sezaiyilmaz.com/wp-content/uploads/2009/07/jpc_03-150x150.png" class="attachment-thumbnail" alt="jpc_03" title="jpc_03" /></a>

]]></content:encoded>
			<wfw:commentRss>http://www.sezaiyilmaz.com/2009/07/08/jpc-java-pc/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Linux İçin İlk Google Chrome</title>
		<link>http://www.sezaiyilmaz.com/2009/06/06/linux-icin-ilk-google-chrome/</link>
		<comments>http://www.sezaiyilmaz.com/2009/06/06/linux-icin-ilk-google-chrome/#comments</comments>
		<pubDate>Sat, 06 Jun 2009 10:51:05 +0000</pubDate>
		<dc:creator>Sezai YILMAZ</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ürün İnceleme]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google chrome]]></category>

		<guid isPermaLink="false">http://www.sezaiyilmaz.com/?p=435</guid>
		<description><![CDATA[Google&#8217;ın MS-Windows pazarına uzun zaman önce sokmuş olduğu Google Chrome web gezgini hızla pazarda kendine yer edinmeye başlamışken biz Linux kullanıcılarının Linux sürümü için heyecanlı bekleyişi nihayet sona eriyor. Ubuntu ve Debian&#8217;lar için aşağıdaki adresten indirip ilk beta sürümünü deneyebilirsiniz. http://www.google.com/chrome/intl/en/eula_dev.html?dl=unstable_i386_deb Bu yazıyı da Google Chrome&#8217;un Linux sürümü ile hazırlayıp gönderiyorum. Henüz yapılacak çok işi [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-436" title="google-chrome-logo" src="http://www.sezaiyilmaz.com/wp-content/uploads/2009/06/google-chrome-logo-150x150.jpg" alt="google-chrome-logo" width="72" height="72" />Google&#8217;ın MS-Windows pazarına uzun zaman önce sokmuş olduğu Google Chrome web gezgini hızla pazarda kendine yer edinmeye başlamışken biz Linux kullanıcılarının Linux sürümü için heyecanlı bekleyişi nihayet sona eriyor.</p>
<p><span id="more-435"></span>Ubuntu ve Debian&#8217;lar için aşağıdaki adresten indirip ilk beta sürümünü deneyebilirsiniz.</p>
<p>http://www.google.com/chrome/intl/en/eula_dev.html?dl=unstable_i386_deb</p>
<p>Bu yazıyı da Google Chrome&#8217;un Linux sürümü ile hazırlayıp gönderiyorum. Henüz yapılacak çok işi var ama şu ana kadarki sonuç da oldukça etkileyici. Performansı, sade göreselliği ve takılmadan akıcı hareket eden animasyonları mükemmel olmuş. Yine de eklentiler, gelişmiş ağ ayarları, vb. konularda bayağı yol alması lazım.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sezaiyilmaz.com/2009/06/06/linux-icin-ilk-google-chrome/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Nokia E71 &#8211; Ad-Hoc WiFi Kurulumu</title>
		<link>http://www.sezaiyilmaz.com/2008/11/09/nokia-e71-ad-hoc-wifi-kurulumu/</link>
		<comments>http://www.sezaiyilmaz.com/2008/11/09/nokia-e71-ad-hoc-wifi-kurulumu/#comments</comments>
		<pubDate>Sat, 08 Nov 2008 22:00:33 +0000</pubDate>
		<dc:creator>Sezai YILMAZ</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sistem Yönetimi]]></category>
		<category><![CDATA[Symbian]]></category>
		<category><![CDATA[ad-hoc]]></category>
		<category><![CDATA[bridge]]></category>
		<category><![CDATA[dnsmasq]]></category>
		<category><![CDATA[E71]]></category>
		<category><![CDATA[eth0]]></category>
		<category><![CDATA[eth1]]></category>
		<category><![CDATA[ifconfig]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[iwconfig]]></category>
		<category><![CDATA[kablosuz ağ]]></category>
		<category><![CDATA[köprü]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[Nokia E71]]></category>
		<category><![CDATA[sysctl]]></category>
		<category><![CDATA[wifi]]></category>
		<category><![CDATA[wireless]]></category>

		<guid isPermaLink="false">http://www.sezaiyilmaz.com/?p=399</guid>
		<description><![CDATA[Ofiste dizüstü bilgisayarımı kablolu bir bağlantı ile ağa bağlamaktayım. Diğer bir deyişle ofiste kablosuz (WiFi) bağlantı imkanı bulunmamakta. Ofisteyken Nokia E71&#8242;imi mevcut kurumsal ağıma dahil edebilmek ve kurumsal ağım üstünden internete çıkararak kabaran GSM operatörü fatura bedellerini kısmak için Nokia E71&#8242;i ad-hoc modunda dizüstü bilgisayarıma kablosuz olarak bağlamak aklıma geldi. Nokia E71 Üzerinde Ad-Hoc Erişim [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-419" title="wifi" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/11/wifi-150x150.gif" alt="" width="90" height="90" />Ofiste dizüstü bilgisayarımı kablolu bir bağlantı ile ağa bağlamaktayım. Diğer bir deyişle ofiste kablosuz (WiFi) bağlantı imkanı bulunmamakta. Ofisteyken Nokia E71&#8242;imi mevcut kurumsal ağıma dahil edebilmek ve kurumsal ağım üstünden internete çıkararak kabaran GSM operatörü fatura bedellerini kısmak için Nokia E71&#8242;i ad-hoc modunda dizüstü bilgisayarıma kablosuz olarak bağlamak aklıma geldi.<span id="more-399"></span></p>
<h4>Nokia E71 Üzerinde Ad-Hoc Erişim Noktası Tanımlama</h4>
<p>Telefonunuzda bekleme konumundayken Menu -&gt; Tools -&gt; Settings -&gt; Connection menüsünü açınız. Burada Access points&#8217;e giriniz.</p>
<p><img class="alignnone size-medium wp-image-414" title="screenshot0028" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/11/screenshot0028-300x225.png" alt="" width="300" height="225" /></p>
<p>Sol alttaki &#8220;Options&#8221;a tıklayarak çıkan menüden &#8220;New access point&#8221;e tıklayınız.</p>
<p><img class="alignnone size-medium wp-image-415" title="screenshot0029" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/11/screenshot0029-300x225.png" alt="" width="300" height="225" /></p>
<p><strong>Connection name:</strong> Oluşturmakta olduğunuz ad-hoc bağlantı profiline bir isim veriniz.</p>
<p><strong>Data bearer:</strong> Wireless LAN olarak seçiniz.</p>
<p><strong>WLAN network name:</strong> Bu örneği &#8220;test&#8221; ismiyle yaptığımız için test deyiniz. Bu ad-hoc bağlantınızın ESSID&#8217;si olacak, Linux&#8217;ünüzde de aynı ismi kullanmanız gerekecek.</p>
<p><img class="alignnone size-medium wp-image-416" title="screenshot0030" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/11/screenshot0030-300x225.png" alt="" width="300" height="225" /></p>
<p><strong>Network status:</strong> Hidden olarak seçiniz.</p>
<p><strong>WLAN network mode:</strong> Ad-hoc olarak seçiniz.</p>
<p><strong>WLAN security mode:</strong> WEP olarak seçiniz.</p>
<p>WLAN security settings&#8217;e tıklayarak güvenlik ayarlarına giriniz.</p>
<p><img class="alignnone size-medium wp-image-417" title="screenshot0031" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/11/screenshot0031-300x225.png" alt="" width="300" height="225" /></p>
<p><strong>WEP key in use:</strong> #1 olarak kalsın.</p>
<p><strong>Authentication type:</strong> Open olarak seçiniz.</p>
<p>WEP key settings&#8217;e tıklayarak WEP anahtarınızı tanımlama ayarlarına giriniz.</p>
<p><img class="alignnone size-medium wp-image-418" title="screenshot0032" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/11/screenshot0032-300x225.png" alt="" width="300" height="225" /></p>
<p><strong>WEP encryption:</strong> 64 bits olarak seçiniz. Arzu ederseniz daha yüksek güvenlik için 128 bit olarak da seçebilirsiniz. Ancak örneğimiz 64 bitlik bir anahtar ile yapılmış durumda.</p>
<p><strong>WEP key format:</strong> Hexadecimal olarak seçiniz.</p>
<p><strong>WEP key:</strong> 10 haneli hexadecimal rakamlardan oluşan bir sayı giriniz.</p>
<p>Sağ alt köşedeki Back&#8217;e tıklayarak kaydetmek isteyip istemediğinizi soran sorulara Yes olarak yanıt veriniz. Bu çalışma ile ad-hoc WiFi bağlantı profiliniz hazır. Sırada bu profil ile uyuşan Linux üzerindeki ayarlarda.</p>
<h4>Dizüstü Bilgisayarınızdaki Hazırlıklar</h4>
<p>Dizüstü bilgisayar üzerinde bir DHCP sunucu çalıştırma zorunluluğu bulunmakta. Aksi taktirde kablosuz ağ arayüzünden DHCP isteminde bulunacak olan Nokia E71&#8242;e DHCP ile IP yapılandırması veren bir cihaz olmayacak. Bu amaca yönelik olarak çok basit bir şekilde <strong>dnsmasq</strong> paketi kurularak çalıştırılabilir (apt-get install dnsmasq).</p>
<p>Dizüstü bilgisayarımda eth0 kablolu, eth1 kablosuz ağ bağlatı arayüzleridir, örneklerim buna bağlı olarak devam edecek. Dnsmasq&#8217;in yapılandırma dosyası <strong>/etc/dnsmasq.conf</strong> içerisine aşağıdaki iki satırı ekleyiniz.</p>
<pre>interface=eth1
dhcp-range=192.168.0.50,192.168.37.150,12h</pre>
<p>Linux dağıtımlarından birisini koşturan dizüstü bilgisayarınızda aşağıdaki komutları çalıştırınız.</p>
<pre># iwconfig eth1 mode ad-hoc essid test key 1234567890
# ifconfig eth1 192.168.0.1 up
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# sysctl -w net.ipv4.ip_forward=1
# /etc/init.d/dnsmasq restart</pre>
<p>Yukarıdaki komutları bir shell script içerisine yazarak daha pratik bir şekilde topluca çalıştırabilirsiniz. Bu aşamadan sonra Nokia E71 üzerinde internet erişimi yapacak olan herhangi bir uygulama başlattığınızda internet erişimi için bağlantı profili seçimi sorulduğunda yeni tanımlamış olduğunuz kablosuz ağ bağlantısını seçip kullanabilirsiniz.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sezaiyilmaz.com/2008/11/09/nokia-e71-ad-hoc-wifi-kurulumu/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>İnternetten Bilgisayarınızı Açın &#8211; WakeOnLan</title>
		<link>http://www.sezaiyilmaz.com/2008/08/10/internetten-bilgisayarinizi-acin-wakeonlan/</link>
		<comments>http://www.sezaiyilmaz.com/2008/08/10/internetten-bilgisayarinizi-acin-wakeonlan/#comments</comments>
		<pubDate>Sun, 10 Aug 2008 10:24:11 +0000</pubDate>
		<dc:creator>Sezai YILMAZ</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sistem Yönetimi]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ağ arayüzü]]></category>
		<category><![CDATA[airties]]></category>
		<category><![CDATA[airties rt210]]></category>
		<category><![CDATA[bilgisayar internet üzerinden nasıl açılır]]></category>
		<category><![CDATA[bilgisayar uzaktan nasıl açılır]]></category>
		<category><![CDATA[bilgisayarınızı uzaktan açın]]></category>
		<category><![CDATA[broadcast]]></category>
		<category><![CDATA[ethernet]]></category>
		<category><![CDATA[ethernet kartı]]></category>
		<category><![CDATA[etherwake]]></category>
		<category><![CDATA[ethtool]]></category>
		<category><![CDATA[internetten bilgisayarınızı açın]]></category>
		<category><![CDATA[kesintisiz güç kaynağı]]></category>
		<category><![CDATA[kgk]]></category>
		<category><![CDATA[kılavuz]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[man]]></category>
		<category><![CDATA[manual page]]></category>
		<category><![CDATA[NAT]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[network interface]]></category>
		<category><![CDATA[ozenda]]></category>
		<category><![CDATA[pat]]></category>
		<category><![CDATA[philips]]></category>
		<category><![CDATA[port address translation]]></category>
		<category><![CDATA[rt210]]></category>
		<category><![CDATA[sna]]></category>
		<category><![CDATA[ups]]></category>
		<category><![CDATA[wake on lan]]></category>
		<category><![CDATA[wakeonlan]]></category>
		<category><![CDATA[wol]]></category>
		<category><![CDATA[yayın]]></category>

		<guid isPermaLink="false">http://www.sezaiyilmaz.com/?p=353</guid>
		<description><![CDATA[Bilgisayarımı uzaktan açabilmek benim için hep bir ihtiyaç olmuştur. Özellikle ofiste çalışırken acilen evdeki bilgisayardan almam gereken bazı dosyalar olabiliyor. Bu duruma en az 1-2 ayda bir düşmüşümdür. Ofis ile ev arası 17 km olunca &#8220;ah şu işi yapmamı sağlayacak birşeyler olsa&#8221; derdim. Bazen evde bilgisayar bilgisi sıfır olan Mert&#8217;in bakıcısı veya annem olabiliyor. Onlara [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-355" title="ethernet" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/08/ethernet-150x150.jpg" alt="" width="105" height="105" />Bilgisayarımı uzaktan açabilmek benim için hep bir ihtiyaç olmuştur. Özellikle ofiste çalışırken acilen evdeki bilgisayardan almam gereken bazı dosyalar olabiliyor. Bu duruma en az 1-2 ayda bir düşmüşümdür. Ofis ile ev arası 17 km olunca &#8220;ah şu işi yapmamı sağlayacak birşeyler olsa&#8221; derdim. Bazen evde bilgisayar bilgisi sıfır olan Mert&#8217;in bakıcısı veya annem olabiliyor. Onlara bilgisayarın monitor olmadığını, üzerinde iki düğmesi olan kara kutuyu ve doğru düğmeleri tarif edene kadar bir ömür geçiyordu.</p>
<p>Yıllardır BIOS ayarlarında Ağ Üzerinden Uyan (ing. Wake on Lan) ayarını görmekteydim ama hiç kullanmak nasip olmamıştı. İlk çıktığı zamanlar da bu teknolojiden yararlanmamızı sağlayacak araçlar da pek yoktu. Bu teknolojiden yararlanmanın artık vakti gelmiştir diye düşündüm ve konuyu araştırıp uygulamaya koydum.<span id="more-353"></span></p>
<p>WoL özelliğinin çalışma mantığı şu şekilde. Öncelikle BIOS&#8217;tan WoL etkinleştirme ayarı yapılıyor. Bu ayar bilgisayar kapalıyken ethernet kartının elektrikle beslenip kablo üzerindeki sinyalleri işleyebilir olmasını sağlıyor. Ancak maalesef bu yeterli değil. Öncelikle bir işletim sistemi tarafından kapatılmış olması gerekiyor. Çünkü kablo üzerindeki sinyaller ethernet driverının ethernet belleğinde bırakmış olduğu bir miktar kod ile sistemi uyarabiliyor. Elektrik kesintisi sonrasında ethernet kartında bu kod yer almadığı için WoL özelliği BIOS&#8217;ta açık ve etkin olsa bile açılmayacaktır. Bilgisayarı bir MS-Windows işletim sistemi kapattıysa WoL %99 ihtimalle çalışacaktır. Bir Linux kapattıysa WoL %1 ihtimalle çalışacaktır. Bu duruma üzülmenize gerek yok. Linux&#8217;te ethernet üzerinde bu kodu bırakması için bir ayar yapmak gerekiyor. Tek sıkıntı bu. Bu ayardan sonra %99 ihtimalle Linux üzerinde de WoL çalışacaktır. Hatta Linux&#8217;te bu ayarla birlikte o kadar güzel seçenekler var ki Windows&#8217;un otomatik sağladığı WoL özelliği halt etmiş diyebilirim (donanımın da bu özellikleri destekliyor olması gerekiyor).</p>
<p><span style="text-decoration: underline;"><strong>Linux&#8217;te WoL Ayarı:</strong></span></p>
<pre><strong>root@sistem#</strong> <span style="color: #808080;">ethtool -s eth0 wol g</span></pre>
<p>Yukarıdaki komutun işletiminden sonra Linux kapanırken ethernet kartı üzerinde WoL kodunu bırakacaktır. Bu Windows&#8217;un bıraktığı kod ile uyumlu olandır. Diğer güvenlik ve güvensizlik seçenekleri için ethtool aracının kılavuz sayfalarını (ing. manual page) okumanızı öneririm. Yukarıdaki komut bu ayarı kalıcı yapmamaktadır. Kalıcı olması isin sistem açılış veya kapanış sürecinde işletilen betiklere dahil edilmesi gerekmektedir. Hem Linux hem Windows için geçerli olan birşey var ki bilgisayarınız bu şekilde kapalıyken elektrikler kesilir ve gelirse ethernet kartındaki WoL kodu yok olmuş olacak ve ne kadar uğraşırsanız uğraşın açılmayacaktır. Dolayısı ile bilgisayarınız kapalı da olsa KGK (ing. UPS) ile beslenmeye devam etmesi önerilir. Son bir hatırlatma olarak da ethernet kartınız PCI genişleme yuvasına takılı ise ayrıca bir WoL kablosunun bulunması ve anakarttaki ilgili pinlere bağlatısının yapılmış olması gerekmektedir. Ethernet kartı anakarta bütünleşik ise WoL kablolaması için özel birşey yapmanız gerekmeyecek.</p>
<p>Bu teknoloji nasıl çalışyor? Öncelikle sihirli paket (ing. magic packet) hazırlamalı ve bu sihirli paketi ağ üzerindeki kapalı olan ancak WoL şartlarını sağlayan bilgisayarınıza ulaştırmalısınız. Sihirli paket aslında 6 byte&#8217;lik 0xFFFFFFFFFFFF değerinden sonra ilgili ethernet kartının MAC adresini 16 kez peş peşe içeren özel bir UDP paketidir. Ancak uyandırılacak olan sistem kapalı olduğu için UDP paketinin hedefine ulaşması amacıyla hedef MAC adresi değerinde (ing. destination mac address) tüm ağa yayılması için FF:FF:FF:FF:FF:FF yayın adresini (ing. broadcast address) kullanılabilir. Tüm bunların normal ağ veya tcp/ip programları ile yapılması mümkün değil (switch&#8217;in arp çağrılarına kapalı olduğu için cevap vermeyecektir, dolayısı ile nerede olduğunu asla bilemezsiniz, bu nedenle normal socket programlama ile WoL uygulaması yapılamaz). Dolayısı ile sadece bu amaca yönelik packet injection kütüphaneleri kullanılarak geliştirilmiş uygulamalar kullanılır. WoL şartlarını sağlayan kapalı bilgisayarların ethernet kartına bu sihirli paket ulaştığında, kendi MAC adresini peş peşe 16 kez görünce anakarta sanki düğmeye basılmış gibi açılma sinyali gönderilmekte ve bilgisayar açılmaktadır.</p>
<p>Linux ortamında <strong>etherwake</strong> veya <strong>wakeonlan</strong> araçları kullanılabilir. Packet injection işlemi yapılacağı için root kullanıcısı hakları ile kullanılmasını öneririm.</p>
<pre><strong>root@sistem#</strong> <span style="color: #808080;">etherwake 00:13:23:DB:BD:FA</span></pre>
<p>Yukarıdaki komutu çalıştırdığımızda ağımızda yer alan ve WoL şartlarını sağlayan 00:13:23:DB:BD:FA MAC adresli bilgisayar açılacaktır.</p>
<p>Buraya kadar herşey güzel. Peki ya ofisten evdeki bilgisayarı internet üzerinden nasıl açarız? Eğer evinizde ulaşabileceğiniz 7/24 açık bir sunucunuz varsa onun üzerinden yapabilirsiniz. Ya o da yoksa? Bu durumda şansınızın yaver gitmesi için duğa etmelisiniz. Çünkü geri kalan tamamen ADSL (veya diğer türlerdeki) router/firewall&#8217;unuzun yeteneğidir. Bazı ADSL router&#8217;larının PAT (ing. Port Address Translation) ayarlarında dış UDP port 9, hedef iç UDP port 9, hedef iç IP 192.168.0.255 gibi yayın adresi (ing. broadcast) olan iç adres belirtilebiliyor. Bu durumda dış IP&#8217;nizin 9 numaralı UDP portune gelecek olan her paket içteki tüm ağınıza yayılmış olacak. Sade ve sadece sihirli paketin içeriği kendi mac adresi ile eşleşen bilgisayar açılacaktır.</p>
<p>Peki ya ADSL router&#8217;ınız yayın adresini yazmanıza izin vermiyorsa? Benim durumum da aynı bu şekilde. Yerli Airties firmamızın arayüzünde Türkçe çeviri yaparak fason olarak piyasamıza soktuğu, Çinli Arcadyan&#8217;ın üretiği ve dünya piyasasında Philips, SNA, Ozenda gibi değişik markalarda da görebildiğimiz Airties rt210&#8242;un ilk sürümünü kullanmaktayım. Çok güzel, sağlam, ısıya dayanıklı, mükemmel bir ürün, öyle olmasa Philips ve SNA tercih etmezlerdi. Bu alet NAT ayarlarındaki Virtual Server bölümünde iç hedef IP adresi olarak yayın adresi girilmesine kesinlikle izin vermiyor. Sizin durumunuz da bu şekildeyse WoL&#8217;ı internet üzerinden çalıştırmak için küçük bir şansınız daha olabilir. Ben o küçük şansa sahip olanlardan birisiyim ve Airties rt210&#8242;da bu iş oluyor. Hemen ayrıntılara girelim.</p>
<p>Bir komut isteminden Airties&#8217;a telnet ile bağlantı kuruyorsunuz. Windows kullanıcıları Komut İstemini kullanabilirler, ben Linux üzerinden örnekleyeceğim.</p>
<p>=================================</p>
<pre><strong>kullanici@sistem$</strong> <span style="color: #808080;">telnet 192.168.2.1</span>
User Name : root
User Password : **********</pre>
<pre>Telnet Manager Version 0.44</pre>
<pre>Type ? for Command-Sensitive Help, TAB match command</pre>
<pre>ROOT :&gt; dhcp fixed add 00:13:23:DB:BD:FA 192.168.2.100
ROOT :&gt; show dhcp

(1) DHCP Server Parameters
    Service(TAB)       : Enable
    Interface(TAB)     : LAN 1
    Default Gateway    : 192.168.2.1
    Subnet Mask        : 255.255.255.0
    DHCP Start IP      : 192.168.2.10
    DHCP IP Count      : 155
    Leased Time (sec.) : 1209600
    Name Server IP     : 192.168.2.1

(2) List Fixed Host Entries
  No   Ethernet  Address     IP  Address
 ---- ------------------- -----------------
   1  00:13:23:DB:BD:FA    192.168.2.100

(3) DHCP Client Parameters
    Client Functionality      : Disable
    Activate interface number : ATM 1

ROOT :&gt; write

Do you want to write the configuration(y/n) ? : y
Write configuration successful !!!

Do you want to restart the system to activate new configuration(y/n) ? : n

Cancel by user !!!
ROOT :&gt; exit

CONF :&gt; exit

USER :&gt; exit

Do you want to disconnect(y/n) ?  : y

 Disconnect by user.....Connection closed by foreign host.
<strong>kullanici@sistem$</strong></pre>
<p>=================================</p>
<p>Yukarıdaki telnet oturumunda açıkça görülmektedir ki DHCP ayarlarında bir MAC adresi için static IP rezervasyonu yaptım. Web arayüzünde olmayan bunun gibi ilave özelliklere de telnet komut isteminden ulaşabilirsiniz. Hatta Philips ya da SNA&#8217;in firmware&#8217;larını yazarsanız QoS / VLAN gibi ayarlarınız da olacak. <img src='http://www.sezaiyilmaz.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Airties ile uğraşmayı bırakıp konumuza geri dönelim.</p>
<p>Bu ayardan sonra Airties&#8217;ın web tabanlı arayüzünün NAT -&gt; Virtual Server ayarlarında dışa geken UDP 9 portu paketlerini içteki 192.168.2.100&#8242;ün UDP 9&#8242;una yönlendir ayarı yapıp kaydetmek gerekiyor. Bu aşamadan sonra ofisinizden evinizin dış IP&#8217;sini aşağıdaki gibi hedef göstererek evinizdeki WoL şartlarını sağlayan kapalı bilgisayarınızı uyandırabilirsiniz.</p>
<pre><strong>kullanici@sistem$</strong> <span style="color: #808080;">wakeonlan -i 81.214.22.200 -p 9 00:13:23:DB:BD:FA</span>
Sending magic packet to 81.214.22.200:9 with 00:13:23:DB:BD:FA
<strong>kullanici@sistem$</strong></pre>
<p>Bu yöntemle aylarca yaşadım. Ta ki evimde bir Linux sunucum oluncaya kadar. İhtiyacı olanların denemesini öneririm. Son bir hatırlatma, şansınız yaver gitmezse ve ADSL router&#8217;ınız Airties gibi davranmıyorsa tüm bu çabalarınız boşa olabilir.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sezaiyilmaz.com/2008/08/10/internetten-bilgisayarinizi-acin-wakeonlan/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Disk Bölümleme &#8211; Disk Partitioning</title>
		<link>http://www.sezaiyilmaz.com/2008/08/07/disk-bolumleme-disk-partitioning/</link>
		<comments>http://www.sezaiyilmaz.com/2008/08/07/disk-bolumleme-disk-partitioning/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 21:07:45 +0000</pubDate>
		<dc:creator>Sezai YILMAZ</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sistem Yönetimi]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[disk birimi]]></category>
		<category><![CDATA[disk bölümleme]]></category>
		<category><![CDATA[disk bölümü]]></category>
		<category><![CDATA[disk partition]]></category>
		<category><![CDATA[disk partitioning]]></category>
		<category><![CDATA[disklabel]]></category>
		<category><![CDATA[DOS]]></category>
		<category><![CDATA[openbsd]]></category>

		<guid isPermaLink="false">http://www.sezaiyilmaz.com/?p=334</guid>
		<description><![CDATA[Birçok kişinin disk bölümlemenin (ing. disk partitioning) tam olarak ne olduğunu kavrayamadığını veya kırk yılda bir işletim sistemi kurulumu yapıldığı için bu bilgiye ihtiyaç duymadığını farkettim. OpenBSD ile tanıştıktan sonra da disk bölümleme konusunda aslında benim de yanlış şeyler bildiğim ortaya çıktı. Ancak birden fazla işletim sisteminin kurulması söz konusu olduğunda disk bölümlerinin işletim sistemine [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-339" title="hard_disk" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/08/hard_disk-150x150.jpg" alt="" width="96" height="96" />Birçok kişinin disk bölümlemenin (ing. disk partitioning) tam olarak ne olduğunu kavrayamadığını veya kırk yılda bir işletim sistemi kurulumu yapıldığı için bu bilgiye ihtiyaç duymadığını farkettim. OpenBSD ile tanıştıktan sonra da disk bölümleme konusunda aslında benim de yanlış şeyler bildiğim ortaya çıktı. Ancak birden fazla işletim sisteminin kurulması söz konusu olduğunda disk bölümlerinin işletim sistemine özel olarak planlanması önemli rol oynamaktadır. PC ortamındaki disk bölümleri (ing. disk partitions) ile ilgili bildiklerimin zamanla değişimini aşağıda tarif etmeye çalışacağım.<span id="more-334"></span></p>
<h4>DOS / Windows ile Disk Bölümleme Hakkında Öğrendiklerim</h4>
<p>Bir adet birincil birim (ing. primary paritition) olan C: sürücüsü, peşinden bir adet genişletilmiş bölüm (ing. extended partition), onun da içinde istediğimiz kadar mantıksal birim (ing. logical parititon). DOS ve Windows&#8217;ların açılış yapabilmesi için açılış kodunun birincil bölümde yer alması gerekmektedir (DOS&#8217;ta msdos.sys ve io.sys, Windows&#8217;ta ntldr). Ayrıca bootable flag denen bir bayrağın da açılış kodunun yer aldığı birincil bölümde kurulu olması gerekmektedir. İşletim sisteminin açılabilmesi için bu iki şartın aynı anda sağlanması bir zorunluluktur. DOS/Windows zamanlarında disk bölümleme sonucu ortaya çıkan disk haritası şu şekildeydi.</p>
<p><img class="alignnone size-full wp-image-336" title="dos_disk" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/08/dos_disk.png" alt="" width="500" height="104" /></p>
<h4>Linux ile Disk Bölümleme Hakkında Öğrendiklerim</h4>
<p>Linux ile haşır neşir olduktan sonra PC ortamında DOS&#8217;ta ve Windows&#8217;ta öğrenmiş olduğum bir adet birincil bölümün, bir adet genişletilmiş bölümün, birçok da mantıksal bölümün aynen geçerli olduğunu gözlemledim. Ancak Linux&#8217;te öğrendiğim bir başka kavram daha vardı. PC ortamında aslında bir diskte azami 4 birincil bölümün adreslenebileceğini, daha fazla disk bölümüne ihtiyacımız olursa da bu 4 birincil bölümden sadece 1 tanesinin genişletilmiş bölüm olarak oluşturulabileceğini, tüm mantıksal disklerin de bu genişletilmiş bölüm içinde yer aldığını öğrendim. Her 4 birincil bölümün bir sıra numarası olduğu ve bu numaraların (SCSI altsistemi disklerinde sda1, sda2, sda3, sda4) sabit ve önceden ayrılmış olduğunu öğrendim. Tüm mantıksal bölümlerin de kaç birincil bölümün kullanıldığından bağımsız olarak 5&#8242;ten başladığını ve sıra numarası ile arttığını öğrendim (sda5, sda6, sda7, &#8230;). Birincil bölümlere ayrılmış olan bu 4 isimden (sıra numarasından) bir tanesi de genişletilmiş bölüm için kullanılmaktadır. Linux&#8217;teki olası disk bölümleme haritaları aşağıdaki gibi olabilmektedir.</p>
<p><img class="alignnone size-full wp-image-337" title="linux_disk" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/08/linux_disk.png" alt="" width="500" height="442" /></p>
<p>Yukarıdaki biçimlerden benim özel tercihim herşeyi sırayla hiç boşluk bırakmadan doldurmaktır. O da sonuncu seçenektekidir.</p>
<h4>OpenBSD ile Disk Bölümleme Hakkında Öğrendiklerim</h4>
<p>OpenBSD ile tanıştıktan sonra DOS ve Linux zamanlarında öğrenmiş olduğum disk bölümleme kavramlarının hepsinin de aslında doğru olmadığını, bu gösterim biçimlerinin, numaralandırmaların hepsinin de sadece arka tarafta olup biteni soyutlamak için uydurma hikayeler olduğunu öğrendim. Bir yere kadar doğruluk payları var. Ancak tüm tablo ele alındığında aslında ayrıntıların daha farklı olduğunu öğrendim. OpenBSD bölüm değil de disk label kullanıyor olmasına rağmen PC ortamında aynı disk üstünde farklı işletim sistemleri ile bir arada yaşabilmesi için PC disk bölümlerinden de anlamaktadır. PC ortamında DOS ve Windows işletim sistemleri ile oluşturulan birincil bölüm, genişletilmiş bölüm ve mantıksal bölüm aslında aşağıdaki gibi özyinelemeli (ing. recursive) bir yapıda tutulmaktadır.</p>
<pre>part0 <span style="color: #999999;">(primary, sda1, C: )</span>
part1 <span style="color: #999999;">(primary, sda2, D: )</span>
part2 <span style="color: #999999;">(primary, sda3, E: )</span>
part3 <span style="color: #999999;">(extended, sda4)</span>
  \--&gt; part0 <span style="color: #999999;">(logical, sda5, F:)</span>
       part1 <span style="color: #999999;">(extended)</span>
         \--&gt; part0 <span style="color: #999999;">(logical, sda6, G:)</span>
              part1 <span style="color: #999999;">(extended)</span>
                \--&gt; part0 <span style="color: #999999;">(logical, sda7, H:)</span></pre>
<p>Extended içinde aynı diskin başındaki gibi bir MBR ve partition table yapısı var. Ancak içinde sadece iki bölüm var. Birincisi aynı disk başındaki birincil bölüm gibi, diğeri de başka bir genişletilmiş bölüm. O genişletilmiş bölümün içi de aynı yapıda iç içe devam etmektedir.</p>
<p>Genişletilmiş bölüm içindeki birincil ve diğer genişletilmiş bölüm haricinde aslında 2 (iki) bölümlük daha yer olmasına rağmen ne DOS/Windows ne de Linux bunları adresleyip kullanamamaktadır. Ancak OpenBSD ile aşağıdaki gibi bir yapı oluşturulabilmektedir, adreslenebilmektedir, kullanılabilmektedir.</p>
<pre>part0 <span style="color: #999999;">(primary, sda1, C: )</span>
part1 <span style="color: #999999;">(primary, sda2, D: )</span>
part2 <span style="color: #999999;">(primary, sda3, E: )</span>
part3 <span style="color: #999999;">(extended, sda4)</span>
  \--&gt; part0 <span style="color: #999999;">(logical, sda5, F:)</span>
       part1 <span style="color: #999999;">(logical)</span>
       part2 <span style="color: #999999;">(logical)</span>
       part3 <span style="color: #999999;">(extended)</span>
         \--&gt; part0 <span style="color: #999999;">(logical)</span></pre>
<p>Özet olarak disk yapısı aslında özyineli tutulan bir yapıya sahiptir. Diskin üstünde 4 tane birincil bölüm desteklenmektedir. Bu birincil bölümlerden en fazla 1 tanesi genişletilmiş bölüm olabilmektedir. Genişletilmiş bölüm içerisi de aynı disk yapısına sahiptir. Yani içinde 4 tane birincil bölüm oluşturulabilir. Ancak DOS/Windows ve Linux sadece iki tanesini adresleyip kullanabilmektedir. Bunlardan birincisine mantıksal denilmektedir. Bu yapı böyle iç içe devam etmektedir.</p>
<p>DOS/Windows işletim sistemleri açılış yapabilmek için birincil bölüme ihtiyaç duyarlar. Linux sistem ön yükleyicileri (ing. boot loader) sayesinde mantıksal disk birimlerinden de açılışını yapabilmektedir. OpenBSD ise PC donanımında diskin üstünde bir birincil bölüm üstünde yer almalıdır ve tüm disklabel&#8217;ları aynı bölüm içerisinde olmalıdır.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sezaiyilmaz.com/2008/08/07/disk-bolumleme-disk-partitioning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSH ile VPN &#8211; İleri Düzey SSH</title>
		<link>http://www.sezaiyilmaz.com/2008/08/06/ssh-ile-vpn-ileri-duzey-ssh/</link>
		<comments>http://www.sezaiyilmaz.com/2008/08/06/ssh-ile-vpn-ileri-duzey-ssh/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 21:30:25 +0000</pubDate>
		<dc:creator>Sezai YILMAZ</dc:creator>
				<category><![CDATA[Güvenlik]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sistem Yönetimi]]></category>
		<category><![CDATA[client-to-site]]></category>
		<category><![CDATA[ifconfig]]></category>
		<category><![CDATA[ileri düzey ssh]]></category>
		<category><![CDATA[istemci linux]]></category>
		<category><![CDATA[openssh]]></category>
		<category><![CDATA[openssh ile vpn]]></category>
		<category><![CDATA[openssh ile vpn kurulumu]]></category>
		<category><![CDATA[ping]]></category>
		<category><![CDATA[pppd]]></category>
		<category><![CDATA[routing]]></category>
		<category><![CDATA[routing table]]></category>
		<category><![CDATA[sip]]></category>
		<category><![CDATA[site-to-site]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[ssh ile vpn]]></category>
		<category><![CDATA[ssh ile vpn kurulumu]]></category>
		<category><![CDATA[ssh ile vpn nasıl yapılır]]></category>
		<category><![CDATA[ssh vpn through pppd]]></category>
		<category><![CDATA[sunucu linux]]></category>
		<category><![CDATA[voip]]></category>
		<category><![CDATA[vpn]]></category>
		<category><![CDATA[vpn with ssh]]></category>
		<category><![CDATA[yönlendirme tablosu]]></category>

		<guid isPermaLink="false">http://www.sezaiyilmaz.com/?p=291</guid>
		<description><![CDATA[SSH ile VPN&#8217;le İleri Düzey SSH serisi yazılarımın sonuna geldik. Öncelikle SSH ile VPN mükemmel bir VPN çözümü değildir. Reliable bir bağlantı olan TCP içinden TCP geçirmek ilave bir overhead&#8217;e neden olmaktadır. Düzgün ve sağlıklı olmayan bir bağlantı üstünde sık sık kopmalara neden olabilir. SSH ile VPN&#8217;in diğer bir dezavantajı da sadece Linux&#8217;ten Linux&#8217;e (ve [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-thumbnail wp-image-309 alignleft" title="OpenSSH" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/08/ssh01-150x150.png" alt="" width="96" height="96" />SSH ile VPN&#8217;le İleri Düzey SSH serisi yazılarımın sonuna geldik. Öncelikle SSH ile VPN mükemmel bir VPN çözümü değildir. Reliable bir bağlantı olan TCP içinden TCP geçirmek ilave bir overhead&#8217;e neden olmaktadır. Düzgün ve sağlıklı olmayan bir bağlantı üstünde sık sık kopmalara neden olabilir. SSH ile VPN&#8217;in diğer bir dezavantajı da sadece Linux&#8217;ten Linux&#8217;e (ve benzeri) yapılabiliyor olmasıdır.</p>
<p>Tüm bu olumsuzluklara rağmen SSH ile VPN bağlantısı kurmak mümkündür ve sağlam bir bağlantı üstünde yeterince sağlıklı çalışmaktadır (SSH ile VPN bağlantısı üstünden SIP ile VOIP görüşmesi yapmışlığım var, herhangi bir sorununu görmedim). Diğer olumlu yanları da sunucu&#8217;nun sabit IP&#8217;si olacak diye bir şart yoktur. DynDNS.org&#8217;dan alacağınız bir isimle VPN kurmak istediğiniz SSH sunucunuza DynDNS.org adıyla rahatlıkla ulaşabilirsiniz. Kurulumu diğer VPN çözümlerine göre nispeten daha kolaydır.<span id="more-291"></span></p>
<p>SSH VPN bağlantısını pppd yardımı ile gerçekleştirmektedir. VPN&#8217;nin kurulabilmesi için SSH istemci ve sunucu taraflarının her ikisinde de pppd&#8217;nin kurulu olması bir zorunluluktur. SSH istemcisi ile sunucu arasındaki şifreli bağlantının her iki ucunda yer alan pppd&#8217;ler noktadan noktaya iletişik protokolü ile şifreli tünel üzerinden yeni bir ağ kurmaktadırlar. Bu da SSH ile VPN&#8217;i meydana getirmektedir.</p>
<p>Tüm bu ön bilgilerden sonra gelelim SSH ile VPN kurulumuna. Hazırlık aşaması biraz uzun ve zahmetli (hangi vpn kolay ki <img src='http://www.sezaiyilmaz.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> ), ancak hazırlığı bir kere yaptıktan sonra bağlantının kurulması oldukça kolay.</p>
<p>SSH ile VPN bağlantısı kuracak olan istemci ve sunucu Linux&#8217;lerin her iki tarafta da firewall/gateway olarak kullanılıyor olması avantajınıza olacaktır. Her iki taraftaki tüm istemciler ön tanımlı ağ geçidi (ing. default gateway) olarak bu Linux&#8217;leri kullandıklarından dolayı ilave yönlendirme ayarına gerek kalmayacak ve VPN kurulduğunda birbirlerinin ağlarını görebilir duruma gelecekler. Ancak VPN erişimi yapmak istediğiniz ağdaki Linux sunucusu ilgili ağın yönlendiricisi değilse bir miktar daha çalışma yapmak gerekecek. Bunlara yazının sonlarında değineceğim.</p>
<h4>OpenSSH Sunucusu Üzerindeki Hazırlıklar</h4>
<p><strong>1. VPN kullanıcısının oluşturulması<br />
</strong>Sunucu Linux&#8217;te vpn bağlantısının kurulması için ssh ile erişmek üzere kullanacağımız bir kullanıcı hesabı tanımlamalıyız.</p>
<pre><strong>root@sunucu#</strong> useradd -m -d /home/vpnuser vpnuser
<strong>root@sunucu#</strong></pre>
<p><strong>2. VPN kullanıcısı için &#8220;sudo /usr/sbin/pppd&#8221; ayarının yapılması</strong><br />
Tanımlamış olduğumuz vpnuser kullanıcısının pppd&#8217;yi çalıştırabilmesi için geçici yetki yükseltmesine ihtiyacımız var. Bunun için sudo altyapısı kullanılacağız. &#8220;visudo&#8221; komutu ile /etc/sudoers dosyasını düzenlemeliyiz ve aşağıdaki satırı eklemeliyiz.</p>
<pre><strong>root@sunucu#</strong> visudo</pre>
<pre><span style="color: #808080;">vpnuser ALL=NOPASSWD: /usr/sbin/pppd</span></pre>
<p>Bu düzenlemeyi test edelim:</p>
<pre><strong>root@sunucu#</strong> su - vpnuser
<strong>vpnuser@sunucu$</strong> sudo /usr/sbin/pppd noauth
~�}#�!}!}!} }4}"}&amp;} } } } }%}&amp;�U�}2}'}"}</pre>
<p>Yukarıdakine benzer şekilde pppd&#8217;nin garip karakterlerini görüyorsak pppd&#8217;nin vpnuser tarafından root yetkileri ile çalıştırılması altyapısı hazırdır.</p>
<p><strong></strong><strong>3. SSH açık anahtarının vpn kullanıcısı hesabına yerleştirilmesi</strong><br />
OpenSSH istemci sistemde ilerleyen bölümde hazırlanmış olan ssh açık anahtarını sunucu sistemdeki vpnuser hesabının .ssh/authorized_users dosyasına yazmalıyız. Böylece istemci sistem SSH bağlantısını anahtar altyapısı ile kurabilecektir.</p>
<pre><strong>vpnuser@sunucu$</strong> mkdir .ssh
<strong>vpnuser@sunucu$</strong> cat id_rsa_vpn.pub &gt;&gt; /home/vpnuser/.ssh/authorized_keys</pre>
<p>Genel olarak sunucu sistemdeki hazırlıklar bu kadar. Sıra istemci sistemdeki hazırlıklarda.</p>
<h4>OpenSSH İstemcisindeki Hazırlıklar</h4>
<p><strong>1. root kullanıcısında VPN için gizli ve açık anahtar oluşturulması</strong></p>
<p>OpenSSH gizli ve açık anahtar oluşturulması için ilave bilgi ihtiyacınız olursa <a href="http://www.sezaiyilmaz.com/2008/07/30/ssh-anahtar-kullanimi-ileri-duzey-ssh/">SSH Anahtar Kullanımı</a> başlıklı yazıma başvurabilirsiniz. VPN bağlantısının sistem açılışında otomatik olarak başlatılabilmesi için gizli anahtar şifresinin sadece Enter&#8217;a basılarak boş geçilmesi gerekmektedir.</p>
<pre><strong>root@istemci#</strong> ssh-keygen -t rsa -f /root/.ssh/id_rsa_vpn
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa_vpn.
Your public key has been saved in /root/.ssh/id_rsa_vpn.pub.
The key fingerprint is:
74:9a:43:3a:9a:14:03:20:ce:8d:aa:ba:43:18:09:b8 root@istemci
<strong>root@istemci#</strong></pre>
<p>Burada oluşturmuş olduğumuz gizli ve açık anahtar ikilisinden açık olanı SSH sunucusundaki vpnuser kullanıcısının .ssh/authorized_users dosyasına eklenmesi gerekmektedir. OpenSSH Sunucusu Üzerindeki hazırlıklar başlığına geri dönerek nasıl yapılacağına tekrar göz atabilirsiniz. Açık anahtarın adı üstünde açık anahtar olduğu için şifreli veya şifresiz bir bağlantı ile istemci sistemden sunucu sisteme aktarabilirsiniz. Ya da offline bir şekilde bir medya aracılığı ile de taşıyabilirsiniz. Ancak hedefe yerleştirmeden önce gözle son bir kontrol faydalı olur, başkasının yerimize VPN yapmasını istemeyiz. <img src='http://www.sezaiyilmaz.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><strong>2. VPN bağlantı betiğinin hazırlanması.</strong></p>
<p>VPN bağlantısının kurulması için uzun bir komut yazılması gerekmektedir. Daha pratik olması ve sistem açılışında da kullanılabilmesi için aşağıdaki gibi bir betik hazırlamak daha uygun olacaktır.</p>
<p>===================================</p>
<pre><span style="color: #808080;"><span style="color: #0000ff;"><span style="color: #333399;">#!/bin/bash</span>
</span>
<span style="color: #0000ff;">SUNUCU_ADI</span>=<span style="color: #000000;">sunucu.dyndns.org</span>
<span style="color: #0000ff;">SUNUCU_VPNKULLANICI</span>=<span style="color: #000000;">vpnuser</span>
<span style="color: #0000ff;">SUNUCU_VPNIP</span>=<span style="color: #000000;">172.16.1.2</span>
<span style="color: #0000ff;">ISTEMCI_VPNIP</span>=<span style="color: #000000;">172.16.1.1</span>
<span style="color: #0000ff;">GIZLI_ANAHTAR</span>=<span style="color: #000000;">/root/.ssh/id_rsa_vpn</span>

<span style="color: #0000ff;">PATH</span>=<span style="color: #000000;">/sbin:/bin:/usr/sbin:/usr/bin</span>

<span style="color: #ff0000;">case</span> "<span style="color: #0000ff;">$1</span>" <span style="color: #ff0000;">in</span>
  <span style="color: #ff0000;">start)</span>
    <span style="color: #000000;">pppd updetach noauth passive pty "<span style="color: #ff9900;">ssh -P -o StrictHostKeyChecking=no</span> <span style="color: #808080;">\</span></span>
         <span style="color: #0000ff;">${SUNUCU_ADI}</span> <span style="color: #ff9900;">-i</span><span style="color: #0000ff;">${GIZLI_ANAHTAR}</span> <span style="color: #ff9900;">-l</span><span style="color: #0000ff;">${SUNUCU_VPNKULLANICI}</span> \
         <span style="color: #000000;"><span style="color: #ff9900;">-o Batchmode=yes sudo /usr/sbin/pppd nodetach notty noauth</span>"</span> \
         <span style="color: #000000;">ipparam vpn</span> <span style="color: #0000ff;">${ISTEMCI_VPNIP}</span><span style="color: #000000;">:</span><span style="color: #0000ff;">${SUNUCU_VPNIP}</span>
    <span style="color: #000000;">echo "<span style="color: #ff9900;">VPN BASLATILDI!</span>"</span>
    <span style="color: #ff0000;">;;</span>

  <span style="color: #ff0000;">stop)</span>
    <span style="color: #000000;">pkill -f "</span><span style="color: #ff9900;">pppd +updetach +noauth +passive +pty.+ssh.+pppd.+vpn.+</span>\
<span style="color: #0000ff;">${ISTEMCI_VPNIP}</span><span style="color: #ff9900;">:</span><span style="color: #0000ff;">${SUNUCU_VPNIP}</span><span style="color: #000000;">"</span>
    <span style="color: #000000;">echo "</span><span style="color: #ff9900;">VPN DURDURULDU!</span><span style="color: #000000;">"</span>
    <span style="color: #ff0000;">;;</span>

  <span style="color: #ff0000;">*)</span>
    <span style="color: #000000;">echo</span> <span style="color: #000000;">"</span><span style="color: #ff9900;">Kullanim: sshvpn {start|stop}</span><span style="color: #000000;">"</span>
    <span style="color: #000000;">exit 1</span>
    <span style="color: #ff0000;">;;</span>
<span style="color: #ff0000;">esac</span>

<span style="color: #000000;">exit 0</span>
</span></pre>
<p>===================================</p>
<p>Sıra geldi VPN bağlantımızın test edilmesine.</p>
<pre><strong>root@istemci#</strong> ./sshvpn.sh
Using interface ppp0
Connect: ppp0 &lt;--&gt; /dev/pts/4
Deflate (15) compression enabled
Cannot determine ethernet address for proxy ARP
local  IP address 172.16.1.1
remote IP address 172.16.1.2
VPN BASLATILDI
<strong>root@istemci#</strong> ifconfig ppp
ppp0      Link encap:Point-to-Point Protocol 
          inet addr:172.16.1.1  P-t-P:172.16.1.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:7 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:246 (246.0 B)  TX bytes:240 (240.0 B)

<strong>root@istemci#</strong> ping 172.16.1.1
PING 172.16.1.1 (172.16.1.1) 56(84) bytes of data.
64 bytes from 172.16.1.1: icmp_seq=1 ttl=64 time=0.075 ms
64 bytes from 172.16.1.1: icmp_seq=2 ttl=64 time=0.072 ms

--- 172.16.1.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.072/0.073/0.075/0.008 ms
<strong>root@istemci#</strong> ping 172.16.1.2
PING 172.16.1.2 (172.16.1.2) 56(84) bytes of data.
64 bytes from 172.16.1.2: icmp_seq=1 ttl=64 time=28.9 ms
64 bytes from 172.16.1.2: icmp_seq=2 ttl=64 time=17.8 ms

--- 172.16.1.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 17.888/23.433/28.979/5.547 ms
<strong>root@istemci#</strong></pre>
<p>Görüldüğü üzere istemci Linux&#8217;ten sunucu Linux&#8217;ü kurmuş olduğumuz VPN&#8217;den pingleyebildik. İstemci Linux ve sunucu Linux her birisi kendi ağında ağ geçidi (ing. router) / güvenlik duvarı (ing. firewall) görevi görüyorsa bir taraftaki istemci diğer taraftaki istemciyi ssh vpn tuneli üzerinden geçerek görebilecektir. Aynı şekilde tersi de mümkün olacaktır. Diğer bir deyişle iki ağ geçidi linux arasında kurulan SSH VPN site-to-site VPN&#8217;dir.</p>
<p>İstemci Linux ağ geçidi değilse, sunucu Linux ağ geçidiyse; olsa olsa client-to-site VPN kurmuş oluruz. Yani istemci Linux&#8217;ün üzerinden karşıdaki istemcilere / sistemlere ulaşabiliriz. Ancak bizim ağımızdaki diğer istemcilerin ulaşabilmesi için yönlendirme tablolarına istemci linux&#8217;ümüzün IP adresini karşı ağa gidiş noktası olarak tanımlamalıdırlar.</p>
<p>Ayarlama aşaması biraz zahmetli. Ancak bugüne kadar zahmetsiz bir VPN kurulumu görmedim ben. Tüm VPN teknolojilerinin kurulma aşaması zor ve uğraştırıcı oluyor. Bir kere kurulduktan sonra da rahat bir şekilde kullanılabilir.</p>
<p>İleri Düzey SSH serisi yazılarımı bu son yazı ile burada noktalıyorum ve OpenSSH&#8217;ın diğer özelliklerini keşfetmeyi de sizlere bırakıyorum.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sezaiyilmaz.com/2008/08/06/ssh-ile-vpn-ileri-duzey-ssh/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>UPnP &#8211; miniupnpd</title>
		<link>http://www.sezaiyilmaz.com/2008/08/05/upnp-miniupnpd/</link>
		<comments>http://www.sezaiyilmaz.com/2008/08/05/upnp-miniupnpd/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 15:41:40 +0000</pubDate>
		<dc:creator>Sezai YILMAZ</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sistem Yönetimi]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[amule]]></category>
		<category><![CDATA[behind firewall]]></category>
		<category><![CDATA[BSD]]></category>
		<category><![CDATA[e-mule]]></category>
		<category><![CDATA[emule]]></category>
		<category><![CDATA[firewall arkasından]]></category>
		<category><![CDATA[güvenlik duvarı arkasından]]></category>
		<category><![CDATA[miniupnpd]]></category>
		<category><![CDATA[NAT]]></category>
		<category><![CDATA[openbsd]]></category>
		<category><![CDATA[p2p]]></category>
		<category><![CDATA[peer to peer]]></category>
		<category><![CDATA[torrent]]></category>
		<category><![CDATA[Universal Plug And Play]]></category>
		<category><![CDATA[UPnP]]></category>
		<category><![CDATA[Windows Live Messenger]]></category>
		<category><![CDATA[Windows XP]]></category>

		<guid isPermaLink="false">http://sezaiyilmaz.com/?p=43</guid>
		<description><![CDATA[Linux veya BSD ile güvenlik duvarı (ing. firewall) uygulaması yaparak kurumunuzdaki, evinizdeki bilgisayarları internete paylaşımlı, kontrollü ve güvenli bir şekilde çıkartmaktayız. Ancak günümüzde P2P çalışan veya güvenlik duvarı arkasından port açarak kendilerine bağlanmalarını bekleyen (Windows Live Messenger ses, görüntü, dosya transferi, aktif ftp, elektronik sıpa, torrent, ağ oyunları, &#8230;) o kadar çok uygulama var ki, [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-303" title="UPnP Logo" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/08/upnp_logo-150x150.jpg" alt="" width="96" height="96" />Linux veya BSD ile güvenlik duvarı (ing. firewall) uygulaması yaparak kurumunuzdaki, evinizdeki bilgisayarları internete paylaşımlı, kontrollü ve güvenli bir şekilde çıkartmaktayız. Ancak günümüzde P2P çalışan veya güvenlik duvarı arkasından port açarak kendilerine bağlanmalarını bekleyen (Windows Live Messenger ses, görüntü, dosya transferi, aktif ftp, elektronik sıpa, torrent, ağ oyunları, &#8230;) o kadar çok uygulama var ki, bunlar güvenlik duvarı yöneticileri için tam bir kabus olmuştur. Bazılarını engellemek için çaba gösterirken, bazılarının da sağlıklı çalışması için zamanımızı harcarız.<span id="more-43"></span></p>
<p>Bazı ortamlarda yasakçı zihniyet (sadece izin verilene erişim), bazı ortamlarda da serbestçi zihniyet (sadece gündelik hayatı olumsuz etkileyenleri engelleme) uygulamasına gideriz. Hangisini zihniyeti uygularsak uygulayalım yukarıda adı geçen uygulama türleri ile ilgili sürekli problemler yaşarız.</p>
<p>Bu tür uygulamaların güvenlik duvarı arkasından sağlıklı çalışmasının çözümü <a href="http://www.upnp.org">UPnP</a> (Universal Plug and Play) ile standarda bağlanarak açık ve net bir şekilde tariflenmiş. Ticari olan hemen hemen tüm güvenlik duvarları bu standardı destekliyor. 30-40 dolara satın alacağınız bir DSL router&#8217;da bile bu teknoloji var.</p>
<p>Açık kaynak kod dünyasında herşey var olmasına rağmen, genelde bulmacanın parçalarını birleştirmek sistem yöneticilerine kalıyor. Linux veya BSD türü güvenlik duvarınızın UPnP desteklemesi ve arkasında kalan Windows Live Messenger&#8217;ın, e-mule&#8217;un, oyunların, aktif ftp&#8217;nin, &#8230; sorunsuz çalışması için <a href="http://miniupnp.free.fr/">miniupnpd</a> projesini kullanabilirsiniz.</p>
<p>OpenBSD ile yaptığım denemelerde MSN Live Messenger video konferansı ve e-Mule çalıştı. Bu küçük daemon gayet başarılı bir şekilde çalışmakta. İhtiyacı olanların denemesini şiddetle öneririm.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sezaiyilmaz.com/2008/08/05/upnp-miniupnpd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux&#8217;ten Sistem Donanımı Hakkında Bilgi Toplamak</title>
		<link>http://www.sezaiyilmaz.com/2008/08/03/linuxten-sistem-donanimi-hakkinda-bilgi-toplamak/</link>
		<comments>http://www.sezaiyilmaz.com/2008/08/03/linuxten-sistem-donanimi-hakkinda-bilgi-toplamak/#comments</comments>
		<pubDate>Sun, 03 Aug 2008 17:39:36 +0000</pubDate>
		<dc:creator>Sezai YILMAZ</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sistem Yönetimi]]></category>
		<category><![CDATA[acpi]]></category>
		<category><![CDATA[alsa]]></category>
		<category><![CDATA[ana kart]]></category>
		<category><![CDATA[çekirdek]]></category>
		<category><![CDATA[dmidecode]]></category>
		<category><![CDATA[donanım hakkında bilgi toplamak]]></category>
		<category><![CDATA[ethernet]]></category>
		<category><![CDATA[ethernet mac öğrenme]]></category>
		<category><![CDATA[hdparm]]></category>
		<category><![CDATA[ifconfig]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[lspci]]></category>
		<category><![CDATA[lsusb]]></category>
		<category><![CDATA[mac adres öğrenme]]></category>
		<category><![CDATA[proc cpuinfo]]></category>
		<category><![CDATA[ram upgrade]]></category>
		<category><![CDATA[ram yükseltme]]></category>
		<category><![CDATA[root]]></category>
		<category><![CDATA[sys]]></category>
		<category><![CDATA[webcam]]></category>

		<guid isPermaLink="false">http://www.sezaiyilmaz.com/?p=281</guid>
		<description><![CDATA[Zaman zaman GNU/Linux işletim sistemlerinden mevcut donanım ile ilgili bilgi toplama ihtiyacımız olabilmektedir. Örneğin RAM yükseltmesi (ing. upgrade) yapacağız, ancak sistem alacağımız kapasitedeki RAM modüllerini kullanabilecek mi? Yada yeni bir USB webcam aldık ve otomatik olarak tanınmadı, acaba bu webcam&#8217;i sürebilecek henüz standart Linux çekirdeğine dahil edilmemiş açık kaynak kodlu bir proje var mı? Ses [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-283" title="Designed for Linux" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/08/designedforlinux-150x150.png" alt="" width="72" height="72" />Zaman zaman GNU/Linux işletim sistemlerinden mevcut donanım ile ilgili bilgi toplama ihtiyacımız olabilmektedir. Örneğin RAM yükseltmesi (ing. upgrade) yapacağız, ancak sistem alacağımız kapasitedeki RAM modüllerini kullanabilecek mi? Yada yeni bir USB webcam aldık ve otomatik olarak tanınmadı, acaba bu webcam&#8217;i sürebilecek henüz standart Linux çekirdeğine dahil edilmemiş açık kaynak kodlu bir proje var mı? Ses kartımızın sesinden memnun değiliz, ses kartımızı daha iyi sürebilecek ALSA projesinde yeni bir sürüm yayını var mı?<span id="more-281"></span></p>
<p>Bu tür sorularınıza yanıt alabileceğiniz veya yanıt almak için ihtiyacınız olan donanımsal bilgileri sunan birçok araç Linux içerisinde mevcut. Kısaca ne iş yaptıklarından bahsedelim:</p>
<ul>
<li><strong>dmidecode</strong><br />
<strong>dmidecode</strong> komutu sistem DMI (Desktop Management Interface) tablosunu uçbirime insancıl bir biçimde basmaktadır. Bazıları DMI terimi yerine SMBIOS (System Management BIOS) terimini de kullanmaktadırlar. Bu tablo, sistem açılışı sırasında sistem BIOS&#8217;u tarafından algılanan donanım özelliklerinin tutulduğu tablodur. <strong>dmidecode</strong> aracı herhangi bir test, yoklama (ing. probe) yapmaksızın sadece tablo içeriğini okuyup insanların anlayabileceği bir formatta uçbirime görüntülemektedir. Yani kullanımı güvenlidir ve sistem çalışmasını olumsuz etkilemez. Sunduğu bilgilerden bahsedecek olursak; ana kart üzerindeki RAM yuvası (ing. slot) sayısı, her birisine takılı RAM modülleri ve kapasiteleri, ram yuvalarına takılabilecek azami RAM kapasitesi, ana karta takılı işlemci türü, işlemcinin şu andaki hızı, ana kartın desteklediği azami işlemci saat hızı, BIOS sürümü, ana kart seri numarası, şase seri numarası, donanım bileşenlerinin üretici adları, markaları, modelleri, &#8230;</li>
<li><strong>lspci</strong><br />
<strong>lspci</strong> adı üstünde. PCI veri yolunu listeler. PCI veri yoluna takılı bulunan tüm donanımları listeler. Özellikle 1002:437B formatında görüntülenmekte olan bileşenlerin üretici ve model numaralarını öğrenebiliyor olmak, internette en güncel sürücü yazılımı aramanızı ve bu donanıma özel sorunları ve çözümleri bulmanızı sağlar. &#8220;<strong>lspci -vnn</strong>&#8221; kullanım biçimi en çok işinize yarayacak kullanım biçimidir. Hem marka model isimlerini hem de üretici ve donanım id&#8217;lerini görüntüleyecektir.</li>
<li><strong>lsusb</strong><br />
<strong>lsusb</strong> aynı <strong>lspci</strong> gibi görev yapmaktadır. USB veri yoluna bağlı olan tüm aygıtları, kaç mA akım çektiklerini ayrıntılı bir şekilde dökmektedir. Olduğu gibi sade ve herhangi bir parametresiz kullanımı yeterince iyidir. Daha fazla bilgiye ihtiyacınız olduğunda &#8220;<strong>lsusb -v</strong>&#8221; biçiminde de kullanabilirsiniz.</li>
<li><strong>cat /proc/cpuinfo</strong><br />
Sistemde takılı bulunan merkezi işlem birimleri (ing. central processor unit, CPU) hakkında detaylı bilgi sunmaktadır. Her bir işlemci için ayrı bir döküm sunulmaktadır.</li>
</ul>
<p>Linux&#8217;te sistem donanımı hakkında bilgi alabileceğimiz araç ve yöntemler sadece bununla sınırlı değil. Örneğin <strong>/proc/acpi</strong> klasörü altında yer alan tüm klasör ve dosyaları dolaşmanızı öneririm. Fanların faal olup olmadıkları ve hangi hızda döndüklerine ilişkin bilgiler, bataryaların şarj mı deşarj mı oldukları, hangi kapasite için tasarlandıkları, son olarak azami doluluk oranının ne olduğu, ısı algılayıcıların gösterdikleri sıcaklık değerleri, notebook ekranlarının açık mı kapalı mı olduğuna dair bilgiler, &#8230;</p>
<p>Sabit diskler hakkında ayrıntılı bilgi almak için de <strong>hdparm</strong> aracı kullanılabilir. &#8220;<strong>hdparm -i /dev/sda</strong>&#8221; biçiminde kullanıldığında diskin marka, model, cache miktarı ve bazı çalışma parametreleri öğrenilebilir.</p>
<p>Ethernet kartlarınızın auto-negotiation modunda anahtarlayıcınızla hangi hızda ve modda anlaşmaya vardıklarını merak ettiğinizde ise <strong>mii-tool</strong> aracını kullanabilirsiniz. Tüm ağ arayüzlerinizi ve MAC adreslerini öğrenmek istediğinizde &#8220;<strong>ifconfig -a</strong>&#8221; komutunu verebilirsiniz.</p>
<p>Aklıma gelenler bunlar. Tüm <strong>/proc</strong> ve <strong>/sys</strong> klasörülerinin altını dolaşmanızı öneririm. Tüm bu araç ve yöntemleri root kullanıcısı olarak uygulamakta fayda var. Oldukça ayrıntılı bilgilere ulaşacaksınız. Linux&#8217;ü sevme nedenlerimden birisi de bu. Bildiklerini sizden gizlemiyor.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sezaiyilmaz.com/2008/08/03/linuxten-sistem-donanimi-hakkinda-bilgi-toplamak/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Emektar Bilgisayarın Linux ile Ev Sunucusuna Dönüşümü</title>
		<link>http://www.sezaiyilmaz.com/2008/08/03/emektar-bilgisayarin-linux-ile-ev-sunucusuna-donusumu/</link>
		<comments>http://www.sezaiyilmaz.com/2008/08/03/emektar-bilgisayarin-linux-ile-ev-sunucusuna-donusumu/#comments</comments>
		<pubDate>Sat, 02 Aug 2008 21:29:12 +0000</pubDate>
		<dc:creator>Sezai YILMAZ</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sistem Yönetimi]]></category>
		<category><![CDATA[38400]]></category>
		<category><![CDATA[bios]]></category>
		<category><![CDATA[çekirdek]]></category>
		<category><![CDATA[com1]]></category>
		<category><![CDATA[console]]></category>
		<category><![CDATA[cvs]]></category>
		<category><![CDATA[dhcp]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[getty]]></category>
		<category><![CDATA[grub]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[konsol]]></category>
		<category><![CDATA[linux çekirdeği]]></category>
		<category><![CDATA[linux kernel]]></category>
		<category><![CDATA[null modem kablo]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[sunucu]]></category>
		<category><![CDATA[sunucu yapımı]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[ttyS0]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.sezaiyilmaz.com/?p=235</guid>
		<description><![CDATA[Bugün çok mutluyum. Yıllardır hayalini kurduğum, dünyanın her yerinden evime, evimdeki ağıma, verilerime ulaşmamı sağlayacak, düzenli yedek tutmama yardımcı olacak, CVS, WEB, DNS, DHCP, Veritabanı, dosya sunuculuğu yapacak olan emektar eski masaüstü bilgisayarımı evime sunucu yaptım. İşletim sistemi olarak Ubuntu 8.04.1 Server sürümünü tercih ettim. Sunuculuk görevi olduğu için racon ve tecrübelerim gereği /boot, /, [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-253" title="Powered by GNU/Linux" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/08/powered_by_linux-150x150.png" alt="" width="90" height="90" />Bugün çok mutluyum. Yıllardır hayalini kurduğum, dünyanın her yerinden evime, evimdeki ağıma, verilerime ulaşmamı sağlayacak, düzenli yedek tutmama yardımcı olacak, CVS, WEB, DNS, DHCP, Veritabanı, dosya sunuculuğu yapacak olan emektar eski masaüstü bilgisayarımı evime sunucu yaptım.</p>
<p>İşletim sistemi olarak Ubuntu 8.04.1 Server sürümünü tercih ettim. Sunuculuk görevi olduğu için racon ve tecrübelerim gereği /boot, /, /usr, /home, /var, /tmp ve swap olarak 7 disk bölümü oluşturdum. Kurulum bittikten sonra BIOS&#8217;tan güç seçeneklerinden elektrik kesintisi sonrası son durumunu (ing. last state) korumasını, hatta kapalıysa her gece 04:00&#8242;da açılmasını, hiçbir hata durumunda açılışını durdurumamasını (ing. halt on no errors) belirtip kaydettim.<span id="more-235"></span></p>
<p>Ev şartlarında 7/24 çalışabilmesi için ısı yapabilecek her türlü fuzuli bileşeni çıkardım. Ses kartı, TV kartı, disket sürücüsü, CD-ROM sürücüsü, Ekran kartı da dahil. Sadece anakart, işlemci, ram, disk ve ethernet kartı kaldı. Artık pöfür pöfür serin bir şekilde çalışır. <img src='http://www.sezaiyilmaz.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Ekran kartını çıkartmadan önce sistem konsoluna seri port üzerinden ulaşabilmem için önce /boot/grub/menu.lst dosyasına aşağıdaki satırları ekledim.</p>
<pre>serial --unit=0 --speed=38400
terminal --timeout=10 serial console</pre>
<p>İlk satırla seri portlarımızdan 0. (sıfırıncı, COM1 veya ttyS0) olanını 38400bps hızında yapılandırmasını belirtiyoruz. İkinci satırla da GRUB&#8217;a terminal olarak öncelikle seri portu, ikinci olarak da sistem konsolunu kullanmasını ve 10 saniye süre ile kullanıcının seçim yapmasını beklemesini belirtiyoruz. 10 saniye içinde kullanıcıdan bir tepki gelmezse öncelikli olarak seri portu kullanmasını belirtmiş oluyoruz (serial ifadesi console ifadesinden önce yer alıyor). Ayrıca çekirdek parametreleri arasına da aşağıdakileri ekledim.</p>
<pre>console=tty0 console=ttyS0,38400n8</pre>
<p>GRUB görevi Linux çekirdeğine devrettiğinde çekirdek hem sistem konsoluna hem de seri porta açılış mesajlarını basıyor olacak. GRUB&#8217;da olduğu gibi seri portu ttyS0 ve 38400bps hızında 8 bit non-parity modunda çalışacak biçimde yapılandırmış oluyoruz. /boot/grub/menu.lst dosyası ile işimiz bitti.</p>
<p>Sırada seri portta getty çalıştırma var. Namı diğer login ekranı. Gözüm hemen /etc/inittab&#8217;ı aradı. Ancak yerinde yeller esiyor. Ufak bir Google araştırması ile /etc/event.d klasörüne bakmam gerektiğini öğrendim. Klasörü incelediğimde inittab dosyası ile ayarlanabilen her türlü özelliğin dosyalara parçalanmış olduğunu fark ettim. tty6 isimli dosyadan bir tane ttyS0 bir tane de ttyS1 adında olmak üzere iki kopya çıkarttım. Sırasıyla son satırlarını aşağıdaki gibi yapılandırıp kaydettim:</p>
<pre>exec /sbin/getty 38400 ttyS0</pre>
<pre>exec /sbin/getty 38400 ttyS1</pre>
<p>Yani getty&#8217;a aygıt olarak ttyS0 kullanmasını ve 38400bps&#8217;de kullanmasını belirtmiş oldum. ttyS1 dosyasında da ttyS1 halini belirtmiş oldum. İlk seri porta bir null modem seri kablosu takarak laptop&#8217;ımın seri portuna bağladım ve laptop&#8217;umda minicom çalıştırıp 38400bps 8bit non-parity modunu ayarladım. Tüm bu seri konsol ayarlamalarından sonra ilk yeniden başlatmayı gerçekleştirdim. Herşey mükemmel bir şekilde çalıştı. Sistem tamamen açıldıktan sonra ikinci seri portta da bir terminalin hazırda beklediğini gözlemledim.</p>
<p>Ekran kartını da sökerek son bir deneme daha yaptım. Uzun bir bip ve iki kısa bipten sonra (ekran kartı ya da görüntü aygıtı hazır değil manasına geliyor) GRUB&#8217;ı ilk seri portta gördüm. Çekirdek çok güzel bir şekilde tüm açılış sürecini burada görüntüledi. Son olarak da login ekranı geldi. Başarıyla oturum açtım. Evdeki masaüstü bilgisayarımın yakınlarında yer alan bir dolabın içerisine hava alabilecek şekilde konumlandırdıktan sonra da kullanıma aldım.</p>
<p>Şimdilik sadece DNS, dosya ve SSH sunuculuk hizmetleri verecek şekilde ayarladım. Gerisini de vakit buldukça, ihtiyaç doğdukça ayarlıyor olacağım. Öncelikle bu sıcak havalarda 1 haftalık 7/24 çalışma testinden başarıyla çıkması gerekmekte. Ancak hava şartlarının aşırı sıcak oluşu beni endişelendiriyor.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sezaiyilmaz.com/2008/08/03/emektar-bilgisayarin-linux-ile-ev-sunucusuna-donusumu/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>SSH Uzak Port Yönlendirme &#8211; İleri Düzey SSH</title>
		<link>http://www.sezaiyilmaz.com/2008/08/02/ssh-uzak-port-yonlendirme-ileri-duzey-ssh/</link>
		<comments>http://www.sezaiyilmaz.com/2008/08/02/ssh-uzak-port-yonlendirme-ileri-duzey-ssh/#comments</comments>
		<pubDate>Fri, 01 Aug 2008 21:23:16 +0000</pubDate>
		<dc:creator>Sezai YILMAZ</dc:creator>
				<category><![CDATA[Güvenlik]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[adsl]]></category>
		<category><![CDATA[cifs]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[port forwarding]]></category>
		<category><![CDATA[port yönlendirme]]></category>
		<category><![CDATA[putty]]></category>
		<category><![CDATA[remote port fowarding]]></category>
		<category><![CDATA[samba]]></category>
		<category><![CDATA[smb]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[ssh port forwarding]]></category>
		<category><![CDATA[ssh port yönlendirme]]></category>
		<category><![CDATA[uzak port yönlendirme]]></category>

		<guid isPermaLink="false">http://www.sezaiyilmaz.com/?p=206</guid>
		<description><![CDATA[İleri Düzey SSH yazılarımın 5.cisi olan SSH Uzak Port Yönlendirme (ing. Remote Port Forwarding) ile SSH&#8217;ın etkili bir şekilde kullanmaya devam ediyoruz. Uzak Port Yönlendirme, Yerel Port Yönlendirme&#8217;ye oldukça benzemektedir. Tek fark yerel olanda ssh istemcisi port dinlemekte sshd istediğimiz yere bağlanmaktayken, uzak olanda ssh istemcisi istediğimiz yere bağlanmakta oturum açtığımız yerdeki sshd istediğimiz portu [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-159" title="openssh" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/07/openssh-150x150.png" alt="" width="96" height="96" /><strong>İleri Düzey SSH</strong> yazılarımın 5.cisi olan <strong>SSH Uzak Port Yönlendirme</strong> (ing. Remote Port Forwarding) ile SSH&#8217;ın etkili bir şekilde kullanmaya devam ediyoruz. Uzak Port Yönlendirme, Yerel Port Yönlendirme&#8217;ye oldukça benzemektedir. Tek fark yerel olanda ssh istemcisi port dinlemekte sshd istediğimiz yere bağlanmaktayken, uzak olanda ssh istemcisi istediğimiz yere bağlanmakta oturum açtığımız yerdeki sshd istediğimiz portu dinlemektedir. Kulağa biraz karışık geliyor. Birkaç pratik yapmadan da kafaya kalıcı olarak yerleşmesi mümkün değil. Bu nedenle aynı <strong>SSH Yerel Port Yönlendirme</strong>&#8216;de olduğu gibi senaryolarla tariflemeye çalışacağım.</p>
<p><em><strong>Ağ Kurgusu:</strong></em> Evinizde bir adet Linux sistemi var ve üzerinde çalışmaktasınız. ADSL modeminizin Internet’e bakan yüzünde sadece 22 numaralı SSH portu içteki bu Linux bilgisayarınızın 22 numaralı portuna yönlendirilmiş durumda. Yani herhangi bir yerden evinizdeki Linux’ünüze SSH ile erişilebilmektedir. Diğer yandan iş yerinize doğrudan erişiminiz yok. Bu sırada izinli olduğunuz için evinizdesiniz. İş yerindeki mesai arkadaşınız sizi aradı ve sizin yetkili olduğunuz 192.168.17.13 IP adresli sunucu sisteminde acil bir çalışma yapmanız gerektiğini iletti. Elde avuçta sadece bir bağlantı yöntemi var, o da iş yerinizden evinizdeki OpenSSH sunucusuna 22 numaralı porttan erişim imkanı.<span id="more-206"></span></p>
<p><em><strong>Senaryo:</strong></em> Başında çalışmakta olduğunuz evinizdeki Linux&#8217;ün üstünde, mesai arkadaşınızın SSH oturumu açabileceği bir kullanıcı hesabı tanımlamalısınız. Daha sonra da mesai arkadaşınızdan kendi bilgisayarından aşağıdaki komutla sizin Linux&#8217;ünüze SSH oturumu açmasını istemelisiniz&#8230;</p>
<pre>$ ssh -R 2222:192.168.17.13:22 kullanici@ev.homeip.net
Password:
Evine Hosgeldin Sahip!
evlinux$</pre>
<p>Bu aşamadan itibaren kendi evinizde başında oturmakta olduğunuz Linux sistemi üzerinde 2222 numaralı TCP portu mesai arkadaşınıza hizmet veren sshd tarafından dinlenmeye başlamakta. Artık kendi Linux&#8217;ünüzden aşağıdaki komutla iş yerinizdeki 192.168.17.13 IP adresli sunucu sisteme SSH bağlantısı kurabilir ve üzerinde çalışabilirsiniz, yeter ki mesai arkadaşınız ilgili SSH oturumunu sonlandırmasın.</p>
<pre>evlinux$ ssh -p 2222 root@localhost
Password:
Sirketin 192.168.17.13 Sunucusuna Hosgeldiniz!
sunucu#</pre>
<p>Yukarıdaki örnekte de görüldüğü gibi artık çalışma yapmanız gereken sunucudasınız.</p>
<p>Biraz daha açıklamak gerekirse ssh istemcisinin uzak port yönlendirme seçeneği var (-R). Bu seçeneğin kullanılması zorunlu olan bir parametresi var. Bu parametre de aslında birbirinden “:” ile ayrılmış zorunlu 3 parçalı veya seçimlik olarak 4 parçalı dinlenecek ip ve port, bağlanılacak ip ve port bilgilerinden oluşmaktadır. Aşağıda “[]” arasına alınmış olan parça seçimliktir. Belirtilmezse 127.0.0.1 olduğu farz edilmektedir.</p>
<pre>-R <span style="color: #ff0000;">[uzakdinlemeip:]uzakdinlemeport</span>:<span style="color: #0000ff;">yerelbaglantıip:yerelbağlantıport</span></pre>
<p>Yukarıda kullanım biçimi tarif edilen uzak port yönlendirme seçeneğinde kırmızı ile işaretlenmiş kısım SSH oturumu açılan sshd sunucusunun dinleyeceği IP:PORT bilgisini, mavi ile işaretlenmiş kısım da bağlantıyı kuran SSH istemcisinin bizim için bağlanacağı IP:PORT bilgisini ifade etmektedir. Kırmızı ile işaretli alanda SSH oturumu açılan sshd&#8217;nin çalıştığı bilgisayarda var olan IP adreslerinden birisini ve boşta olan portlardan birisini yazmalıyız. Mavi ile işaretli alanda ise SSH erişimini gerçekleştirdiğmiz SSH istemci sistemin bağlanabileceği bir IP adresi ve portunu yazmalıyız. SSH oturumu açıldığında uzaktaki sshd sunucusu kırmızı işaretli alanda tanımlı IP adresi ve portundan dinlemeye başlayacaktır (”netstat -nltp” ile dinlenen TCP portları ve dinleyen süreçler listelenebilir, kırmızı ile belirtilmiş olan portu sshd sürecinin dinliyor olması beklenir). Bu IP adresi ve portuna bir bağlantı geldiğinde mevcut SSH oturumu bağlantısı üstünden karşı taraftaki SSH istemcisine kadar gidecek ve oradan da mavi ile işaretli alandaki IP adresine ve portuna bağlanacaktır.</p>
<p>“-R” seçeneklerinden istediğiniz kadar kullanmakta özgürsünüz. Yani tek bir SSH bağlantısı ile birden fazla port yönlendirme gerçekleştirebilirsiniz.</p>
<p>SSH bağlantısını kuracak olan kişi Windows kullanıyorsa putty ile benzer şekilde uzak port yönlendirmesi yapabilir. Böylece mesai arkadaşınızın bilgisayarı Windows da olsa SSH uzak port yönlendirme Putty ile aynı şekilde çalışmaktadır.</p>
<p style="text-align: center;"><a href="http://www.sezaiyilmaz.com/wp-content/uploads/2008/08/putty_remote_port_fwd.png"><img class="alignnone size-thumbnail wp-image-217" title="Putty Uzak Port Yönlendirme" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/08/putty_remote_port_fwd-150x150.png" alt="" width="150" height="150" /></a></p>
<p>İleri düzey SSH kullanımı ile ilgili sıradaki yazım <a href="http://www.sezaiyilmaz.com/2008/08/02/ssh-dinamik-port-yonlendirme-ileri-duzey-ssh/"><strong>SSH Dinamik Port Yönlendirme</strong></a>‘de görüşmek üzere.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sezaiyilmaz.com/2008/08/02/ssh-uzak-port-yonlendirme-ileri-duzey-ssh/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

