Junos Next Generation Routing Engine Software Upgrade

Yıllar önce Ex Serisi switchler için Junos Upgrade işlemi nasıl yapılacağını paylaşmıştım ve geçen uzun zaman sonrasında yeni ekipmanları aktif etmek için süreci tekrarlayacağım fakat arada bir kaç küçük fark ile Next Generation Routing Engine(NG-RE) için Upgrade işlemini yapacağım.

Next Generation Routing Engine nedir? sorusunun yanıtını verdiğimize göre üreticiden gelen ekipmanı hızlıca upgrade edelim.

Upgrade işlemini USB Stick ile yapacağım, öncelikle USB’yi mount edeceğiz ve dosyayı cihaz üzerinde /var/tmp/ klasörüne kopyalayacağız.

Router’a root kullanıcı adı ile giriş yapıyoruz, cihaz yeni olduğu için herhangi bir şifre bulunmamaktadır.

FreeBSD/amd64 (Amnesiac) (ttyu0)

login: root
Last login: Tue Sep 18 09:35:03 on ttyu0

— JUNOS 15.1F7.3 Kernel 64-bit JNPR-10.3-20170209.344539_build

root kullanıcısı ile giriş yaptığımız için direkt olarak shell’e düşmüş durumdayız.
[email protected]:~ #

ls /dev/da* komutu ile usb stick’e ait sürücüyü bulacağız.(USB nasıl mount edilir?)

[email protected]:~ # ls /dev/da*

/dev/da0 /dev/da0s1

Sonrasında sürücüyü /var/tmp/ dizini altına yeni bir klasör yaratarak mount edeceğiz.

[email protected]:~ # mkdir /var/tmp/usb
[email protected]:~ # mount_msdosfs /dev/da0s1 /var/tmp/usb

ls komutu ile klasör içerisindeki dosyaları kontrol ediyoruz.

[email protected]:~ # ls /var/tmp/usb

System Volume Information
junos-vmhost-install-mx-x86-64-16.1R7-S2.1.tgz

cp komutu ile /var/tmp klasörüne dosyayı kopyalıyoruz.

[email protected]:~ #cp /var/tmp/usb/junos-vmhost-install-mx-x86-64-16.1R7-S2.1.tgz /var/tmp/

Kopyalama işlemi bittikten sonra umount işlemi yapacağız ve sonrasında cli’a geçerek kurulum yapacağız.

[email protected]:~ # umount /var/tmp/usb/
[email protected]:~ # cli
root>

Önce ki nesil Routing Engine’larda “request system software
add” komutu ile upgrade işlemi yapılırken, sanallaştırılmış ortamda çalışan yeni nesil Routing Engine’lar request vmhost software add” komutu ile upgrade yapılabilmektedir. Diğer bir farklılık ise geleneksel dosya paketlerinin ismi “junos-install” adı ile başlarken yeni nesilde “junos-vmhost-install” adı ile başlamaktadır.

Kaldığımız yerden devam edelim… Daha önce indirmiş olduğum dosyayı test ettiğim için “no-validate” parametresi ile kurulumu hızlıca tek bir Routing Engine üzerinde tamamlayacağım, sizin eliniz çift routing engine varsa süreci tekrarlamanız gerekecektir.

Upgrade öncesinde sistemin snapshot‘ını alarak olası problemde eski versiyona dönüşü sağlayağım.

root> request system snapshot recovery re0
re0:
————————————————————————–
Creating image …

Compressing image …
Image size is 1188MB
Recovery snapshot created successfully

Gelelim upgrade işlemine; Aşağıdaki komut ile Routing Engine 0(re0)’ı upgrade edeceğiz ve Routing Engine yeniden başlayacak.

root> request vmhost software add re0 no-validate /var/tmp/junos-vmhost-install-mx-x86-64-16.1R7-S2.1.tgz reboot

Upgrade işlemi sonrasında işte sonuç…

root> show version invoke-on all-routing-engines |grep “Junos: 16.1R7-S2.1”

Junos: 16.1R7-S2.1

Not: İlgili işlemler production ortamında yapılmamıştır bu sebeple best practise için kullanılan bazı parametreler dikkate alınmamıştır. Bu sebeple production ortamda yapacağız işlemler için Juniper’a ait dökümanlarına göz atınız.

Juniper Next Generation Routing Engine nedir?

Ağ kullanım alanlarının genişlemesiyle, ağ ekipmanları üzerinden geçen trafik hızlı bir şekilde artmaktadır. Her geçen gün artan bu kapasite ile cihazlar üzerindeki kaynakların yetersizliği zaman içerisinde çeşitli sorunlara yol açabileceği gibi, operasyonel olarak daha fazla iş yükü getirmektedir.

Bu sebeple cihazlar üzerinde kullanılan Routing Engine’lar zaman içerisinde farklı ASIC/CPU, RAM gibi ek kaynaklar ile desteklenmekte ve güncel seriler üretilerek kullanıcılara sunulmaktadır.

Juniper Router modellerine göre desteklediği Routing Engine listesine buradan ulaşabilirsiniz.

Next Generation Routing Engine(NG-RE) nedir?

Next Generation Routing Engine(NG-RE) modellerinin farklılığı ise yeni FreeBSD sürümü ile beraber(Junos with Upgraded FreeBSD) sadece 64 bit sürüm desteği ile sanallaştırma platformu üzerinde(kvm/qemu) guest vm olarak çalışması ve Secure boot özelliğini desteklemesidir.

İlgili ekipmanlara ait daha fazla teknik detay için lütfen tıklayınız.

Juniper EX Serisi Switchlere IP Tanımlama

Juniper Ağ ekipmanlarını yeni kullanmaya başlayan kullanıcıların ilk yapmak istedikleri işlemlerden bir tanesi IP tanımlama işlemidir.

İlgili ekipmanları kutusundan çıkartıp ilk defa kullanmak istediğinizde L2 olarak varsayılan çalıştığını göreceksiniz. Tüm portlar “default” vlan üzerinde çalışacak çekilde gelen cihaz’a IP verme işlemi ise burada başlamaktadır. Switch üzerindeki “default” vlan’a IP vererek ve sonrasında “Default route” yazarak switch’i Management Portu(me0) haricinde erişilebilir duruma getireceğiz.

Öncelikle cihaz’a console kablosu ile erişmeniz ve önünüze gelen kullanıcı ekranına “root” yazmanız gerekmektedir. Cihaz’da ilk erişim için şifre olmadığı için enter işlemi ile şifresiz olarak switch’e login olabilirsiniz.

Bu süreç ardından switch’e root kullanıcı ile girdiğiniz için shell komut satırına girdiğinizi göreceksiniz.

Cihaz’a tanımlamaları yapabilmek için ilk olarak CLI arabirimine giriş yapmanız gerekmektedir.Aşağıdaki “cli” komutunu yazıp enter işlemi yapabilirsiniz.

[email protected]:RE:0%cli
Enter

Bir sonraki aşamada ise konfigürasyon yapabilmek için, “configure”komutunu kullanmanız gerekiyor.
[email protected]> configure
Enter

Bu aşamaya kadar cihaz’a şifresiniz giriş yapmış ve tüm ayarları yapabileceğiniz Configure Mode’a geçiş yapmış bulunmaktasınız. Bundan sonraki süreçte switch’E IP tanımlama, “Default Route” işlemi ve Root kullanıcısına şifre vererek aşamaları tamamlayacağız.

[email protected]#

L2 olarak çalışan switch’i routing yapabilmesi için Default VlAN’a IP vermek ve RVI özelliğini kazandırmamız gerekiyor.RVI ne diye soracak olursanız “Routed Vlan Interface” tanımlamasının kısaltmasıdır.Detaylı bilgi için buraya göz atabilirsiniz.

Gelelim default vlan’a RVI özelliği kazandırmaya ve IP vermeye;
Juniper switchlerde vlan id “0” sadece default vlan ile kullanılabilmektedir. RVI’ı hangi vlan id üzerinde aktif etmemiz gerektiği aşağıdaki tanımlama ile yapılmakta ve ardından test olarak 4.4.4.2 IP tanımlaması yapılmaktadır.

[email protected]#set vlans default l3-interface vlan.0
[email protected]#set interfaces vlan unit 0 family inet address 4.4.4.2/24

Ardından default route yazalım. Aşağıdaki tanımlama switch üzerinki tüm trafiği gateway adresi olan 4.4.4.1’e yönlendirmeyi içermektedir.
[email protected]#set routing-options static route 0.0.0.0/0 next-hop 4.4.4.1

Root kullanıcı şifresini belirleyelim. Aşağıdaki komutu girip enter tuşuna basarak, ardındna iki defa aynı şifreyi tekrarlamanız gerekmektedir.

[email protected]#set system root-authentication encrypted-password

Ve son olarak yapılan ayarları kaydetmek için “commit” komutunu kullanınız.

[email protected]#commit

Böylelikle cihaz’a IP tanımlama işlemini yapmış bulunmaktayız. Fakat switch factory default ayar ile ssh ve http servisleri kapalı gelmektedir. Unutmadan ihtiyacınız olan servisi aktif etmenizde fayda olacaktır.

İlgili servisleri aktif etmek için örnek komutlara buradan ulaşabilirsiniz.

Junos – Web Erişim aktifleştirme

Selamlar

Junos çalışan bir network ekipmanı kullancaksanız ve cli’a pek hakim değilseniz aşağıdaki komutlar ile switch’i web arayüzü üzerinden erişebilir duruma getirebilirsiniz.

HTTP Port 80 aktif etmek;

set system services web-management http port 80
commit

HTTPS Port 443’ü aktif etmek;
set system services web-management https port 443
set system services web-management https system-generated-certificate
commit

Missing privilege separation directory: /var/empty

Merhaba

Juniper network ekipmanına ssh ile erişmek istediğinizde problem yaşıyorsanız ve logları incelediğinizde aşağıdaki şekilde hata alıyorsanız. Çözümü konusunda aşağıdaki adımları uygulayabilirsiniz.

Dec 20 12:56:26 c80 sshd[24597]: fatal: Missing privilege separation directory: /var/empty

Öncelikle ssh servisini kapatın. >
delete system services ssh
commit

Ardından arabirimde shell’e geçiş yapmanız gerelecektir.
start shell

var dizini altında empty klasörünün olduğunu doğrulayın yoksa ilgili klasörü yaratın ve yetkilendirmeyi yapın.
ls /var/empty
mkdir /var/empty
chown root:wheel /var/empty
chmod 555 /var/empty
exit

Ardından ssh’dan çıkıp ssh servisini tekrar aktif edin.
set system services ssh
commit

Ex serisi cihazlarda Multicast sorunu

Juniper tarafında switch ekipmanlarını yeni kullanıyorsanız zaman zaman fabrika ayarları ile gelen tanımlamalar başınızı ağrıtabilir. Bunlardan bir tanesi ise igmp snooping özelliğinin tüm vlanlar için aktif olarak gelmesidir. İlgili ayar aktifken switch’e bağlı sunucular birbirleri ile multicast erişimde problem yaşamaktadır. Bunu sorunu ortadan kaldırmak için ise aşağıdaki komutu yazmanız yeterlidir.

delete protocols igmp-snooping vlan all
commit

Juniper cihazlarda snmp konfigürasyonu

Junos işletim sistemi olan cihazlarda snmp servisi pasif durumda gelmektedir. SNMP ayarlarını basitçe aktif etmek için aşağıdaki örnek komutları uygulayabilirsiniz.

SNMP community aşağıdaki şekilde ayarlanmaktadır. İlgili komut ile cihaz üzerinden j”uniper” community adı ile sadece bilgi çekebilirsiniz.

set snmp community juniper authorization read-only
commit

Detaylı snmp ayarları için ise http://www.juniper.net/techpubs/en_US/junos10.4/topics/task/configuration/snmp-configuring-junos-nm.html adresinden detaylı snmp özelliklerine göz atabilirsiniz.

uplink failure detection (UFD)

Uplink failure detection Junos 11.1 ile gelen Ex Serisi Switchlerde uplink portunda meydana gelebilecek sorun sonrasında down linklere müdahale edebilmek için meydana getirilmiş bir özelliktir. Bu özellik sayesinde yedekli çalışan sistemlerde veri akışının yönünü diğer ethernet portlarına kaydırarak devamlılığı sağlayabilmekteyiz.

Örnek verecek olursak günümüzde yedekli ağlarda, son cihazlar(Sunucular) direkt olarak iki adet farklı switch’e bağlı durumdadır ve bu bağlı olan portlara genelde aynı ip adresleri verilerek aktif ve pasif olarak kullanılmaktadır. Aktif port üzerinden veriler geçmekte olup, pasif port ise olası arızada devamlılığı sağlamak için beklemektedir. Fakat sunucu üzerindeki bu sistem aktif olan porta bağlı kabloda bir sorun olursa(Link down olursa) yükü diğerine aktarmaktadır. Fakat böyle bir durumda aktif port’un bağlı bulunduğu switch’in ana link’inde bir arıza meydana geldiğinde sunucu üzerindeki yedekli yapı bir işe yaramayacaktır. Böyle bir soruna maruz kalmamak için uplink failure detection (UFD) özelliğini kullanmak oldukça hayat kurtarıcıdır. Sistem özetle Switch’in uplink portunda fiziksel bir arıza meydana gelirse , down linkte bulunan ethernet portunu pasif duruma getirmeye yaramaktadır.

Ayrıca ilgili özelliği malesef RVI olarak tanımlanmış portlarda kullanılmamaktadır bunun dışında Aggregate portlarda da down link olarak tanımlama yapılamamaktadır.

Konfigürasyon adımlarında ise aşağıdaki komutları kullanabilirsiniz

1-UFD için grup tanımlanır

[email protected]# set protocols uplink-failure-detection group ufd-test

2-) Grup içerisine monitor edilmesi gereken uplink port yazılır.

[email protected]# set protocols uplink-failure-detection group ufd-test link-to-monitor ge-0/0/0

3) Uplinkte sorun oluştuğunda pasif edilmesi gereken down link portu yazılır.

[email protected]# set protocols uplink-failure-detection group ufd-test link-to-disable ge-0/0/1

4 ) Konfig onaylanır

[email protected]# commit

Yapılan ayarların çalışırlığını kontrol etmek için ise aşağıdaki adımları uygulayabilirsiniz

1 )Uplink failure-detection duruma bakmak için aşağıdaki komut uygulanır.
[email protected]> show uplink-failure-detection
Group : ufd-test
Uplink : ge-0/0/0*
Downlink : ge-0/0/1*
Failure Action : Inactive

Aksiyon inaktif durumdadır. Herhangi bir port kapama işlemi yapılmadığını anlayabilmekteyiz.

Not:(*) Karakteri portların up olduğunu gösterir

2 ) Uplink portunu switch üzerinde test için pasif duruma getirilir.

[email protected]# set interface ge-0/0/0 disable
[email protected]# commit

3 ) Uplink failure-detection durumuna tekrar bakılır.
[email protected]> show uplink-failure-detection
Group : ufd-test
Uplink : ge-0/0/0
Downlink : ge-0/0/1
Failure Action : Active

Aksiyon durumu Aktive olarak değiştiğini gözlemlediğimizde problemsiz çalıştığını görebilmekteyiz.

Juniper Ex2200’e Virtual Chassis özelliği geldi.

Junos 12.2R1 ile beraber Juniper Ex 2200 switchlere Virtual Chassis özelliği geldi. 4 adet Ex 2200’u Virtual Chassis konfigürasyonu yaparak aktif olarak kullanılabilecek. Temel Virtual-Chassis tanımlamaları ve Ex serisi cihazların Virtual Chassis destekleri konusunda aşağıdaki link üzerinden bilgi alabilirsiniz.

http://www.juniper.net/techpubs/en_US/junos12.2/topics/concept/virtual-chassis-ex4200-overview.html

Juniper cihazlarda primary partition boot sorunu

Junos versiyon 10 ile beraber gelen dual partition özelliği ile işletim sistemi primary ve secondary olmak üzerine çift partition’a sahip duruma geldi. junos işletim sisteminde primary partiton’ın da meydana çıkabilecek soruna istinaden sistem backup partion üzerinden boot edebilmektedir. Cihazın açılması ardından aşağıdaki çıktıyı göreceksiniz. Sorunu gidermek için request system snapshot slice alternate komutu ile primary partion’ı düzeltilmesini sağlayarak reboot sonrasında primary partion üzerinden açılmasını sağlayabilirsiniz

***********************************************************************

** **

** WARNING: THIS DEVICE HAS BOOTED FROM THE BACKUP JUNOS IMAGE **

** **

** It is possible that the active copy of JUNOS failed to boot up **

** properly, and so this device has booted from the backup copy. **

** **

** Please re-install JUNOS to recover the active copy in case **

** it has been corrupted. **

** **

***********************************************************************