
Bu yazı *BSD tipi sistemler için gerekli ağyapılandırmalarını anlatmaktadır. Bir *BSD sistemin TCP/IP kullanan herhangi bir ağ ortamında ihtiyaç duyabileceği temel ağ ayarları ve bu ayarların anlamları temel UNIX/Linux sistem yönetim bilgisine sahip herkes tarafından anlaşılabilir ve uygulanabilir şekilde açıklanmıştır.
Yazı içerisindeki açıklamalar ve örnekler *BSD dünyasının en yaygın(?) iki versiyonu olan FreeBSD ve OpenBSD için düşünülmüştür ve konular, örnekler her iki işletim sistemi için ayrı ayrı verilmiştir.
FreeBSD ağAyarları
Sistem tarafından tanınmış ağ arabirimlerini bulmanın en kolay yolu sistemin açılışesnasında verdiği bilgilerdir. Bu bilgiler
#dmesg |grep Ethernet
komutu ile ya da
#cat /var/log/dmesg.boot | grep Ethernet
Komutlarından biri ile öğrenilebilir.
FreeBSD sisteminde işletim sistemi tarafından tanınmış ağ arabirimlerine ait bilgiler ifconfig komutu ile görüntülenir. *BSD sistemlerde ağ arabirimlerini isimlendirme ağ kartının markasına göre olmaktadır. Mesela Realtek markalı bir kart rl şeklinde isimlendirilmektedir. Aynı karttan birden fazla olması durumunda isimlendirme rl0, rl1 , rl2 şeklinde olur.
Ağ arabirimi yapılandırmak
ifconfig komutu kullanılır.
ifconfig fxp0
Ayarları Görüntülemek
ifconfig komutu herhangi bir parametre verilmeksizin kullanılırsa sistemdeki tüm ağarabirimlerine ait bilgileri ekrana döker.
# ifconfig
fxp0: flags=8843 mtu1500
options=b
inet 192.168.0.80 netmask 0xffffff00 broadcast 192.168.0.255
inet6 fe80::202:55ff:feaa:a64a%fxp0 prefixlen 64 scopeid0x1
ether 00:02:55:aa:a6:4a
media: Ethernet autoselect (100baseTX )
status: active
fxp1: flags=8802 mtu 1500
options=8
ether 00:03:47:b2:53:25
media: Ethernet autoselect (none)
status: no carrier
plip0: flags=108810 mtu 1500
lo0: flags=8049 mtu 16384
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
Ayarları saklamak
ifconfig komutu ile yapılan ayarlamalar kalıcı değildir ve sistemin bir sonraki açılışında geçersiz olacaktır. Ğstenilen ayarların kalıcı olması /etc/rc.conf dosyasına aşağıdaki gibi uygun formatta yazılarak sağlanabilir.
ifconfig_rl00="inet 10.11.12.13 netmask 255.255.255.0"
ifconfig_fxp0="inet 10.0.0.1 netmask 255.255.255.0 media10baseT/UTP"
/etc/rc.conf dosyasında yapılan değişikliklerin aktif olabilmesi
#sh /etc/netstart
komutu çalıştırılmalıdır.
NOT: Ağ arabirim yönetimi için FreeBSD’nin sunduğu text tabanlı yönetim programı da kullanılabilir.
#sysinstall>Configure>Networking>Interfaces>Arabirim_adı>
Ağ arabirimine takma IP ekleme(IP Aliasing)
/etc/rc.conf dosyasına eklenecek bir satır ile arabirime Ip alias tanımlaması yapılır, her bir Ip adresi için gerekli satır uygun şekilde eklenir.
ifconfig_fxp0_alias0="inet a.b.c.d netmask xxx.xxx.xxx.xxx"
ifconfig_fxp0_alias1="inet e.f.g.h netmask xxx.xxx.xxx.xxx"
NOT:alias0, alias1 ayni subnet ise netmaskler 255.255.255.255 olmak zorundadır.
Komut satırından alias tanımlaması;
#ifconfig rl0 inet alias 100.100.100.100
#ifconfig rl0 inet alias 100.100.100.101 netmask 255.255.255.255
#ifconfig rl0 inet alias 100.100.100.102 netmask 255.255.255.255
Eklenen aliası kaldırmak için,
#ifconfig rl0 -alias 100.100.100.101
komutu kullanılabilir.
Yönlendirme tanımı ekleme
Yeni bir yönlendirme tanımı eklemek için route komutukullanılır. Route komutunun en basit kullanımı
#route add –net X.X.X.Y/24 host
şeklindedir.
Yönlendirme tablosu Görüntüleme
$ netstat -rn -f inet
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 192.168.0.1 UGS 0 519216 fxp0
127.0.0.1 127.0.0.1 UH 0 134666 lo0
192.168.0 link#1 UC 0 0 fxp0
192.168.0.1 00:0a:41:82:26:e1 UHLW 1 0 fxp0 960
OpenBSD Ağ ayarları
OpenBSD kurulu bir sistemdeki ağ arabirimleri
#cat /var/run/dmesg.boot | grep address
komutu ile öğrenilebilir. Bu komutun çıktısı aşağıdaki gibi olacaktır.
rl0 at pci0 dev 16 function 0 "Realtek 8139" rev 0x10: irq 10address 00:e0:4c:39:4c:a7
rl1 at pci0 dev 20 function 0 "Realtek 8139" rev 0x10: irq 11address 00:50:bf:4e:dd:1b
Ağ arabiriminin özellikleri
ifconfig –a komutu ile görüntülenebilir.
$ ifconfig -a
lo0: flags=8049 mtu 33224
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x6
inet 127.0.0.1 netmask 0xff000000
rl1: flags=8843 mtu 1500
address: 00:50:bf:4e:dd:1a
media: Ethernet autoselect (100baseTX full-duplex)
status: active
inet6 fe80::250:bfff:fe4e:dd1a%rl1 prefixlen 64 scopeid0x2
inet 172.16.10.1 netmask 0xffffff00 broadcast
172.16.10.255
pflog0: flags=141 mtu 33224
pfsync0: flags=0<> mtu 2020 enc0: flags=0<> mtu 1536
Enc0 = Enkapsilasyon(şifreleme vs) arabirimi
Pflog0 paket filtreleme arabirimi
NOT: OpenBSD 3.6 ve öncesinde ağ arabirimlerine ait çıktılar ifconfig –a komutu ile alınabilmekteydi. OpenBSD3.7 ile sadece ifconfig komutu ile alınabilir hale getirildi.
Ağ arabirimine Ip adresi atama
OpenBSD’de de ip adresi atama işlemleri ifconfig komutu ile olur. ifconfig komutunun kullanımı diğer unix’ler ile benzerdir.
#ifconfig le0 192.168.0.99 up netmask 255.255.255.0
le0 – ayarlama yapılan ağ arabirimi adı
192.168.0.99 – arabirime atanacak Ip adresi
up – arabirimin durumunu belirtir, down=pasif hal
status :active/passive Ethernet kartının iletişimdurumunu belirtir.
netmask 255.255.255.0 – Arabirime ağ maskesi atamak.
ifconfig komutu ile yapılan değişiklikler sistemin ayakta olduğu müddetçe geçerlidir sistemin yeniden başlaması sonrasında bu ayarlar kaybolacaktır. Bu ayarları kalıcı hale getirmek için OpenBSD’de diğer unix’ler gibi ayarları bir dosyada tutar.
OpenBSD’de bir ağarabirimine ait kalıcılık sağlayan yapılandırma dosyası /etc/hostname.ARABIRIM.ADI şeklidedir. Mesela fxp0 arabirimine ait kayıtlar etc/hostname.fxp0 dosyasında tutulur. Bu dosyanın formatı aşağıdaki gibidir.
Adres_Sınıfı IP Adresi Ağ Maskesi Broadcast [Diğer seçenekler]
Örnek;
$ cat /etc/hostname.fxp0
inet 10.0.0.38 255.255.255.0 NONE
$cat /etc/hostname.rl0
inet 10.0.0.38 255.255.255.0 NONE media 100baseTX mediaopt
full-duplex
Detaylı bilgi man hostname.if(5) komutu ile edinilebilir.
Arabirime ek IP tanımlama(IP Aliasing)
# ifconfig dc0 inet alias 192.168.0.3 netmask 255.255.255.255
Örnekten de görülebileceği gibi OpenBSD’de ağ arabirimine alias tanımlama sadece "alias" ek kelimesi ile olmaktadır. Yine bu alias tanımlarının kalıcı olması istenirse /etc/hostname.arabirim.adı dosyasına
Adres_sınıfı alias IP Adresi Ağ maskesi Broadcast [Diğer seçenekler]
şeklinde girilmelidir.
ifconfig -a komutu ile alias tanımları görüntülenmez, alias tanımlarınıda görüntülemek için ifconfig -A komutu ya da ifconfig arabirim_Adı komutları kullanılır.
#ifconfig -A veya
#ifconfig rl0
rl0: flags=8843 mtu
1500
address: 00:e0:4c:39:4c:a7
media: Ethernet autoselect (100baseTX full-duplex)
status: active
inet6 fe80::2e0:4cff:fe39:4ca7%rl0 prefixlen 64scopeid0x1
inet 192.168.0.89 netmask 0xffffffff broadcast
192.168.0.89
inet 192.168.0.88 netmask 0xffffff00 broadcast
192.168.0.255
# cat /etc/hostname.dc0
inet 192.168.0.2 255.255.255.0 media 100baseTX
inet alias 192.168.0.3 255.255.255.255
inet alias 192.168.0.4 255.255.255.255
Takma IP adresi silme
#ifconfig fxp0 delete IP_adresi
komutu ile eklenen alias tanımı kaldırılabilir.
DHCP sunucudan IP alma
# dhclient fxp0
# echo dhcp >/etc/hostname.xl0
#sh /etc/netstart
DHCP sunucudan alınacak parameterleri belirlemek için /etc/dhclient.conf dosyası kullanılabilir.
Konak ismi (hostname) belirleme
Hostname komutu ile makine ismi belirlenebilir. Belirlenenbu ismin kalıcı olması için /etc/myname dosyasına yazılması gerekir.
#hostname test.enderunix.org
komutu ile kullanılan sistemin tam tanımlı konak adı test.enderunix.org olarak düzenlenir. Bu değer kalıcı hale gelebilmesi için /etc/myname dosyasına yazılır.
$cat /etc/myname
test.enderunix.org
Yönlendirme işlemleri
o Yeni yönlendirme kaydı ekleme
o Ekli bir yönlendirme kaydını silme
Yönlendirme tablosu görüntüleme
Netstat ve route komutları uygun parametrelerle kullanılarak sistemde tanımlı yönlendirme tabloları görüntülenir.
Netstat komutu ile;
#netstat -rn -f inet
Routing tables
Internet:
Destination Gateway Flags Refs Use Mtu Interface
default 194.27.72.1 UGS 1 1292679 - rl0
127/8 127.0.0.1 UGRS 0 0 33224 lo0
127.0.0.1 127.0.0.1 UH 2 638 33224 lo0
172.16.10/24 link#2 UC 1 0 - rl1
...
...
#route show
Routing tables
Internet:
Destination Gateway Flags Refs Use Mtu Interface
default 194.27.72.1 UGS 0 1292785 - rl0
loopback localhost.kou.edu. UGRS 0 0 33224 lo0
localhost.kou.edu. localhost.kou.edu. UH 0 638 33224 lo0
172.16.10/24 link#2 UC 0 0 - rl1
172.16.10.2 00:d0:b7:b6:d1:0c UHLc 0 26 -rl1
194.27.72/24 link#1 UC 0
...
..
#route –n show ile daha sade bir çıktı alınabilir.
• n parametresi ile isim-ip çözümleme işlemini iptal ederek daha hızlı ve sade sonuç alınabilir.
Varsayılan ağ geçidi tanımlama
#route add default IP_Adresi
Bu ayarın kalıcı olabilmesi için /etc/mygate dosyasına yazılması gerekir.
$cat /etc/mygate
10.10.10.1
OpenBDS makineyi Router olarak kullanmak (IP FORWARDING)
/etc/sysctl.conf dosyasındaki
net.inet.ip.forwarding=1 şeklinde bir kayıt ekleyerek yapılır.
# sysctl net.inet.ip.forwarding=1
net.inet.ip.forwarding: 0 -> 1
OpenBSD makineyi gerçek bir router olarak kullanabilmek için aşağıdaki yazılımlar kullanılabilir.
o OpenBGPD [http://www.openbgpd.org]
o routed(8) []
o mrtd []
o zebra []
o quagga []
Dosyalarla yapılan işlemlerdeki yapılandırmaların geçerli olabilmesi için
#sh /etc/netstart
komutunun çalıştırılması gerekir.