25 Temmuz 2011 Pazartesi

OpenBSD 5.0 BETA Duyuruldu

OpenBSD 4.9, 1 Mayıs 2011 tarihinde duyuruldu. Duyurunun yapılmasının üzerinden yaklaşık olarak 2 ay geçti ve OpenBSD 5.0 gelecek sürümü olan OpenBSD -CURRENT 19 Temmuz 2011 tarihi itibari ile BETA olarak etiketlendi. OpenBSD geliştirme sürecini bilenler için 5.0 ciddi bir anlam ifade etmiyor. Dolayısıyla da “5.0” bir önemi yok, ancak bir OpenBSD yeni tanıyanlar veya bilmeyenler için 5.0 farklı algılanabilir. OpenBSD geliştirme süreci planlı olarak işler ve her altı ayda bir yeni sürüm duyurulur. Yeni sürüm ile eski sürüm arasındaki sürüm numarası farkı her zaman için 0.1'dir. Dolayısıyla da iki sürüm arasında çok ciddi bir fark olmayacağını düşünebilirsiniz.

Durum düşünülenin aksine oldukça farklıdır. OpenBSD 4.9 ile BETA sürümleri arasında yapılan tüm çalışmalara OpenBSD sitesinden erişebilirsiniz. Geçtiğimiz günlerde duyurulan OpenBSD 5.0 BETA sürümünde bir çok yenilik bulunuyor. Bu yeniliklere bakıldığında OpenBSD 5.0 ve sonrası için OpenBSD önemli değişimler geçireceğini söyleyebiliriz. Gelecek sürümden sistemde yer alacak olan yeniliklerden bazıları:


AMD 64 -BIGMEM: AMD64 gerçek 64 bit mimarisidir. OpenBSD ile 64 bit mimarisinin sunuduğu olanakları 5.0 ile kullanmaya başlıyoruz. Bunlar arasında BIGMEM'de var. BIGMEM, CURRENT dalının BETA olarak etiketlenmesinden önce sisteme aktarılmıştı. Çabaları için Ariane van der Steldt (ariane@) teşekkürler.


Disk UID: DUID desteği yeni kurulumlar ile kullanılmaya başlanıyor. Kurulum uygulması bunun için değiştirilmiş. Eski kurulumu güncelliyorsanız var olan ayarlarınız korunacağı için DUID destekli bir fstab göremeyeceksiniz. Yeni kurulu yapıyorsanız ve fstab içerisinde DUID kullanmayı seçerseniz bunu görebiliyorsunuz. DUID desteği sadece fstab içerisinde değil aynı zamanda tüm depolama ilişkili araçlar ve uygulamalar için geliyor. Bunlar içerisinde mount ilk sırada yer alıyor. Dolayısıyla da sistem disk elemek ve çıkarmak vb işlemler ile yaşanan sıkıntılar geride kalacak.


Available disks are: wd0
Which one is the root disk? (or 'done') [wd0]
Use DUIDs rather than device names in fstab? [yes]
Use (W)hole disk, or (E)edit the MBR? W
Setting OpenBSD MBR partition to whole wd0...done.The auto-allocated layout for wd0 is:
#                size            offset  fstype  [fsize bsize  cpg]
  a:           745.3M                64  4.2BSD  2048   16384    1 # /
  b:           745.3M           1526368    swap
  c:         20480.0M                 0  unused
  d:          1184.4M           3052704  4.2BSD  2048   16384    1 # /tmp
  e:          1809.7M           5478400  4.2BSD  2048   16384    1 # /var
  f:          1565.3M           9184672  4.2BSD  2048   16384    1 # /usr
  g:           911.0M          12390336  4.2BSD  2048   16384    1 # /usr/X11R6
  h:          3378.5M          14256384  4.2BSD  2048   16384    1 # /usr/local
  i:          1290.1M          21175616  4.2BSD  2048   16384    1 # /usr/src
  j:          1832.2M          23817728  4.2BSD  2048   16384    1 # /usr/obj
  k:          7011.4M          27570080  4.2BSD  2048   16384    1 # /home
Use (A)uto layout, [E]dit auto layaout, or create (C)ustom layout? [a]


ftp-proxy(8), tftp-proxy(8) artık divert(4) soketlerini kullanıyor. Böylelikle performans konusunda önemli bir iyileşme gerçekleşiyor. Yazılan PF kurallarını buna göre düzenlemek gerekecek.


/etc/security kaldırılmış ve yerini security(8) almış. Bu yeni program eskisine göre daha yetenekli. Andrew Fresh ve Ingo Schwartze teşekkürler.


Paket yönetimi araçları yeni sürümde gözden geçirilmiş ve yeni özellikler ile zenginleştirilmiş. İlk göze çarptığı uygulama pkg_delete(8) olmuş


Bunların yanında OpenBSD ile hazır olarak gelen tüm firmware dosyaları sistemden çıkarılmış durumda. Bu gelişmenin ardında donanım üreticilerinin OpenBSD ile hazır gelen firmware dosyalarının yeniden dağıtılması/redistribuion izin vermemeleri yatıyor. Kurulum sırasında firmware kurulumu için size sorulan soruya "yes-evet" olarak yanıtlayıp sistemi yeniden başlattığınızda firmware dosyaları http://firmware.openbsd.org/firmware/ adresinden indirilip kurulacaktır.


Select sets by entering a set name,a file name pattern or 'all'. DE-select
sets by prepending a '-' to the set name, file name pattern or 'all'. Selected
sets are labelled '[X]'.
    [X] bsd          [X] etc50.tgz     [X] xbase50.tgz    [X]xserv50.tgz
    [X] bsd.rd       [X] comp50.tgz    [X] xetc50.tgz
    [ ] bsd.mp       [X] man50.tgz     [X] xshared50.tgz
    [X] base50.tgz   [X] games50.tgz   [X] xfont50.tgz
Set name(s)? (or 'abot' or 'done') [done]
bsd           100% |*************************************|  8778 KB 00:03
bsd.rd        100% |*************************************|  7136 KB 00:02
base50.tgz    100% |*************************************| 58287 KB 00:48
etc50.tgz     100% |*************************************|   510 KB 00:00
comp50.tgz    100% |*************************************| 64188 KB 00:52
man50.tgz     100% |*************************************|  9493 KB 00:05
game50.tgz    100% |*************************************|  2648 KB 00:01
xbase50.tgz   100% |*************************************| 12397 KB 00:08
xetc50.tgz    100% |*************************************| 73045    00:00
xshare50.tgz  100% |*************************************|  3352 KB 00:03
xfont50.tgz   100% |*************************************| 38486 KB 00:27
xserv50.tgz   100% |*************************************| 21134 KB 00:18
Location of the sets? (cd disk ftp http or 'done') [done]
Generating initial host.random file...done.
Making all device nodes...done.
Install non-free firmwares on first boot? [no] yes



ALTQ ve PF: Önceki sürümlerde yaşanılan IPv6 ile yaşanılan sorunların bazıları PF ve sistemdeki ağ servisleri ile ilgili bileşenlerinden kaynaklanıyordu. IPv6 protokolü halen yaygın olmamakla birlikte zaman içerisinde IPv4 yerini alacak. Dolayısıyla da OpenBSD 5.0 ve sonrası için IPv6 desteği alanında önemli gelişmeler bekleyebiliriz. İlk örnekleri ise OpenBSD 5.0 ile gelen PF'de görebiliriz.


ALTQ, the ALTernate Queueing subsystem, PF kaynak koduna OpenBSD 3.3'te eklenmişti. 3.3'ten bu güne dek de pf.conf içerisinde tanımlanana kurallar ile trafik yönlendirme/biçimlendirme işlemlerinde yaygın olarak kullanılıyordu.


ALTQ'nun PF'e eklenmesi e-posta arşivlerinden de izleyebileceğiniz üzere kolay bir süreç olmamıştı. PF geliştiricileri ALTQ, PF eklemiş ama bunu PF genel yapısına birleştirmekte bazı sıkıntılar ile karşılaşmışlardır. Ara çözüm olarak PF içerisinde ALTQ ayrı bir yapı olarak ele alınmış ve kPF kuralları içerisinde de ALTQ kuralları ayrıca yazılarak kullanıla gelmişti.


Bunun yanında ALTQ ilk olarak ortaya atıldığı USENIX konferansından bu zaman geçen zaman içerisinde orijinal kod çeşitli sistemlere olduğu gibi aktarılmadığı gibi bazı özellikleri de uygulanamamıştı. Bunun nedenleri arasında ALTQ kullandığı toplam bant genişliği parametresinin 32 bitlik olması nedeni ile 4GB daha büyük bant genişliklerini kontrol edemeyeceği eleştirisi idi. Bazı geliştiriciler bu değişkeni değiştirip hazırladıkları yamalar ile soruna çözüm sunmaya çalışmışlardı. Örneğin FreeBSD geliştiricilerinden Ermal Luci'nin yaması gibi.


ALTQ'nun 32 bitlik değişkenler kullanması yapısal olarak eskiliğini göstermektedir. OpenBSD 5.0-BETA ile ALTQ kodunun yerini alabilecek veya ileride yerine kullanılabilecek yapısal oalrak PF içerisine eklenebilecek bir kod üzerinde de çalışmalar sürdürülüyor. OpenBSD 5.0-BETA sürümü ile ileride yayınlanacak diğer BETA sürümlerinde de ALTQ yerine PF kullanılmakta olduğunu görebiliriz. Bu düzenleme PF içerisinde prio kullanılması ile gerçekleştirilebiliyor. Böylelikle bir kurala öncelik atanarak söz konusu paketlerin öncelikli olarak iletilmesini sağlayabiliyoruz. Öncelik olarak atanabilecek olan değer en düşük 0 ve en yüksek 7 olmak üzere, 0 ile7 arasında olabiliyor. PF kuralları içerisinde aşağıdaki örnekteki gibi kullanılabiliyor:


pass in proto tcp to prio 6



Yukarıdaki örnekte SSH trafiğinin öncelikli olarak iletilmesini sağlıyor. Bunun yanında PF yeni özellikleri içerisinde paketler için ayrı kuruklar tanımlamayarak paketlere öncelik atamaya da gerek kalmıyor. Böylelikle de PF kuralları da basitleşiyor. Örneğin yukarıdaki kuralı ACK vb gecikmeye tahammülü olmayan paketler için ayrıca bir kural veya kuyruk yazmak durumunda kalınmıyor.


pass in proto tcp to prio (5, 6)



Bunun yanında PF bu gelişmelere paralel olarak ALTQ ilerleyen zamanda yerini HFSC ve CBQ kuyruklarına yerini bırakması da planlanıyor. Böylelikle PF ağ trafiğinin yönetilmesi için gereken kuralların yazılması basitleşirken, ALTQ gibi eski bir koda bağımlı olmaktana da kurutulmuş olunacak. Değişiklikler içerisinde ayrıca pf.conf içerisinde bir ağ arayüzünun kullanabileceği bantgenişliği tanımlaması pf.conf içerisinden çıkıp ifconfig ile ayarlanabilir hale gelecek. Bunu OpenBSD 5.0 ile göremeyeceğimiz kesin ancak ilerleyen zaman içerisinde OpenBSD 5.0 sonrasındaki, sürümlerde kullanmaya başlayabileceğiz.



OpenBSD 5.0 BETA denemek için OpenBSD yansılarından yararlanabilirsiniz. Türkiye yansısında (http, ftp) OpenBSD BETA Snapshot dizini güncel tutuluyor. Donanımınıza uygun olan ISO dosyalarını indirip kullanabilirsiniz.