Linux Sistemlerde LLDP

19 February, 2012 (22:14) | - Network, Linux Networking | By: alper

Link Layer Discovery Protocol (LLDP) , Linux sistemlerde lldpd sistem daemon u ile yapılandırılır.

Kurulum :

Opensuse :

zypper in lldpd

Ubuntu/Debian :

apt-get install lldpd

OpenSuse için Servisi açılışta enable edelim,

chkconfig lldpd on

Her iki sistemde de servisin çalıştırılması :
/etc/init.d/lldpd start
Note : OpenSuse 12.1 de “/etc/sysconfig/lldpd” dosyası içerisinde -x şeklinde opsiyon geçerli değil siliniz veya istediğiniz bir parametre ile değiştiriniz aksi takdirde hata verecektir.
lldp komşularınızı görmek için : lldpctl komutunu kullanabilirsiniz :
Örnek çıktı :

corpgmfw1:~ # lldpctl
——————————————————————————-
LLDP neighbors:
——————————————————————————-
Interface:    trunk1, via: LLDP, RID: 1, Time: 0 day, 02:53:08
Chassis:
ChassisID:    mac 78:19:f7:**.**.**
SysName:      corpGMBACKBONE0-re0
SysDescr:     Juniper Networks, Inc. ex8208 , version 11.4R1.6 Build date: 2011-11-15 11:32:59 UTC
Capability:   Bridge, on
Capability:   Router, on
Port:
PortID:       local 1192
PortDescr:    ge-6/0/0.0
MFS:          1514
Port is aggregated. PortAggregID: 1249
PMD autoneg:  supported: yes, enabled: yes
Adv:          10Base-T, HD: no, FD: yes
MAU oper type: unknown
VLAN:         70 GMYOLD
VLAN:         2 NetworkDevices
VLAN:         12 ServerLoadbalanceDMZ
VLAN:         3 ServerManagement
VLAN:         88 vlanstorage
——————————————————————————-
Interface:    trunk0, via: LLDP, RID: 1, Time: 0 day, 02:52:47
Chassis:
ChassisID:    mac 78:19:f7:**.**.**
SysName:      corpGMBACKBONE0-re0
SysDescr:     Juniper Networks, Inc. ex8208 , version 11.4R1.6 Build date: 2011-11-15 11:32:59 UTC
Capability:   Bridge, on
Capability:   Router, on
Port:
PortID:       local 742
PortDescr:    ge-1/0/0.0
MFS:          1514
Port is aggregated. PortAggregID: 1249
PMD autoneg:  supported: yes, enabled: yes
Adv:          10Base-T, HD: no, FD: yes
MAU oper type: unknown
VLAN:         70 GMYOLD
VLAN:         2 NetworkDevices
VLAN:         12 ServerLoadbalanceDMZ
VLAN:         3 ServerManagement
VLAN:         88 vlanstorage
——————————————————————————-
Interface:    me0, via: LLDP, RID: 1, Time: 0 day, 02:52:46
Chassis:
ChassisID:    mac 78:19:f7:**.**.**
SysName:      corpGMBACKBONE0-re0
SysDescr:     Juniper Networks, Inc. ex8208 , version 11.4R1.6 Build date: 2011-11-15 11:32:59 UTC
Capability:   Bridge, on
Capability:   Router, on
Port:
PortID:       local 770
PortDescr:    ge-1/0/34.0
MFS:          1514
PMD autoneg:  supported: yes, enabled: yes
Adv:          10Base-T, HD: no, FD: yes
Adv:          100Base-T, HD: yes, FD: yes
Adv:          100Base-X, HD: no, FD: yes
Adv:          1000Base-T, HD: yes, FD: yes
MAU oper type: unknown
VLAN:         70, pvid: yes GMYOLD
——————————————————————————-
Interface:    fc0, via: CDPv2, RID: 2, Time: 0 day, 02:52:37
Chassis:
ChassisID:    local corp_corp_MRK_Router.ttvpn
SysName:      corp_corp_MRK_Router.ttvpn
SysDescr:     Cisco CISCO2911/K9 running on
Cisco IOS Software, C2900 Software (C2900-corpK9-M), Version 15.0(1)M4, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2010 by Cisco Systems, Inc.
Compiled Thu 28-Oct-10 18:32 by prod_rel_team
MgmtIP:       10.199.199.1
Capability:   Bridge, on
Capability:   Router, on
Port:
PortID:       ifname GigabitEthernet0/0
PortDescr:    GigabitEthernet0/0
——————————————————————————-
corpgmfw1:~ #

FreeBSD Kullanicilarini taşımak.

24 January, 2011 (10:48) | ipucu | By: alper

Yeni bir FreeBSD sunucuya daha önceki kullanıcılarınızı aşağıdaki şekilde taşıyabilirsiniz.

Eski sunucuda aşağıda bulunan dosyaları aynı isimle yeni sunucuya ekliyoruz.

/etc/passwd
/etc/group
/etc/master.passwd

Aşağıdaki komutu vererek pasword database ini yeniden inşa ediyoruz.

pwd_mkdb -p /etc/master.passwd

Bu kadar , Eski sunucunuzdaki kullanıcı adı ve şifreleri vererek yeniden login olabilirsiniz.

Temel Linux

13 May, 2010 (09:38) | Linux | By: alper

İş yerimde yapacak olduğumuz Temel linux yapısı ve Tanıtımı  konulu eğitim için hazırladığım dökümanı buradan indirebilirsiniz. Dökümantasyon çok kısa sürede hazırlanması gerektiği için internetten toparlanmıştır. küçük bir kısmı tarafımdan yazılmıştır.

Ozgur Yazilim Gunleri Linux Routing ve QOS sunumu

5 April, 2010 (13:28) | Diğer | By: alper

Özgür yazılım günlerinde İstanbul Bilgi Universitesi Dolapderekampusundeki 03/04/2010 tarihli “Linux routing ve QOS ” sunumuma buradan ulaşabilirsiniz.

Sunuma yardımcı olan FreeNode’taki arkadaşlara , Grafikler için Noyan Selçuk Hancıoğlu’na teşekkürler.

FreeBSD iostat benzeri Disk kullanimini görüntülemek.

21 March, 2010 (17:32) | ipucu | By: alper

Linux sistem yöneticilerin en çok kullandıkları utility lerden birisi “iotop” tur sanırım. FreeBSD bu utility i içermez , benzeri bir çıktıyı bu komutla alabilirsiniz ”  top -m io -o total ” .

Daha basitçe sadece disk kullanımını görmek istiyorsanız BSD ye has gstat komutu hoşunuza gidecektir.

Birden çok hardisk Linux Swap tunning

8 March, 2010 (16:56) | ipucu | By: alper

Özellikle kullandığımız sistem sıksık swap alan kullanmaya ihtiyaç duyuyorsa swap performansı oldukça önemli hale gelir. iki farklı  hardiskimiz olduğunu düşünelim ve ikisinde de birer swap alani oluşturduğumuzu,

[root@linux ~]# fdisk -l | grep swap

/dev/sda1   *           1        1275    10241406   82  Linux swap / Solaris

/dev/sdb5            3851        5125    10241406   82  Linux swap / Solaris

[root@linux ~]#
Yukarıda gördüğümüz gibi sda1 ve sdb5 olmak üzere iki adet diskimiz üzerinde iki farkli swap alanimiz var , /etc/fstab dosyasini açarak içerisinde bulunan swap la ilgili satırlarda “defaults” yazılı kısımları  ”defaults,pri=1″  şeklinde düzeltiyoruz.
[root@linux ~]# cat /etc/fstab | grep swap
LABEL=SWAP-sda1         swap                    swap    defaults,pri=1        0 0
LABEL=SWAP-sdb5         swap                    swap    defaults,pri=1        0 0
[root@linux ~]#
Normal şartlar altında linux 1 nolu swap tamamen dolduktan sonra 2 nolu swap i kullanmaya başlayacaktı. bu ayarlarımızı yaptıktan sonra gelen swap işleri 2 disk arasında dağıtılarak daha fazla performans elde etmenizi sağlayacaktır. elimizde çok fazla hardisk olduğu durumlarda yine aynı işlemi onlara da uygulayarak dağıtabilir. veya daha düşük performans lı hardiskleri “pri=2″ şeklinde belirterek swap grubu tamamen dolduktan sonra kullanılmaya başlaması için işaretleyebilirsiniz.
not : swap kullanılmadığı durumlarda normal olarak bu işlem hiçbir fayda sağlamaz.

Linux ssh login çok yavaş ?

16 February, 2010 (15:29) | ipucu | By: alper

Uzaktaki linux sunucularınıza bağlandığınızda login işlemi sizi oldukça çok bekletiyor ve durumdan rahatsız oluyorsanız aşağıdaki işlemleri kontrol edebilirsiniz.

1. DNS

bağlandığın istemcinin DNS adresinin çözümlenmesi uzun zaman alıyor olabilir. sshd_config dosyası içerisine “UseDNS no”
parametresi ekleyip sshd yeniden başlatarak sorununuzu çözebilirsiniz. Daha önceden var ve değer yes ise no ile değiştirmeniz yeterlidir.

2.  GSSAPI Authentication

yavaş bağlantısı olan server e ” ssh -o GSSAPIAuthentication=no user@10.0.0.1″ öreneğinde olduğu gibi bağlanmaya çalışın, sorunun çözümlendiğini gözlemlerseniz. bağlandığınız server’de “sshd_config” dosyası içerisinde  “GSSAPIAuthentication no” değerini “yes” olarak değiştirin. Birden fazla server’iniz var ve tek client den bağlanıyorsanız “ssh_config”  dosyasında aynı değeri “no” olarak değiştirin.

3. Bunların dışında hala bir ” networksel olmayan ! ” yavaşlık mevcut ise “ssh -v -o GSSAPIAuthentication=no user@10.0.0.1″ örneğindeki gibi ssh istemciyi debug modda bağlanarak test edin.

Linux konsol otomatik logout

16 February, 2010 (15:12) | ipucu | By: alper

Özellikle kolay ulaşılabilen serverler’de konsol admin tarafından login olarak unutulduğunda güvenlik açığı meydana getirebilir. En kolay alınabiliecek önlem belirli bir süre konsol pasif kaldığında ( Idle ) otomatik logof olmasını sağlamaktır. işlem oldukça basit.

export TMOUT=120 diyerek 120 Saniye iddle olan konsolun otomatik log of olmasını sağlayabilirisiniz. gerektiğinde sadece belirli userler için bunun geçerli olması için kişilerin profile dosyalarına sistem genelinde tüm kullanıcılara geçerli olması için ” /etc/profile” dosyasına yazabilirsiniz.

Linux TEQL

25 January, 2010 (15:30) | Loadbalancing, iproute2 | By: alper

Linux outgoing loadbalancing , yazımda anlattığım gibi bir yapı hemen hemen heryerde, ihtyaçlarınızı karşılayabilsede, kullanabileceğiniz tek yöntem bu değildir. Linux TEQL ( True link Equalizer ) kullanabileceğimiz diğer seçeneklerden birisidir. Özellikle LACP ( 802.3ad ) desteklemeyen bir  switch’iniz varsa hatta local network de iki linux server in birbirleri arası haberleşmelerinde ethernet performansını paylaştırabilemek için oldukça uygun bir yöntem olabilir. örnek network yapısı verecek olursak :

şimdi TEQL nasıl çalışır bir göz atalım.

Yandaki resimde görüldüğü üzere 2 adet ethernet interface’imizi TEQL kullanarak birleştirmek mümkündür. Eth1 ve Eth2 interface’lerini kapsayan teql0 adlı yeni bir interface oluşturulur ve yeni bir ip adresi tanımlanır. tanımlanan ip adresi local network den ulaşılabildiği gibi dışarıya erişim içinde kullanılabilir. Her bir bağlantı isteğini eth1 ve eth2 arasında sırasıyla dağıtarak toplam bant genişliğini kullanma imkanı sağlar. TEQL sadece linux kerneline özel bir uygulamadır. Diğer işletim sistemlerinde bulunmaz.TEQL iproute2 paketi ile birlikte gelir.

1. Teql module’ünü yükleyelim. Interface’imizin oluştuğunu doğrulayalım.

root@linux:~# modprobe sch_teql

root@linux:~# ifconfig teql0

teql0     Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00

NOARP  MTU:1500  Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:100

RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

root@linux:~#

2. Eth1 ve Eth2 Interface’lerini teql’e dahil edelim.

root@linux:~#  tc qdisc add dev eth1 root teql0

root@linux:~#  tc qdisc add dev eth2 root teql0

root@linux:~#

3. Eth1 ve Eth2 Interface’lerinin teql interface’ine dahil olduğundan emin olalım.

root@linux:~# tc qdisc show
qdisc teql0 8001: dev eth1 root
qdisc teql0 8002: dev eth2 root
qdisc pfifo_fast 0: dev eth3 root bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
root@linux:~#
4. Teql0'e ip adresimizi atayalım.
root@linux:~# ifconfig teql0 192.168.1.1 netmask 255.255.255.0
root@linux:~#

5. IP Adreslerinin doğru olduğunu kontrol edelim.

root@linux:~# ifconfig -a
eth1      Link encap:Ethernet  HWaddr 08:00:27:1f:0a:b7
inet addr:192.169.1.2  Bcast:192.169.1.255  Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe1f:ab7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B)  TX bytes:468 (468.0 B)
eth2      Link encap:Ethernet  HWaddr 08:00:27:ad:66:d0
inet addr:192.169.1.3  Bcast:192.169.1.255  Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fead:66d0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B)  TX bytes:238 (238.0 B)
eth3      Link encap:Ethernet  HWaddr 08:00:27:d8:6a:d3
inet addr:10.1.30.86  Bcast:10.1.30.255  Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fed8:6ad3/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:710 errors:0 dropped:0 overruns:0 frame:0
TX packets:267 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:84210 (84.2 KB)  TX bytes:34303 (34.3 KB)
lo        Link encap:Local Loopback
inet addr:127.0.0.1  Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING  MTU:16436  Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
teql0     Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
root@linux:~#

6. Ağ geçidimiz Local network’de bir makina ise teql0 interface’i için ağ geçidini girelim . ( daha önceden girilmiş ağ geçidi varsa siliniz.

root@linux:~# ip route add default via  192.168.1.254 dev teql0
root@linux:~#

7. “ tc -s qdisc ” komutu ile yapmış olduğumuz işlemi kontrol edebilirsiniz.

Notlar :

  1. İki interface bir birine eşit olmadığı durumlarda gerçekten büyük performans sorunu yaşayabilirsiniz.
  2. Teql’e dahil ettiğiniz interface’lerden birisi fail olursa çok büyük performans sıkıntısı yaşandığı konusunda şikayetler var. Mümkün olduğunca local network içerisinde kullanın.
  3. Başıma gelmedi ama bağlı olduğunuz switchde STP’ile ilgili sorun yaşayabilirsiniz.
  4. eth1 ve eth2 gibi teql’e eklediğiniz interface’ler cevap vermezse aşağıdaki işlemi uygulayınız.
  5. Tek bir socket bağlantısı için TEQL ektra bir performans avantajı sağlayamaz.
root@linux:~# echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter
root@linux:~# echo 0 > /proc/sys/net/ipv4/conf/eth2/rp_filter
root@linux:~#
Veya Sysctl ile
sysctl net.ipv4.conf.eth1.rp_filter=0
Açılışta aktif olması için “/etc/sysctl.conf”‘a ekleyiniz.

Ubuntu server konsol ayarlarını değiştirmek.

12 January, 2010 (21:52) | ipucu | By: alper

Kurmuş olduğunuz ubuntu server in konsol ayarlarını ( klavye, font vb ) değiştirmek için ;

root@linux:~# apt-get install console-data

Diyerek console-data yi kuruyoruz. ( root değilseniz sudo kullanmayı unutmayınız )
dpkg size kurulum esnasında soracaktır. daha sonra ayarlara yeniden ulaşmak için.

root@linux:~# dpkg-reconfigure console-data