Çarşamba, Aralık 24, 2008

Route Sorgulama Komutları

R> sh ip bgp paths _xyzt$
R> sh ip bgp regexp _xyzt$
R> sh ip bgp IP_ADRESI

R> sh bgp all
R> traceroute IP_ADRESI

Cuma, Kasım 07, 2008

Cisco Integrated Routing and Bridging...

Cisco Integrated Routing and Bridging (IRB)

Bridging yapısını kullanabileceğimiz en basit yapı aşağıdaki gibi olabilir. Burada Router 1 ve Router 2 üzerinde WAN ve LAN arayüzleri arasında bridge tanımlanmıştır. Bu sayede PC 1 ve PC 2 aralarında iletişim kurabilmektedir.

Bu topolojiyi gerçekleyebilmek için aşağıdaki configurasyon yapılmıştır.




=========
| Router 1 |
=========

controller DSL 0
mode atm
line-term co
line-mode 2-wire line-zero
dsl-mode shdsl symmetric annex B
line-rate auto
!
bridge irb
!
interface ATM0
no ip address
no atm ilmi-keepalive
!
interface ATM0.1 point-to-point
pvc 8/35
encapsulation aal5snap
!
bridge-group 1
!
interface FastEthernet0
!
interface FastEthernet1
!
interface FastEthernet2
!
interface FastEthernet3
!
interface Vlan1
no ip address
bridge-group 1
!
bridge 1 protocol ieee
bridge 1 route ip

=========
| Router 2 |
=========

controller DSL 0

mode atm

line-term cpe

line-mode 2-wire line-zero

dsl-mode shdsl symmetric annex B

line-rate auto
!
bridge irb
!
interface ATM0
no ip address
no atm ilmi-keepalive
!
interface ATM0.1 point-to-point
pvc 8/35
encapsulation aal5snap
!
bridge-group 1
!
interface FastEthernet0
!
interface FastEthernet1
!
interface FastEthernet2
!
interface FastEthernet3
!
interface Vlan1
no ip address
bridge-group 1
!
bridge 1 protocol ieee
bridge 1 route ip

=========
| PC 1 |
=========


IP Address : 10.1.1.1/24
Gateway : no

> ping 10.1.1.2
PING 10.1.1.2 (10.1.1.2) 56(84) bytes of data.
64 bytes from 10.1.1.2: icmp_seq=1 ttl=64 time=4.50 ms
64 bytes from 10.1.1.2: icmp_seq=2 ttl=64 time=4.58 ms
64 bytes from 10.1.1.2: icmp_seq=3 ttl=64 time=4.45 ms


=========
| PC 2 |
=========


IP Address : 10.1.1.2/24
Gateway : no

Bridge'i kontrol etmek için aşağıdaki komutlar kullanılabilir:


Router 1#show bridge group

Bridge Group 1 is running the IEEE compatible Spanning Tree protocol

Port 17 (Vlan2) of bridge group 1 is forwarding
Port 23 (ATM0.1 RFC 1483) of bridge group 1 is forwarding


Router 1#show bridge 1

Total of 300 station blocks, 298 free
Codes: P - permanent, S - self

Bridge Group 1:

Address Action Interface Age RX count TX count
0011.433c.7ece forward ATM0.1 0 18842 16783
000f.eab9.d431 forward Vlan2 0 17425 16789

Router 1#show bridge 1 verbose

Total of 300 station blocks, 298 free
Codes: P - permanent, S - self

BG Hash Address Action Interface VC Age RX count TX count
1 B0/0 0011.433c.7ece forward ATM0.1 2 0 18950 16891
1 E5/0 000f.eab9.d431 forward Vlan2 - 0 17533 16897

Flood ports (BG 1) RX count TX count
Vlan2 0 111
ATM0.1 111 0


Yardımcı kaynaklar:

http://davidbombal.com/free-cisco-tests-ebooks-exams-ccna-ccent-ccnp-ccie-ccvp-ccip/bridging-ccie-ccip-ccnp/61-basic-bridging-over-a-wan-ccnp-ccie.html

Cuma, Ekim 17, 2008

TFTP Sunucusu

TFTP Sunucusu

Linux altında çok sayıda tfptp sunucusu bulunur. Bunlardan biri olan in.tftpd xinetd çok sayıda sunucuyu yöneten süper sunucu altında çalıştırmaktadır.

# vi /etc/xinetd.d/tftp

service tftp
{
        disable                = no
        socket_type        = dgram
        protocol              = udp
        wait                    = yes
        user                    = root
        server                 = /usr/sbin/in.tftpd
        server_args       = -l -c -v -s /tftpboot
        per_source        = 11
        cps                      = 100 2
        flags                   = IPv4

Aynı şekilde komut satırından da çalıştırılabilir.

# in.tftpd -l -c -v -s -u root /dizin_adi

Salı, Eylül 16, 2008

Juniper Faydalı Komutlar

R> show firewall log
R> show firewall log detail

R> monitor start DOSYA_ADI
R> monitor list
R> monitor stop

R> monitor traffic interface ge-0/0/0 (Sadece routing engine trafiğini gösterir.)

R> file show DOSYA_YOLU/DOSYA_ADI
R> file show DOSYA_YOLU/DOSYA_ADI | match ARANAN_DIZI
R> file show DOSYA_YOLU/DOSYA_ADI | find ARANAN_DIZI (sadece ilk eşleşen değeri bulur.)

Pazartesi, Temmuz 14, 2008

Samba Sunucu ile Paylaşım

Samba ile ilgili bilinmesi gerekenler:
  • Sistem yetkilendirme ayarları samba yetkilendirme ayarlarından önceliklidir. Samba sunucudan verimiş olan yazma hakkı sistem tarafından verilmediyse kullanıcı paylaşım dizinine yazamaz.
  • İşletim sistemi yükleme ayarları samba ayarlarından önceliklidir. Samba sunucudan verilmiş olan yazma hakkı, sadece okunabilir olarak yüklenmiş (mount) olan bir diske yazamaz.

Yetkilendirme Olmayan (Public) Paylaşım
Bu paylaşım herkezin erişimine açık olarak tasarlanmıştır. Erişimi için herhangi bir yetkilendirme söz konusu değildir. Bu paylaşımı oluşturabilmek için aşağıdaki adımlar takip edilebilir:

1. Dizin oluşturma ve haklarını ayarlama

# mkdir /tmp/test
# chown user.user /tmp/test
# chmod 775 /tmp/test

2. smb.conf dosyasında ayarlama

# vi /etc/samba/smb.conf
[test]
comment = Genel paylaşım
path = /tmp/test/
browseable = yes
writeable = no
guest ok = yes



Yetkilendirme Yapılmış Paylaşım
Bu yetkilendirmede sadece izin verilmiş kullanıcı yada kullanıcı grubu erişim yapabilir ve paylaşım üzerinde işlem yapabilir.

1. Dizin oluşturma ve haklarını ayarlama

# mkdir /tmp/test1
# useradd -M -s /sbin/nologin user1
# chown user1.user1 /tmp/test1
# chmod 775 /tmp/test1

2. Samba kullanıcısı oluşturma

# smbpasswd -a smbguest
# echo "user1 = smbguest" >> /etc/samba/smbusers

3. smb.conf dosyasının ayarlanması

# vi /etc/samba/smb.conf
[test1]
comment = Özel paylaşım
path = /tmp/test1/
browseable = yes
writeable = yes
guest ok = no
valid users = user1 yada @user1

Paylaşımları Kontrol Etmek

1. Tüm smb.conf dosyasını sınamak

# testparm /etc/samba/smb.conf


2. Paylaşımları listelemek

# smbclient -N -L host_ip
# smbclient -U smbguest -L host_ip

3. Paylaşımlara bağlanmak

# smbclient //host_ip/test
# smbclient -U smbguest //host_ip/test1

c:> net use m: \host_iptest
c:> net use m: \host_iptest1 /user:smbguest



Çarşamba, Temmuz 02, 2008

Apache Sunucuda SSL Ayarları


<VirtualHost sunucu.testdomain.com.tr:443>
ServerAdmin admin@testdomain.com.tr
DocumentRoot /var/www/html/pfn
ServerName sunucu.testdomain.com.tr
Oluşturulan sanal sunucu için temel ayarlar.
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/testdomain-wildcard.cer
SSLCertificateKeyFile /etc/pki/tls/private/testdomain-wildcard.key
SSL fonksiyonunun aktive edilmesi ve kullanılacak sertifikanın ve gizli anahtarının yerinin tanımlanması.
Options All
SSLVerifyClient require
SSLVerifyDepth 2
SSLCACertificatePath /etc/pki/tls/certs/
SSLCACertificateFile /etc/pki/tls/certs/ca-kok-bundle.pem
LimitRequestBody +1024000000
Client site authentication yapılacağının tanımlanması. Kullanılacak kök sertifika dosyasının ve sertifika dosyasının yolunun tanımlanması yapılır.
<Location />
SSLRequire %{SSL_CLIENT_S_DN_O} in {"ABC", "ABC 1"}
</Location>
Client sertifikalarında yer alan bazı alanlara göre filtreleme yapılabilmektedir. Burada (O)rganization alanunın ABC ve ABC1 olan sertifikalara izin verilmesi için tanım yapılmıştır.
SSLProxyEngine on
ProxyPass / https://pfn.testdomain.com.tr/
ProxyPassReverse / https://pfn.testdomain.com.tr/
Proxy motory aktive edilerek talepler tanımlanan ikinci bir sanal sunucuya yönlendirilmiştir (pfn.testdomain.com.tr). Bu sunucu adının bir DNS kaydı yoktur ve normalde dışarıdan erişilemez. Bu tanım özellikle SSL üzerinden dosya yükleme işlemi için önemlidir. Normalde SSL tunel üzerinden ancak 128k boyutunda dosyalar yüklenebilmektedir. Bunu aşmak için dışarıdan erişilemeyen bir iç sunucuya yapılan yönlendirme ile aşılmıştır.
ErrorLog logs/filemng-ssl-error_log
CustomLog logs/filemng-ssl-access_log common
</VirtualHost>
Kayıtların tutulacağı dosyalar tanımlanıp, sanal sunucu kapatılır.
<VirtualHost sunucu.testdomain.com.tr:80>
ServerAdmin admin@testdomain.com.tr
DocumentRoot /var/www/html
ServerName sunucu.testdomain.com.tr

RedirectMatch ^/.* https://sunucu.testdomain.com.tr
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]

ErrorLog logs/filemng-error_log
CustomLog logs/filemng-access_log common
</VirtualHost>
sunucu.testdomain.com.tr adresinin 80 portuna gelen isteklerin 443 nolu porttan hizmet veren sanal sunucuya yönlendirilmesi sağlanmaktadır. Ayrıca TRACE ve TRACK metodları da suncu üzerinde kapatılmıştır.
<VirtualHost pfn.testdomain.com.tr:443>
ServerName pfn.testdomain.com.tr
ServerAdmin admin@testdomain.com.tr
DocumentRoot /var/www/html/pfn

SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/testdomain-wildcard.cer
SSLCertificateKeyFile /etc/pki/tls/private/testdomain-wildcard.key

ErrorLog logs/pfn-error_log
CustomLog logs/pfn-access_log common
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
</VirtualHost>
Dışa kapalı sanal sunucu tanımlanmış ve gerekli diğer tanımlar yapılmıştır.

Çarşamba, Haziran 18, 2008

Komut Satırından "Add/Remove Programs"

Aşağıdaki komutu işleterek, özellikle admin modundaki cmd ekranında Add/Remove Programs uygulamasını çalıştırabiliriz.

c:\windows\system32\appwiz.cpl,Add/Remove Programs

Pazartesi, Haziran 02, 2008

Wget ile Rapidshare Dosya İndirmek

wget \
--save-cookies /home/erolk/rapidshare_cookie \
--post-data "login=USERNAME&password=PASSWORD" \
-O - \
https://ssl.rapidshare.com/cgi-bin/premiumzone.cgi \
> /dev/null

wget --load-cookies /home/erolk/rapidshare_cookie URL

Pazartesi, Mayıs 19, 2008

Juniper Yönlendiricide Hattı İzleme

interfaces {
ge-0/1/0 {
unit 0 {
family inet {
filter {
input all;
output all;
}
address 192.168.1.1/24;
}
}
}
}

firewall {
filter all {
term all {
then {
sample;
accept;
}
}
}
}

forwarding-options {
sampling {
input {
family inet {
rate 100;
}
}
output {
cflowd 192.168.1.100 {
port 2000;
version 5;
}
}
}
}

NOT : OUTPUT olarak FILE da kullanılabilir. Bu durumda dosya yolu belirtilmezse, /var/tmp/ dizinine yazılır.
output {
file filename traf_sample files 5 size 5000000 stamp;

Paketleri Görüntülemek İçin

R> file show /var/tmp/DOSYA_ADI
R> monitor start /var/tmp/DOSYA_ADI

Kaynak:
http://www.juniper.net/techpubs/software/junos/junos90/swconfig-policy/configuring-traffic-sampling.html#id-11354799
http://www.juniper.net/techpubs/software/junos/junos90/swconfig-policy/configuring-traffic-sampling-output.html#id-11374781

Cuma, Mayıs 16, 2008

MRTG Hat Durumu

MRTG log dosyasında yer alan değerlere göre bir yönlendiricinin ne kadar bantgenişliği kullandığını görmek için kullanılan betik. Bu değerler mrtgde grafiksel olarak gösteriliyor. Ancak bu betik ile anlık değeri görebilirsiniz.

#!/bin/bash

bc -l <<< `head -2 /var/www/mrtg/dosya_adi.log | tail -1 | cut -f 2 -d " "`*8 > /dosya/yolu/sonuc.txt

if [ `cat /dosya/yolu/sonuc.txt` -gt 4000000 ] ; then
echo "Download Limiti Asildi... Downloadi kisalim..."
exit 2
else
echo "Download serbest..:-)"
exit 0
fi

Çarşamba, Mart 26, 2008

Junoscript

Junoscript, junos işletim sistemine sahip Juniper marka cihazların uzaktan yönetimi için kullanılan, XML tabanlı, bir betik dilidir. Üç ana bileşenden oluşmaktadır:

  1. Junoscript Sunucu (Server)
  2. Junoscript API
  3. Junoscript XML API

Junoscript Sunucu
Junos ile entegre bir uygulamadır. Gelen istekleri cihaz tarafında karşılar ve uygun cevapları üretir.

Junoscript API ve Junoscript XML API

Bu API ler istemci uygulaması tarafından kullanılarak betik hazırlanır ve junoscript sunucuya bağlanarak uygular.

Örnek Betikler

Herhangi bir istemci uygulaması kullanmadan betikleri test etmek için "junoscript interactive" komutunun Juniper cihaza bağlandıktan sonra çalıştırılabilir.

Şasi bilgilerini getiren betik

junoscript interactive

<?xml version="1.0" encoding="us-ascii"?>
<junoscript version="1.0" release="8.4R1.13">
<rpc>
<get-chassis-inventory>
<detail/>
</get-chassis-inventory>
</rpc>

Bir arayüzü kapatan betik

junoscript interactive
<!-- komut -->

<?xml version="1.0" encoding="us-ascii"?>
<junoscript version="1.0" release="8.4R1.13">

<rpc>
<load-configuration format="text">
<configuration-text>
interfaces {
ge-0/0/0 {
delete:
disable;
}
}
</configuration-text>
</load-configuration>
</rpc>

<rpc>
<commit-configuration/>
</rpc>

Bir arayüzü açan betik

junoscript interactive
<!-- komut -->

<?xml version="1.0" encoding="us-ascii"?>
<junoscript version="1.0" release="8.4R1.13">

<rpc>
<load-configuration format="text">
<configuration-text>
interfaces {
ge-0/0/0 {
disable;
}
}
</configuration-text>
</load-configuration>
</rpc>
<rpc>
<commit-configuration/>
</rpc>

Çarşamba, Mart 12, 2008

multitail Komutu

Faklı dosya yada komut çıktısını ekranı bölerek görüntülemeye yarar. Aşağıdaki komut ekranı vertikal olarak ikiye bölüp beş komut çıktısını beş saniye ara ile güncelliyor.

# multitail -s 2 -w -R 5 -l "netstat -tnp" -l "tail -F -q /var/log/qmail/send/current | tai64nlocal" -l "tail -F -q /var/log/qmail/smtp/current |tai64nlocal" -l "tail -F -q /var/log/qmail/pop3/current | tai64nlocal" -l "tail -F -q /var/log/qmail/spamd/current | tai64nlocal"

Cuma, Mart 07, 2008

Komut satırından AS,IP aralığı sorgulama;

# whois -h whois.ripe.net AS34478
# whois -h whois.ripe.net 160.75.0.0
# whois -h whois.ripe.net PERSONEL

Cuma, Şubat 08, 2008

Trunk : İki cihaz arasında birden çok fiziksel bağlantının tek bir mantıksal bağlantı olarak tanımlanmasıdır. Bu işlem özellikle trafikten kaynaklanan dar boğazların yaşandığı noktalarda çok yararlı olmaktadır. Ayrıca birden çok VLAN bilgini de aktarabilmektedir.

HP ProCurve 2800 serisi cihazlarda;
- Bir trunk gurubu için max 8 port
- Switch için max 24 trunk grubu tanımlayabiliriz.

NOT: Switch üzerinde "IP Routing" aktif durumda ise, trunk oluşturacak portlar aynı switch port grubunda olmalı.
2824 : 1-12, 13-24
2848 : 1-12, 13-24, 25-36, 37-48
LACP Trunk
Her birinde 4 port olan 6 trunk grup oluşturulabilir. Bu 4 aktif porta ayrıca standby durumda olan portlar da eklenebilir.

Dynamic LACP Trunk
Port üzerinde LACP aktif edilir ve karşı tarafta trunk ayarı varsa sistem tarafından algılanır. Bu ayarlar sadece başka bir truk'ta yer lamayan portlar için yapılabilir. Dynamic trunk içinde yer alan portlar yine aynı port gurbu içind yer almalı. Her iki uçtaki portlar aynı hızda ve duplex modta olmalı. Önerilen Auto durumunda bırakılmasıdır.
Bir arayüzü;
Trunk yapmak için;
SW(eth-48)# lacp active

Trunk'tan çıkarmak için;
SW(eth-48)# disable
SW(eth-48)# lacp passive
SW(eth-48)# enable

Static
LACP Trunk
Dynamic trunk ile aynı protokolü kullanır, ancak karşı tarafın da statik olarak ayar yapılması ve monitör porta ihtiyaç duyulması durumunda faydalı olacaktır.

Trunk'a dahil etmek için;
SW(config)# trunk 48 trk1 lacp

Trunk'tan çıkarmak için;
SW(config)# no trunk 48 trk1


Trunk Non-Protocol

Karşı taraftaki cihazın hangi protokolü kullandığını bilmediğimiz yada 802.3ad protokolü dışında bir protokolü kullanması durumunda kullanımı uygundur. Birçok HP switch de bu protokolü desteklememektedir. Yine monitör porta ihtiyaç varsa kullanılması uygun olabilir.

Faydalı Komutlar

SW(config)# show trunks
SW(config)# show lacp
SW(config)# show log lacp