Gündelik ve iş hayatımızda neredeyse her işimiz için başvurduğumuz linux dağıtımlarını hep sanalda çalıştırmakla onlara büyük haksızlık yaptığımızı uzun zamandır düşünüyordum.Bu hafta nihayet birincil işletim sistemi olarak Ubuntu kurdum, windows için ise virtualbox üzerinde güzel bir yer parselledim:)
Ubuntuya geçer geçmez sıcak sıcak ilk makalemi de linux sistemler üzerinden trunk port işlemlerine ayırdım.
İç networklere yönelik yapılacak sızma teslerinde birden fazla VLAN olan network yapıları ile karşılaşılabilir.Bu durumda her VLAN'a dahil olabilmek için teker teker işlem (veya izin istenmesi) yapılması yerine,ilgili network yöneticisinden switch üzerinde bir portun trunk tanımlanması ve ilgili tüm vlanların bu trunk porta ataması istenilebilir.Bundan sonra yapmanız gereken kendi local sistemimizin ethernet interface üzerinde bir kaç işlem ile aynı encapsulation(802.1q) kullanılarak ilgili vlanlara erişmek olacak.Aslında bir nevi linux tarafında da ethernet portu trunk moda alınmış olunuyor.Bu yöntem iç networkünüze tarayıcı sunucu kurmak isterseniz de ihtiyaç duyabileceğiniz bir yöntem.Linux sistem üzerinde(Ubuntu 10.04 LTS) yapılması gereken işlemlerler sırası ile şu şekilde.
Öncelikle sistemimizin üzerindeki donanımın vlan atayıp trunk işlemi yapmamıza elverişli özelliğe sahip olması gerekir.Gigabit ethernetlerde genelde bu destek vardır.Donanımızın özelliklerini görmek için:
root@pamuksekeri-pc:~# lshw -c network
*-network
description: Ethernet interface
product: NetLink BCM5787M Gigabit Ethernet PCI Express
vendor: Broadcom Corporation
physical id: 0
bus info: pci@0000:85:00.0
logical name: eth0
version: 02
serial: 18:a9:05:96:df:43
size: 1GB/s
capacity: 1GB/s
width: 64 bits
clock: 33MHz
capabilities: pm vpd msi pciexpress bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=tg3 driverversion=3.102 duplex=full firmware=sb v2.13 latency=0 link=yes multicast=yes port=twisted pair speed=1GB/s
resources: irq:31 memory:d0600000-d060ffff
Şimdi, vconfig aracı ile vlan oluşturup ilgili vlan ID'lerini atayabilmemiz için vlan tool'unu kurmamız gerekecek veya Ip komutu ile de aynı işlemler yapılabilir.Ben kullanımının daha basit olması sebebi ile vconfig tool'unu tercih ediyorum.Debian tabanlı sistemlerde repositoryden program kurmak için apt-get veya aptitude komutları kullanılabilir.
root@pamuksekeri-pc:~# apt-get install vlan
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
Daha sonra eth0 interface'miz altında vlan ID(234) değerini verip bir VLAN tanımlıyoruz. Sistem oluşturduğumuz VLAN'a isim olarak eth0.234 verecektir.
root@pamuksekeri-pc:~# vconfig add eth0 234
Added VLAN with VID == 234 to IF -:eth0:-
Yukarıda tanımladığımız VLAN'ı silmek için add yerine rem parametresi verilebilir(vconfig rem eth0.234).
Şimdi oluşturduğumu VLAN'dan bir IP adresini interfacemize verelim:
root@pamuksekeri-pc:~# ifconfig eth0.234 10.34.12.197/24 up
10.34.12.0/24 subnetine giderken kullancağı gateway 10.34.12.1 olacak şekilde route girelim:
root@pamuksekeri-pc:~# route add -net 10.34.12.0/24 gw 10.34.12.1 eth0.234
Sistem üzerindeki route'ları görelim:
root@pamuksekeri-pc:~# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
10.34.12.0 10.34.12.1 255.255.255.0 UG 0 0 0 eth0.234
Girdiğimiz route sistemin route tablosuna eklenmiş.Switch tarafında port trunk yapılırken 802.1q encapsulation kullanılmalıdır.Çünkü linux tarafında default bu şekilde belirleniyor.Sisteminizde 802.1q encapsulation kullanıldığını şu şekilde görebilirsiniz:
root@pamuksekeri-pc:~# lshw -c network | grep 802.1Q
configuration: autonegotiation=on broadcast=yes driver=802.1Q VLAN Support driverversion=1.8 duplex=full firmware=N/A ip=10.34.12.197 link=yes multicast=yes port=twisted pair speed=1GB/s
Şimdi ilgili vlana erişip erişemediğimizi test için; nmap ile bir ping scan(-sP) yapıp ayaktaki sunucuları bulmaya çalışalım
root@pamuksekeri-pc:~# nmap -sP 10.34.12.0/24 -n | grep Host | cut -d " " -f2
10.34.12.1
10.34.12.2
10.34.12.3
10.34.12.5
10.34.12.6
10.34.12.7
10.34.12.8
10.34.12.9
10.34.12.10
10.34.12.11
10.34.12.12
10.34.12.13
10.34.12.14
10.34.12.15
10.34.12.17
10.34.12.18
10.34.12.19
Görüldüğü gibi ilgili VLAN'a erişebiliyoruz.Bu işlemi switch tarafında atanan tüm VLAN'lar için yapmak gerekecektir.Ilgili ayarların kalıcı olması için /etc/network/interfaces altına manuel olarakta giriş yapılabilir.
İşlemler için vlan aracını kurma şansımız yoksa sanal interface oluşturma ve vlan ID atama işlemleri Ip komutuyla da yapılabilir.
Ip komutu ile bir sanal interface oluşturup vlan ID atamak için:
root@pamuksekeri-pc:~# ip link add link eth0 name vlan45 type vlan id 45
Silmek için:
root@pamuksekeri-pc:~#ip link delete vlan11
Bundan sonra Ip adresi ve gateway verme işlemini yukarıda yaptığımız gibi ifconfig ile yapabilirsiniz.
Hi all, here every person is sharing these knowledge, thus it's pleasant to read this web site, and I used to visit this webpage daily.
YanıtlaSilMy blog professional cloud hosting
Thank you hostwinds.
YanıtlaSilbununla mesela ayni ag uzerinde ben wlan0 ken eth0 la baglanan pc leri gorebiliyor muyuz/ burda yapilanlar bize tm olarak ne kazandiracak tam olarak anlamadim
YanıtlaSilvlan yapısı kullanılan networklerde switch üzerinde bir port trunk olarak tanımlanıp erişeceğiniz vlan id'ler bu porta atansa da eğer sizin tarafta portunuz trunk ayarlanmazsa erişim problemi yaşarsınız.burda anlatmak istedigim linux tarafında trunk port mantığıyla nasıl çalışılabileceği ve sağlayadığı kolaylıklar.vlan yapısı ve trunk port üzerine biraz araştırma yapmanızı tavsiye ederim.
YanıtlaSil