<?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; Windows</title>
	<atom:link href="http://www.sezaiyilmaz.com/category/windows/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>Active Directory&#8217;de GAL Oluşturmak</title>
		<link>http://www.sezaiyilmaz.com/2009/05/22/active-directoryde-gal-olusturmak/</link>
		<comments>http://www.sezaiyilmaz.com/2009/05/22/active-directoryde-gal-olusturmak/#comments</comments>
		<pubDate>Thu, 21 May 2009 22:26:14 +0000</pubDate>
		<dc:creator>Sezai YILMAZ</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sistem Yönetimi]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[active directory]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[contact]]></category>
		<category><![CDATA[CRM]]></category>
		<category><![CDATA[E71]]></category>
		<category><![CDATA[GAL]]></category>
		<category><![CDATA[global address list]]></category>
		<category><![CDATA[LDAP]]></category>
		<category><![CDATA[ldapadd]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[nokia]]></category>

		<guid isPermaLink="false">http://www.sezaiyilmaz.com/?p=431</guid>
		<description><![CDATA[Nokia E71 ve Mail for Exchange kullanmaya başladığımdan beri en büyük sıkıntım şirketin müşteri bilgileri veritabanını sorgulayamamak olmuştur. Bu sorunu aşmak için MS-Exchange&#8217;in Active Directory&#8217;den ürettiği Global Address List&#8217;i kullanmak gerekiyordu. Ancak herkese bir account açamayacağımıza göre bir çözüm bulmak gerekiyordu. Çözümü Contacts isimli bir organizational unit tanımlayarak içini contactlarla doldurmakta buldum. Şirketin mevcut CRM [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-432" title="exchange2007logo" src="http://www.sezaiyilmaz.com/wp-content/uploads/2009/05/exchange2007logo-150x150.jpg" alt="exchange2007logo" width="90" height="90" />Nokia E71 ve Mail for Exchange kullanmaya başladığımdan beri en büyük sıkıntım şirketin müşteri bilgileri veritabanını sorgulayamamak olmuştur. Bu sorunu aşmak için MS-Exchange&#8217;in Active Directory&#8217;den ürettiği Global Address List&#8217;i kullanmak gerekiyordu. Ancak herkese bir account açamayacağımıza göre bir çözüm bulmak gerekiyordu. Çözümü Contacts isimli bir organizational unit tanımlayarak içini contactlarla doldurmakta buldum.</p>
<p><span id="more-431"></span>Şirketin mevcut CRM veritabanından tüm müşteri bilgilerini CSV formatında export ettim. Daha sonra örnek bir contact oluşturarak linux&#8217;ten ldapsearch ile bu contact&#8217;taki hangi alanın hangi attribute&#8217;a karşılık geldiğini tespit ettim. Aşağıda yazmış olduğum script ile de CSV formatındaki ilgili kolona karşılık her bir veriyi ldif formatına dönüştürdüm.</p>
<pre><span style="color: #808080;">#!/bin/bash

# </span><span style="color: #808080;">iletisim_bilgileri.csv</span> <span style="color: #808080;">dosyasının kolon sırası aşağıdaki gibi olmalı
# first_name,last_name,phone_mobile,phone_work,phone_other,phone_fax,email,company

IFS="
"

for i in `cat iletisim_bilgileri.csv`
do

givenName=`echo $i | cut -d, -f1 | sed "s/^ //g" | sed "s/ $//g"`
sn=`echo $i | cut -d, -f2 | sed "s/^ //g" | sed "s/ $//g"`
pmobile=`echo $i | cut -d, -f3`
pwork=`echo $i | cut -d, -f4`
pfax=`echo $i | cut -d, -f6`
email=`echo $i | cut -d, -f7`
company=`echo $i | cut -d, -f8`
nickname=`echo ${givenName} ${sn} | sed "s/ //g" | sed "y/ğüşıöçĞÜŞİÖÇ/gusiocGUSIOC/" | sed "s/[^a-zA-Z0-9]//g"`
givenName2=`echo ${givenName} | sed "s/ //g" | sed "y/ğüşıöçĞÜŞİÖÇ/gusiocGUSIOC/" | sed "s/[^a-zA-Z0-9]//g"`
sn2=`echo ${sn} | sed "s/ //g" | sed "y/ğüşıöçĞÜŞİÖÇ/gusiocGUSIOC/" | sed "s/[^a-zA-Z0-9]//g"`

echo
echo
echo "dn: CN=$givenName $sn,OU=Contacts,DC=firma,DC=com,DC=tr"
echo "objectClass: top"
echo "objectClass: person"
echo "objectClass: organizationalPerson"
echo "objectClass: contact"
echo "cn: $givenName $sn"
if [ "${sn}x" != "x" ]
then
    echo "sn: $sn"
fi
echo "givenName: $givenName"
echo "distinguishedName: CN=$givenName $sn,OU=Contacts,DC=firma,DC=com,DC=tr"
echo "instanceType: 4"
echo "displayName: $givenName $sn"
echo "proxyAddresses: X400:c=US;a= ;p=Firma;o=Exchange;s=${sn2};g=${givenName2};"
echo "proxyAddresses: SMTP:$email"
echo "targetAddress: SMTP:$email"
echo "mailNickname: $nickname"
echo "mAPIRecipient: FALSE"
echo "name: $givenName $sn"
echo "showInAddressBook: CN=Default Global Address List,CN=All Global Address Lists,CN=Address Lists Container,CN=Firma,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=firma,DC=com,DC=tr"
echo "showInAddressBook: CN=All Contacts,CN=All Address Lists,CN=Address Lists Container,CN=Firma,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=firma,DC=com,DC=tr"
echo "legacyExchangeDN: /o=Firma/ou=First Administrative Group/cn=Recipients/cn=$nickname"
echo "objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=firma,DC=com,DC=tr"
echo "textEncodedORAddress: c=US;a= ;p=Firma;o=Exchange;s=${sn2};g=${givenName2};"
if [ "${company}x" != "x" ]
then
    echo "company: $company"
fi
if [ "${email}x" != "x" ]
then
    echo "mail: $email"
fi
if [ "${pwork}x" != "x" ]
then
    echo "telephoneNumber: $pwork"
fi

if [ "${pmobile}x" != "x" ]
then
    echo "mobile: $pmobile"
fi

echo "msExchALObjectVersion: 23"
echo "msExchPoliciesIncluded: {CBEFB3AB-CFC6-4947-84B8-E2726B473828},{26491CFC-9E50-4857-861B-0CB8DF22B5D7}"
echo
echo

done</span></pre>
<p>Yukarıdaki script&#8217;i aşağıdaki gibi kullanarak ldif&#8217;i üretebiliriz.</p>
<pre><span style="color: #808080;"># ./ldif_uret.sh &gt; contacts.ldif</span></pre>
<p>Daha sonra bu ldif&#8217;i active directory&#8217;ye Linux üzerinden aşağıdaki komutla import edebiliriz.</p>
<pre><span style="color: #808080;"># ldapadd -x -h 192.168.36.24 -D "cn=Administrator,dc=firma,dc=com,dc=tr" -W -f contacts.ldif</span></pre>
<p>Bu yöntemle Contacts OU altında 1500&#8242;ün üzerinde adres defteri bilgisini bir dakikanın altında bir sürede import edebildim. Artık hem Outlook ile hem de Nokia E71 üzerindeki Mail for Exchange ile gelen Comp Directory uygulaması ile telefon ve e-posta bilgilerini sorgulayabilir oldum.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sezaiyilmaz.com/2009/05/22/active-directoryde-gal-olusturmak/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows XP CD&#8217;sine SP3&#8242;ü Bütünleştirmek</title>
		<link>http://www.sezaiyilmaz.com/2008/09/23/windows-xp-cdsine-sp3u-butunlestirmek/</link>
		<comments>http://www.sezaiyilmaz.com/2008/09/23/windows-xp-cdsine-sp3u-butunlestirmek/#comments</comments>
		<pubDate>Tue, 23 Sep 2008 17:41:50 +0000</pubDate>
		<dc:creator>Sezai YILMAZ</dc:creator>
				<category><![CDATA[Güvenlik]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[integrate SP3 into Windows XP media]]></category>
		<category><![CDATA[isobuster]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[nero burning rom]]></category>
		<category><![CDATA[Service Pack 3]]></category>
		<category><![CDATA[SP3]]></category>
		<category><![CDATA[Windows XP]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://www.sezaiyilmaz.com/?p=354</guid>
		<description><![CDATA[Microsoft tarafından en çok kullanılan masaüstü işletim sistemi Windows XP için yıllardır beklenen toplu yama Service Pack 3 (SP3) yayınlandı. Windows XP kurup üstüne SP3 kurmaktansa doğrudan SP3 yaması uygulanmış bir Windows XP kurmak daha az zaman alan ve pratik bir süreç oluşturmaktadır. Bu yazımda Windows XP SP3&#8242;ün mevcut Windows XP CD&#8217;sine nasıl bütünleştirileceğinden bahsedeceğim. [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-373" title="windows-xp-service-pack-3" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/09/windows-xp-service-pack-3-150x150.jpg" alt="" width="90" height="90" />Microsoft tarafından en çok kullanılan masaüstü işletim sistemi Windows XP için yıllardır beklenen toplu yama Service Pack 3 (SP3) yayınlandı. Windows XP kurup üstüne SP3 kurmaktansa doğrudan SP3 yaması uygulanmış bir Windows XP kurmak daha az zaman alan ve pratik bir süreç oluşturmaktadır. Bu yazımda Windows XP SP3&#8242;ün mevcut Windows XP CD&#8217;sine nasıl bütünleştirileceğinden bahsedeceğim.<span id="more-354"></span></p>
<p>Bilgisayarınızda yeterince boş alanı olan bir sürücüde (benim için C: sürücüsü müsait) winxpcd adında bir klasör oluşturun. Windows XP CD&#8217;sinin içeriğini olduğu gibi bu klasörün içine kopyalayın.</p>
<pre>C:\winxpcd</pre>
<p>Microsoft&#8217;un sitesinden Windows XP kurulum CD&#8217;niz için uygun dilde (örneğin İngilizce sürüm için WindowsXP-KB936929-SP3-x86-ENU.exe) SP3 dosyasını indirin. Komut istemini açarak aşağıdaki komutu çalıştırınız.</p>
<pre>C:\&gt;WindowsXP-KB936929-SP3-x86-ENU.exe /integrate:C:\winxpcd</pre>
<p>Windows XP SP3 kurulum programı Windows XP CD klasörüne bütünleştirme sürecini tamamlayana kadar bekleyin.</p>
<p style="text-align: center;"><img class="size-full wp-image-370 aligncenter" title="sp3-integrated" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/09/sp3-integrated.png" alt="" width="297" height="130" /></p>
<p>Bu aşamadan sonra SP3 ile bütünleşik bir Windows XP kurulum klasörünüz olmuş oldu. Sırada bootable SP3 bütünleşik Windows XP CD&#8217;si imalatı var. Bunun için öncelikle mevcut Windows XP bootable CD&#8217;mizdeki 2 KB&#8217;lık boot bloğunu bir dosya olarak almalıyız. IsoBuster programı ile bu işi yapabiliyoruz. Aşağıdaki ekran görüntüsünde de görüldüğü gibi Bootable Disc&#8217;e tıklıyor, sağdan da .img ile biten boot imaj dosyasını sağ tıklayarak Extract diyor ve C:\ klasörüne yazıyoruz.</p>
<p style="text-align: center;"><a href="http://www.sezaiyilmaz.com/wp-content/uploads/2008/09/extract-microsoft-img.png"><img class="alignnone size-medium wp-image-371" title="extract-microsoft-img" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/09/extract-microsoft-img-300x149.png" alt="" width="300" height="149" /></a></p>
<p>Boot imajını aldıktan sonra Nero Burning ROM ile yeni ISO&#8217;muzu oluşturabilir veya doğrudan CD&#8217;ye yazabiliriz. Öncelikle Nero Burning ROM ile yeni Bootable ISO CD-ROM&#8217;u seçerek yeni bir Nero Burning Projesi başlatıyoruz.</p>
<p>Boot ayarlarının bulunduğu <strong>Boot</strong> ekranına geçerek &#8220;Source of boot image data&#8221; alanında &#8220;Image File&#8221; olarak IsoBuster ile önceki XP CD-ROM&#8217;undan çıkartmış olduğumuz boot dosyasını seçiyoruz. &#8220;Advanced&#8221; alanı altındaki &#8220;Enable expert settings&#8221;i seçiyoruz. &#8220;Kind of Emulation&#8221; değeri &#8220;No Emulation&#8221;, &#8220;Load segment of sectors&#8221; değerini <strong>07C0</strong>, &#8220;Number of loaded&#8221; sectors değerini de <strong>4</strong> olarak tanımlıyoruz.</p>
<p style="text-align: center;"><a href="http://www.sezaiyilmaz.com/wp-content/uploads/2008/09/nero-boot.png"><img class="alignnone size-medium wp-image-372" title="nero-boot" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/09/nero-boot-300x230.png" alt="" width="300" height="230" /></a></p>
<p>Diğer ayarı da ön tanımlı değerlerinde bırakarak Nero Bootable ISO CD-ROM projemizi boş bir CD-ROM&#8217;a yazıyoruz. Artık Windows XP + SP3 gömülü bootable CD&#8217;miz hazırdır. Güle güle kullanın. Yazıcı olarak CD/DVD yazıcınız yerine ISO yazıcısı seçilirse çalışmayı ISO olarak kaydedebilir, arzu ettiğiniz zaman CD&#8217;ye yazabilirsiniz.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sezaiyilmaz.com/2008/09/23/windows-xp-cdsine-sp3u-butunlestirmek/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Windows İşletim Sistemi Yedekleme</title>
		<link>http://www.sezaiyilmaz.com/2008/09/06/windows-isletim-sistem-yedekleme/</link>
		<comments>http://www.sezaiyilmaz.com/2008/09/06/windows-isletim-sistem-yedekleme/#comments</comments>
		<pubDate>Sat, 06 Sep 2008 20:21:30 +0000</pubDate>
		<dc:creator>Sezai YILMAZ</dc:creator>
				<category><![CDATA[Güvenlik]]></category>
		<category><![CDATA[Sistem Yönetimi]]></category>
		<category><![CDATA[Teknoloji]]></category>
		<category><![CDATA[Ürün İnceleme]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[active directory yedekleme]]></category>
		<category><![CDATA[Backup Exec System Recovery]]></category>
		<category><![CDATA[disaster]]></category>
		<category><![CDATA[enterprise backup solution]]></category>
		<category><![CDATA[incremental backup]]></category>
		<category><![CDATA[recovery]]></category>
		<category><![CDATA[sistemi farklı donanıma taşıma]]></category>
		<category><![CDATA[virtual machine]]></category>
		<category><![CDATA[virtualpc]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[windows sistem imajı]]></category>
		<category><![CDATA[windows sistem yedekleme]]></category>
		<category><![CDATA[windows yedekleme]]></category>

		<guid isPermaLink="false">http://www.sezaiyilmaz.com/?p=365</guid>
		<description><![CDATA[Günümüz dünyasında her işimizi bilgisayarlarla yapar olduk. Yılların birikimi olan verilerimizin bir gün avuçlarımızın arasından uçup gitmemesi için değişik yedekleme politikaları uygularız. Enterprise ortamda bir bilgi işlem merkezi yöneticisi iseniz, olası felaketlere karşı korumanız gereken verinin önemi daha da artar. Çünkü veri şahsi veriniz değil, kamuya mal olmuş veridir. Halen yedeklemenin öneminin farkında olmayan kurumlarla [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-366" title="Symantec" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/09/symantec-150x150.jpg" alt="" width="90" height="90" />Günümüz dünyasında her işimizi bilgisayarlarla yapar olduk. Yılların birikimi olan verilerimizin bir gün avuçlarımızın arasından uçup gitmemesi için değişik yedekleme politikaları uygularız. Enterprise ortamda bir bilgi işlem merkezi yöneticisi iseniz, olası felaketlere karşı korumanız gereken verinin önemi daha da artar. Çünkü veri şahsi veriniz değil, kamuya mal olmuş veridir. Halen yedeklemenin öneminin farkında olmayan kurumlarla karşılaşıyorum. Bu yazım onlara hitap etmiyor. Bu yazım yedeklemenin önemini farkedip düzenli olarak yedekleyen bilişimcilere hitap ediyor.</p>
<p>Düzenli olarak verilerimizi yedekliyoruz. Ancak bu felaket durumunda bu yedeklerden nasıl ve hangi hızda geri dönebildiğimizi genelde kimse bilmez. Hatta bugüne kadar alınmış olan yedeklerden geri dönülüp dönülemeyeceği bile bilinmez. Günümüzde tüm işler bilgisayar altyapısı ile yürüdüğü için artık toplum olarak bu altyapı ile sağlanan hızlı hizmeti almaya mahkumuz ve bu hizmetin sürekliliğini sağlamak zorundayız. Felaket durumunda verilerimizi bir şekilde yedekten geri dönebiliriz. Ancak bu dönüşün süresi ne kadar? 2 saat, 3 saat, yarım gün, bir gün, 1 hafta??? Hele bir de bu verileri sunan yazılım ve o yazılımın çalışmasını sağlayan işletim sistemini komple kaybettiysek? İşte o zaman işletim sistemini kur, güncel yamaları indir ve uygula, yazılımı kur, yazılımı ayarla, yedek verilerden geri dönmeye çalış derken zaman alır başını gider.<span id="more-365"></span></p>
<p>Tüm bu sorunlara çare getiren bir ürün var. <a href="http://www.symantec.com/business/backup-exec-system-recovery-server-edition" target="_blank">Symantec Backup Exec System Recovery</a>. Symantec BESR sadece Windows ortamında çalışmakta ve .NET 2.0 ile geliştirilmiş bir ürün. Sadece Windows işletim sistemleri için sistem yedekleme çözümü sunmaktadır ve bunu çok mükemmel bir şekilde yapmaktadır. Ürünün özelliklerine kabaca değinirsek:</p>
<ul>
<li>Full ya da Incremental sistem imajı alarak yedekleme.</li>
<li>System Recovery Disk&#8217;i ile CD&#8217;den boot ederek daha önce almış olduğunuz imajı istediğiniz herhangi bir donanımda geri açabilme.</li>
<li>İmajların kriptografik olarak güçlü algoritmalarla şifrelenerek saklanması.</li>
<li>İmajların sıkıştırılarak az yer kaplamasının sağlanması.</li>
<li>Diskin sadece kullanılan alanlarının imajda tutulması, kullanılmayan boş alanların boş yere yedeklenmemesi.</li>
<li>İmajların VMWare veya VirtualPC sanal diskine dönüştürülebilmesi.</li>
<li>İmajların disk olarak windows&#8217;a bağlanıp kullanılabilmesi, içerisinden belirli dosyaların alınabilmesi.</li>
<li>Option adı verilen ve lisansınıza bazı genişletmeler sağlayan özellikleri ile çok daha esnek ve gelişmiş veri kurtama özellikleri sağlaması (Microsoft Exchange Retrieve Option, Microsoft SharePoint Retrieve Option).</li>
</ul>
<p>Symantec BESR&#8217;nin beni en çok etkileyen özellikleri ise imajı alınmış olan bir sistemin bambaşka bir donanıma geri açılarak aynı şekilde çalışıyor olmasıdır. SCSI disk üzerine kurulu bir Active Directory&#8217;nin SATA diskli bambaşka bir anakartlı daha güçlü bir donanıma taşınmasını gözlerimin önünde gerçekleştirdi ve geri dönme süresi sadece yarım saat sürdü. Koskoca Active Directory&#8217;nin çok hızlı ve sorunsuz bir şekilde başka bir donanıma taşınmış olmasından dolayı oldukça etkilendim.</p>
<p>Etkilendiğim diğer bir özelliği de aynı işlemi fiziksel bir makina üzerindeki işletim sistemini sanal makine ortamına taşıması. Çok benzer şekilde VMWare imajı oluştur dedik ve aynı şekilde sistem virtual machine içine girmiş oldu. Özellikle kritik sunucunuzda yeni bir yazılım deneyecekseniz önce sanal ortamda denemek istiyorsanız Symantec BESR iyi bir çözüm sunuyor.</p>
<p>Symantec BESR düzenli, olaylarla tetiklenebilen (yeni bir donanım sürücüsü kurulumu, yeni bir program kurulumu, herhangi bir programın başlatılması gibi olaylarla tetiklenebiliyor) veya kullanıcı tarafından istendiği zaman başlatılabilen yedekleme imkanı sağlamaktadır. Hatta 5 dakika gibi çok kısa aralıklarla incremental backup alabilmektedir.</p>
<p>Tüm bu güzel özelliklerinin yanında güvenlik de ön planda tutulmuş. Alınan yedekler arzu edilirse şifrelenebiliyor. Şifre olmadan yedekler kullanılamıyor.</p>
<p>Windows sunucuları olan işletme ve kurumlar düzenli yedekleme sorunlarına çözüm arıyorlarsa, mevcut sunucu sistemlerini kobay olarak kullanmadan yeni yazılım denemek istiyorlarsa, yedeklerini işletim sistemi ile beraber çok hızlı bir şekilde geri dönebilmek istiyorlarsa Symantec Backup Exec System Recovery&#8217;yi kullanmalarını öneririm. Ürünün trial lisansı mevcuttur ve trial kullanım için sitesinden indirilebilmektedir.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sezaiyilmaz.com/2008/09/06/windows-isletim-sistem-yedekleme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ortak Dosya Kullanımı &#8211; UNISON</title>
		<link>http://www.sezaiyilmaz.com/2008/08/19/ortak-dosya-kullanimi-unison/</link>
		<comments>http://www.sezaiyilmaz.com/2008/08/19/ortak-dosya-kullanimi-unison/#comments</comments>
		<pubDate>Tue, 19 Aug 2008 19:23:40 +0000</pubDate>
		<dc:creator>Sezai YILMAZ</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[bilgisayarlar arası dosya eşitleme]]></category>
		<category><![CDATA[bilgisayarlar arası dosya senkronizasyonu]]></category>
		<category><![CDATA[cygwin]]></category>
		<category><![CDATA[dosya senkronizasyonu]]></category>
		<category><![CDATA[file synchronization]]></category>
		<category><![CDATA[file synchronization between computers]]></category>
		<category><![CDATA[ortak dosya kullanımı]]></category>
		<category><![CDATA[socket]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[unison]]></category>

		<guid isPermaLink="false">http://www.sezaiyilmaz.com/?p=176</guid>
		<description><![CDATA[Birçok dosyadan oluşan projelerde, herkesin kendi bilgisayarından çevrimdışı (ing. offline) çalışarak ortak havuzda güncelleme yapması, yeni dosyalar oluşturması, dosyaları birbirleri ile paylaşmaları hep sorun olmuştur. İlgili dosyayı en son kimin güncellediği, en güncel kopyanın kimde olduğu, acaba benden önce birisi güncel bir halini ortak havuza attı mı gibi soru işaretleri nedeni ile ortak çalışmalarda güçlük [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-357" title="unison" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/08/unison.gif" alt="" width="46" height="54" />Birçok dosyadan oluşan projelerde, herkesin kendi bilgisayarından çevrimdışı (ing. offline) çalışarak ortak havuzda güncelleme yapması, yeni dosyalar oluşturması, dosyaları birbirleri ile paylaşmaları hep sorun olmuştur. İlgili dosyayı en son kimin güncellediği, en güncel kopyanın kimde olduğu, acaba benden önce birisi güncel bir halini ortak havuza attı mı gibi soru işaretleri nedeni ile ortak çalışmalarda güçlük çekilmektedir. Bahsettiğimiz ortak projeler yazılım projeleri değil. Yazılım projelerinde bu sorunları CVS/SVN çözmektedir. Ancak onlara benzer bir mantıkla metin, hesap tablosu, sunu gibi dökümanlarımızı da yönetme ihtiyacımız oluyor. Bu ihtiyaçlarımızı karşılamak üzere <a href="http://www.cis.upenn.edu/~bcpierce/unison/">UNISON</a> projesi geliştirilmiş.<span id="more-176"></span>Unison Unix ve Windows için bir dosya eşitleme (ing. file synchronization) aracıdır. İki veya daha fazla kopya olarak aynı bilgisayarda veya farklı bilgisayarlarda bulunan bir dizi dosya ve klasör hiyerrşisinin, ayrı ayrı değiştirilebilmesine ve zaman zaman bir araya getirilerek en güncel değişikliklerin taraflar arasında paylaşılarak her tarafın en güncel hale sahip olmasını sağlar. Unison Windows ve birçok tür UNIX platformu arasında dosya eşitleme imkanı sağlamaktadır. Düşük hızlı ağ bağlantılarında bile etkili ve hızlı bir şekilde çalışmaya olanak veren özel bir rsync protokolü kullanmaktadır. Ağ transferleri ssh üstünden veya doğrudan socket bağlantısı ile gerçekleştirilmektedir.</p>
<p><strong>Unison Kullanımı</strong></p>
<p>Unison temel olarak kendisine verilen iki klasörü birbirleri ile eşitler. Soldakileri sağa, sağdakiler sola atar, bir tarafta silinme durumu varsa kullanıcı onayı alınarak diğer taraftan da siler, değişiklik durumu varsa değişen taraftan değişmeyen tarafa dosyaları aktarır, iki tarafta birden değişiklik varsa bu çakışma (ing. conflict) durumudur ve kullanıcıya son değiştirilme tarihlerini sunarak hangisini asıl olarak kabul edeceğini sorar. Bu hali ile Unison sadece iki klasörü eşitler gibi görünse de, aslında bir tanesini havuz gibi kullanarak, diğer kullanıcıların hep o havuzla eşitlemesi sağlandığında 3, 4, 5, &#8230; çok sayıda klasör eşit tutulabilir.</p>
<p>Unison ile gelen ayrı bir kullanım kılavuzu yoktur. Unison&#8217;un kendi içinden çıkan kullanım kılavuzları tüm özelliklerini özet bir şekilde sunmaktadır.</p>
<pre><strong>$</strong> <span style="color: #808080;">unison -doc topics</span>
Documentation topics:
          about About Unison
         people People
          lists Mailing Lists and Bug Reporting
         status Development Status
        copying Copying
            ack Acknowledgements
        install Installation
       tutorial Tutorial
         basics Basic Concepts
       failures Invariants
        running Running Unison
            ssh Installing Ssh
           news Changes in Version 2.13.15
Type "unison -doc &lt;topic&gt;" for detailed information about &lt;topic&gt;
or "unison -doc all" for the whole manual
<strong>$</strong></pre>
<p>Yukarıdaki komutla unison içinde yazılı olan tüm kullanım kılavuzlarının konuları listelenmektedir. Okumak istediğiniz kullanım kılavuzu için de &#8220;unison -doc konu&#8221; biçiminde komut vermelisiniz.</p>
<p>Unison&#8217;u kullanmak için ilgili kullanıcı ev dizininde ~/.unison adlı bir klasör oluşturulmalıdır. Bu klasör altında .prf uzantılı unison profile dosyaları oluşturulmalıdır. Ön tanımlı profile dosyası default.prf&#8217;dir. İçeriği aşağıdaki gibidir.</p>
<pre>root = /home/kullanici/evraklar/aprojesi
root = ssh://kullanici@dosyasunucusu/evraklar/aprojesi
auto = true</pre>
<p>Yukarıdaki örnek ssh üstünden iki farklı klasör kökünün eşit tutulması için oluşturulmuş bir örnektir. Yukarıda iki adet root tanımı, bir adet auto tanımı yer almaktadır. root tanımları eşitlenecek olan klasörleri temsil eder. Auto tanımı da true olarak yapılandırılırsa çakışma olmayan durumlarda kullanıcı onayı alınmaksızın eşitlemenin iki taraflı olarak otomatik yapılmasını tercih ettiğimiz manasına gelmektedir. Profile dosyasında kullanılabilecek tüm tanımları ve ne işe yaradıklarını &#8220;unison -doc running&#8221; komutu ile öğrenebiliyoruz. Tüm tanımlar komut satırından kullanılabildiği gibi yukarıdaki gibi profile dosyası aracılığı ile de kullanılabilmektedir. Aşağıdaki örnek yukarıdaki örneğin komut satırından kullanılma biçimidir ve ilave olarak SSH üstü sıkıştırma özelliği etkinleştirilmiş halidir:</p>
<pre><strong>$</strong> <span style="color: #808080;">unison /home/kullanici/evraklar/aprojesi ssh://kullanici@dosyasunucusu/evraklar/aprojesi -auto true -rshargs "-C"</span></pre>
<p>Windows ortamında Unison aynı biçimde kullanılabilmektedir. Bilgisayarlar arası eşitleme ya Unison&#8217;un kendisinin sağlamış olduğu socket bağlantı özelliği ya da rsh / ssh ile yapılabilir. Socket bağlantı özelliği herhangi bir kullanıcı doğrulaması özelliği sağlamadığından dolayı güvenilir değildir. SSH ise hem kullanıcı doğrulaması sağlamaktadır hem de iletişim için şifreli altyapı sağlamaktadır. Windows ortamında ssh veya sshd için Cygwin ile gelen SSH&#8217;ın kullanılması unison tarafından önerilmektedir (ssh kurulumu için &#8220;unison -doc ssh&#8221;). Unison&#8217;un windows sürümünün .unison klasörünün yeri windows kullanıcı profilinin köküdür. Örneğin &#8220;ismet&#8221; isimli kullanıcı için &#8220;C:\Documents and Settings\ismet\.unison&#8221; klasörüdür. Unison için GTK tabanlı görsel arayüz de kullanılabilir.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sezaiyilmaz.com/2008/08/19/ortak-dosya-kullanimi-unison/feed/</wfw:commentRss>
		<slash:comments>0</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>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>SSH Dinamik Port Yönlendirme &#8211; İleri Düzey SSH</title>
		<link>http://www.sezaiyilmaz.com/2008/08/02/ssh-dinamik-port-yonlendirme-ileri-duzey-ssh/</link>
		<comments>http://www.sezaiyilmaz.com/2008/08/02/ssh-dinamik-port-yonlendirme-ileri-duzey-ssh/#comments</comments>
		<pubDate>Sat, 02 Aug 2008 14:32:28 +0000</pubDate>
		<dc:creator>Sezai YILMAZ</dc:creator>
				<category><![CDATA[Güvenlik]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Teknoloji]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[dinamik port yonlendirme]]></category>
		<category><![CDATA[dynamic port forwarding]]></category>
		<category><![CDATA[openssh]]></category>
		<category><![CDATA[port forwarding]]></category>
		<category><![CDATA[port yönlendirme]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[socks]]></category>
		<category><![CDATA[socks proxy]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[ssh port forwarding]]></category>
		<category><![CDATA[ssh port yönlendirme]]></category>

		<guid isPermaLink="false">http://www.sezaiyilmaz.com/?p=236</guid>
		<description><![CDATA[OpenSSH&#8216;ın port yönlendirme becerilerinden bir diğeri olan Dinamik Port Yönlendirme (ing. Dynamic Port Forwarding) aslında bir çeşit socks proxy&#8216;dir. Dinamik port yönlendirme&#8217;yi daha önce olduğu gibi kurgu ve senaryo ile tarif etmeye çalışacağım. Buradaki kurgu ve senaryo aslında Yerel Port Yönlendirme yazısındaki senaryo ile aynı. Yani iş yerimizdeyiz, evimizde bizi SSH 22 TCP portundan dinleyen [...]]]></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" /><a href="http://www.openssh.org/">OpenSSH</a>&#8216;ın port yönlendirme becerilerinden bir diğeri olan Dinamik Port Yönlendirme (ing. Dynamic Port Forwarding) aslında bir çeşit <a href="http://en.wikipedia.org/wiki/SOCKS">socks proxy</a>&#8216;dir. Dinamik port yönlendirme&#8217;yi daha önce olduğu gibi kurgu ve senaryo ile tarif etmeye çalışacağım.</p>
<p>Buradaki kurgu ve senaryo aslında <a href="http://www.sezaiyilmaz.com/2008/08/01/ssh-yerel-port-yonlendirme-ileri-duzey-ssh/">Yerel Port Yönlendirme</a> yazısındaki senaryo ile aynı. Yani iş yerimizdeyiz, evimizde bizi SSH 22 TCP portundan dinleyen bir linux&#8217;ümüz var ve evdeki diğer bilgisayarlardan birisine (192.168.32.17 IP adresli bilgisayara) ulaşmamız gerekiyor.</p>
<pre>$ ssh -D 20000 kullanici@ev.homeip.net
Evine Hosgeldin Sahip!
evlinux$</pre>
<p><span id="more-236"></span>Yukarıdaki gibi bir ssh komutu ile evimizdeki Linux üzerinde açmış olduğumuz oturum açık durduğu sürece, işyerinde başında oturduğumuz bilgisayardaki SSH istemcisi 127.0.0.1 IP adresindeki 20000 numaralı TCP portunu dinler ve Socks Proxy hizmeti verir.</p>
<p>Bu aşamadan sonra herhangi bir programı evmizdeki bilgisayarlara bağlanmak için kullanamıyoruz. Özellikle Socks Proxy ayarı yapılabilen, socks proxy ile konuşabilen programları kullanabiliyoruz. Bunlar arasında Web Gezginleri (firefox, opera, ie, &#8230;), Anlık Mesajlaşma yazılımları (MSN Live Messenger, ICQ, Gtalk, YahooIm, &#8230;), IRC yazılımları, Putty, WinSCP, &#8230; İlgili istemci programı çalıştırdıktan sonra bağlantı ayarları kısmına socks proxy ayarımızı sunucu 127.0.0.1 port 20000 olarak giriyoruz. Daha sonra da bağlanacağımız adres alanına da evimizdeki IP&#8217;leri doğrudan yazabiliriz. Socks Proxy sunucusu görevi yapmakta olan SSH istemcisi kendisine gelen bağlantı istemlerini alıp, mevcut SSH oturumunuz üzerinden şifreli bir şekilde evinizdeki SSHD&#8217;ye kadar götürecek, SSHD de sizin için ilgili IP adresine bağlanacaktır.</p>
<p>Linux&#8217;teki ssh, telnet gibi standart istemcilerin socks proxy ile konuşma yetenekleri bulunmamaktadır. Bir Linux başında iken en kolay Socks Proxy&#8217;li ssh erişimi Putty&#8217;nin linux sürümü ile yapılabilmektedir. İlla ki komut satırından standart OpenSSH istemcisini veya diğer socks proxy konuşma yeteneği olmayan uygulamalara socks proxy&#8217;nizi kullandırmak istiyorsanız <a href="http://tsocks.sf.net">tsocks</a> adındaki paketi önerebilirim. Tsocks&#8217;un proxy ayarı yapıldıktan sonra</p>
<pre>$ tsocks ssh 192.168.32.23</pre>
<pre>$ tsocks wget http://192.168.32.17</pre>
<p>biçiminde kullanılmaktadır. Birçok istemci program ile bu şekilde kullandım, yeterince sağlam ve sağlıklı çalışmaktadır. Çalışma mantığı da ağ uygulamasının sistem ağ işlevlerini çağırması anında araya girerek socks proxy ile konuşup tünellemesi ve cevapları da uygulamaya geri iletmesidir.</p>
<p>Putty aynı OpenSSH istemcisi gibi Dinamik Port Yönlendirme&#8217;yi deteklemektedir. Böylece Windows kullanıcıları da erişebilecekleri bir Linux OpenSSH sunucuları olduğu sürece Windows bilgisayarlarını Putty ile Socks Proxy&#8217;ye çevirebilirler.</p>
<p style="text-align: center;"><img class="alignnone size-thumbnail wp-image-238" title="Putty Dynamic Port Forwarding" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/08/putty_dynamic_port_fwd-150x150.png" alt="" width="150" height="150" /></p>
<p style="text-align: left;">İleri Düzey SSH serisi yazılarımın <a href="http://www.sezaiyilmaz.com/2008/08/06/ssh-ile-vpn-ileri-duzey-ssh/"><strong>SSH ile VPN</strong></a> bölümünde buluşmak üzere.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sezaiyilmaz.com/2008/08/02/ssh-dinamik-port-yonlendirme-ileri-duzey-ssh/feed/</wfw:commentRss>
		<slash:comments>0</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>
		<item>
		<title>SSH Yerel Port Yönlendirme &#8211; İleri Düzey SSH</title>
		<link>http://www.sezaiyilmaz.com/2008/08/01/ssh-yerel-port-yonlendirme-ileri-duzey-ssh/</link>
		<comments>http://www.sezaiyilmaz.com/2008/08/01/ssh-yerel-port-yonlendirme-ileri-duzey-ssh/#comments</comments>
		<pubDate>Fri, 01 Aug 2008 17:17:00 +0000</pubDate>
		<dc:creator>Sezai YILMAZ</dc:creator>
				<category><![CDATA[Güvenlik]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Teknoloji]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[adsl]]></category>
		<category><![CDATA[cifs]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[local port fowarding]]></category>
		<category><![CDATA[openssh]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[port forwarding]]></category>
		<category><![CDATA[port yönlendirme]]></category>
		<category><![CDATA[putty]]></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[yerel port yönlendirme]]></category>

		<guid isPermaLink="false">http://www.sezaiyilmaz.com/?p=193</guid>
		<description><![CDATA[İleri Düzey SSH yazılarımın 4.cüsü olan SSH Yerel Port Yönlendirme (ing. Local Port Forwarding) ile devam ediyoruz. Yerel port yönlendirmesini iyi bir şekilde tarif edebilmek için hemen gerçek hayat senaryosu yazıyorum. Ağ Kurgusu: Evinizde iki adet bilgisayar sistemi var. ADSL modeminizin Internet&#8217;e bakan yüzünde sadece 22 numaralı SSH portu içteki Linux bilgisayarınızın 22 numaralı portuna [...]]]></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 4.cüsü olan <strong>SSH Yerel Port Yönlendirme</strong> (ing. Local Port Forwarding) ile devam ediyoruz. Yerel port yönlendirmesini iyi bir şekilde tarif edebilmek için hemen gerçek hayat senaryosu yazıyorum.</p>
<p><em><strong>Ağ Kurgusu:</strong></em> Evinizde iki adet bilgisayar sistemi var. ADSL modeminizin Internet&#8217;e bakan yüzünde sadece 22 numaralı SSH portu içteki Linux bilgisayarınızın 22 numaralı portuna yönlendirilmiş durumda. Yani herhangi bir yerden evinizdeki Linux&#8217;ünüze SSH ile erişebiliyorsunuz. Sadece bu SSH bağlantısı sayesinde eviniz ağındaki diğer tüm kaynaklara, bilgisayarlara SSH Yerel Port Yönlendirme ile erişim sağlanabilmektedir. Hatta diğer bağlantılar SSH&#8217;ın sağlamış olduğu şifreli bağlantı üzerinden tünellenerek iletileceği için daha güvenli erişim imkanınız olmuş olacak.<span id="more-193"></span></p>
<p><em><strong>Senaryo 1:</strong></em> Evinizde 192.168.32.18 IP adresli bir Windows var. Evinizdeki Linux&#8217;e SSH ile erişerek 192.168.32.18 IP adresli windows&#8217;a rdesktop erişimi yapmak istiyorsunuz. Önce bir uçbirimden (ing. terminal) yerel port yönlendirmesi ayarlı SSH bağlantısı gerçekleştirilir.</p>
<pre>$ ssh -L 3389:192.168.32.18:3389 kullanici@ev.homeip.net
Evine Hosgeldin Sahip!
evlinux$</pre>
<p>Bu aşamadan itibaren başında oturmakta olduğunuz bilgisayarın 127.0.0.1:3389 numaralı portu ssh istemcisi tarafından dinlenmeye başlamakta. Mevcut bağlantıyı kesmeden, başında oturmakta olduğunuz bilgisayarın bir başka uçbiriminden aşağıdaki komutu verdiğinizde</p>
<pre>$ rdesktop 127.0.0.1:3389</pre>
<p>Karşınızda evinizdeki 192.168.32.18 IP adresli Windows&#8217;un rdesktop ekranı belirecek. Güvenle kullanabilirsiniz.</p>
<p>Biraz daha açıklamak gerekirse ssh istemcisinin yerel port yönlendirme seçeneği var (-L). Bu seçeneğin kullanılması zorunlu olan bir parametresi var. Bu parametre de aslında birbirinden &#8220;:&#8221; 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 &#8220;[]&#8221; arasına alınmış olan parça seçimliktir. Belirtilmezse 127.0.0.1 olduğu farz edilmektedir.</p>
<pre>-L <span style="color: #ff0000;">[yereldinlemeip:]yereldinlemeport</span>:<span style="color: #0000ff;">uzakbaglantıip:uzakbağlantıport</span></pre>
<p>Yukarıda kullanım biçimi tarif edilen yerel port yönlendirme seçeneğinde kırmızı ile işaretlenmiş kısım ssh istemcisinin dinleyeceği IP:PORT bilgisini, mavi ile işaretlenmiş kısım da bağlantı kurulan SSH sunucusunun bizim için bağlanacağı IP:PORT bilgisini ifade etmektedir. Kırmızı ile işaretli alanda ssh istemcisini çalıştırdığımız bilgisayarda var olan IP adreslerinden birisini ve boşta olan portlardan birisini yazmalıyız. Mavi ile işaretli alanda ise SSH ile erişeceğimiz sunucunun bağlanabileceği bir IP adresi ve portunu yazmalıyız. SSH oturumu açıldığında ssh istemcisi kırmızı işaretli alanda tanımlı IP adresi ve portundan dinlemeye başlayacaktır (&#8220;netstat -nltp&#8221; ile dinlenen TCP portları ve dinleyen süreçler listelenebilir, kırmızı ile belirtilmiş olan portu ssh 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 sunucusuna kadar gidecek ve oradan da mavi ile işaretli alandaki IP adresine ve portuna bağlanacaktır.</p>
<p>&#8220;-L&#8221; 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. Örnek için Senaryo 2&#8242;yi takip ediniz.</p>
<p><em><strong>Senaryo 2:</strong></em> Aynı windows bilgisayarınıza rdesktop ile erişirken, diğer yandan smbmount ile evdeki paylaşımı, başında oturduğunuz bilgisayarın dosya sistemine bağlamak istiyorsunuz. Ancak başında oturduğunuz bilgisayarın 139 numaralı portu samba çalıştığı için meşgul&#8230;</p>
<pre>$ ssh -L 0.0.0.0:3389:192.168.32.18:3389 -L 10139:192.168.32.18:139 kullanici@ev.homeip.net</pre>
<p>Yukarıdaki örnekte iki adet &#8220;-L&#8221; seçeneği aynı anda kullanılmış. İlki rdesktop yerel port yönlendirmesi iken, ikincisi de SMB port yönlendirmesi. Ancak başında oturduğumuz bilgisayarın 139 numaralı portu dolu olduğu için maalesef standart dışı başka bir port olarak 10139&#8242;dan dinlemesi gerektiğini belirtmiş oluyoruz. İlk &#8220;-L&#8221; seçeneğinin parametresi 4 parçalı bir örnek olup, ilk parçanın 0.0.0.0 IP adresi olduğuna dikkat ediniz. Yani başında oturduğumuz bilgisayarın tüm IP adreslerinden 3389 numaralı port ssh istemcisi tarafından dinleniyor olacak. Yani bulunduğumuz ortamdaki diğer bilgisayarlar, başında bulunduğumuz bilgisayara rdesktop bağlantısı kurarlarsa kendilerini evimizdeki 192.168.32.18 IP adresli windows bilgisayarımıza erişmiş bulacaklar. Tam bir matrix. <img src='http://www.sezaiyilmaz.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Gelelim diğer bir uçbirimden evimizdeki 192.168.32.18 IP adresli Windows&#8217;un paylaşımının başında bulunduğumuz bilgisayarın dosya sistemine bağlanmasına. Bir başka uçbirimden root kullanıcısı olarak:</p>
<pre># mount -t cifs -o ip=127.0.0.1,port=10139,user=Administrator //evdekiwindows/c$ /mnt
Password:
#</pre>
<p>Yukarıdaki gibi bir mount komutu girdiğimizde 127.0.0.1&#8242;in 10139 portuna bağlanmasını, kullanıcı olarak kendisini Administrator olarak tanıtmasını ve //evdekiwindows/c$ ön tanımlı paylaşımını /mnt altına bağlaması emrini vermiş oluyoruz.</p>
<p>SSH&#8217;ın port yönlendirme özelliklerinden bol bol yararlandım ve çok sağlam çalışan bir yapı. Bu yöntemle MegaByte&#8217;lar aktardım. SSH&#8217;ın sıkıştırma seçeneği de kullanılarak giden gelen trafiğin daha az miktarda olması ve aktarım performansının yüksek olması da sağlanabilmektedir.</p>
<p style="text-align: center;"><a href="http://www.sezaiyilmaz.com/wp-content/uploads/2008/08/putty_local_fwd.png"><img class="alignnone size-thumbnail wp-image-197" title="Putty Yerel Port Yönlendirme" src="http://www.sezaiyilmaz.com/wp-content/uploads/2008/08/putty_local_fwd-150x150.png" alt="" width="150" height="150" /></a></p>
<p>Aynı yerel port yönlendirme özelliği Putty&#8217;de de bulunmaktadır. Putty ile bağlantı kurmadan önce SSH Seçeneklerinden aynı ayarlar yapılabilmektedir. Böylece başında bulunduğunuz bilgisayar Windows da olsa SSH yerel port yönlendirme Putty ile aynı şekilde çalışmaktadır.</p>
<p>İleri Düzey SSH serisi yazılarımdan <a href="http://www.sezaiyilmaz.com/2008/08/02/ssh-uzak-port-yonlendirme-ileri-duzey-ssh/"><strong>SSH Uzak Port Yönlendirme</strong></a>&#8216;de görüşmek üzere.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sezaiyilmaz.com/2008/08/01/ssh-yerel-port-yonlendirme-ileri-duzey-ssh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

