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.

QUIC nedir? HTTP/3 Geliyor!

QUIC (Quick UDP Internet Connections) Google tarafından geliştirilen http-over-quic olarak belirtebileceğimiz yeni bir protokoldür.

Daha önce SPDY teknolojisi ile http/2 protokolünün altyapısına temel yaratan Google bu sefer ikinci bir açılımla http/3’ün temel altyapısını oluşturmaya devam ediyor.

Hali hazırda TCP protokolü üzerinde çalışan http protolü, Quic ile beraber UDP protokolü üzerinden çalışacak ve varsayılan olarak şifreli olacak. TCP protolünün dezavantajlarını bir kenara bırakarak daha performanslı ve güvenli bir ortam yaratacak.

2017 yılından bu yana Google servislerinde kullanılmaya başlanılan QUIC kulllanım oranlarına buradan bakabilirsiniz.

Chrome üzerinde QUIC’i aktif etmek için aşağıdaki adımları uygulabilirsiniz.

Yeni tab açın ve url kısmına “chrome://flags/” yazın, listeden “Experimental QUIC protocol” seçerek “enabled” olarak işaretlemek ve browser’ı yeniden başlatmak yeterlidir.

QUİC hakkında aşağıda ki linklerden daha fazla detaya ulaşabilirsiniz.

https://blog.cloudflare.com/the-road-to-quic/
https://tools.ietf.org/html/draft-ietf-quic-http-16#page-4
https://www.zdnet.com/article/http-over-quic-to-be-renamed-http3/
https://docs.google.com/document/d/1gY9-YNDNAB1eip-RTPbqphgySwSNSDHLq9D5Bty4FSU/edit
https://docs.google.com/document/d/1g5nIXAIkN_Y-7XJW5K45IblHd_L2f5LTaDUDwvZ5L6g/edit

Graphical Network Simulator 3 – GNS3

GNS3 adı ile bilinen Ağ Simülasyon Uygulaması, 2008 yılından bu yana geliştirilmeye devam etmektedir. Grafik arayüz desteği ile kolay bir şekilde çeşitli ağ topolojileri oluşturabilme imkanın sunan uygulama, Open Source olması  sebebiyle ücretsiz olarak kullanılabilmekte ve geniş kitlelere ulaşmaktadır.

Günümüzde gerek sertifikasyon süreşlerine hazırlanan bireysel kullanıcılar,  gerekse şirketlerin mevcut ağ alt yapısında yapacağı iyileştirmeleri test ortamında denemeleri için ideal bir uygulamadır.

GNS3’ü neden kullanmalısınız?

  • Gerçek zamanlı ihtiyaç duyulan ağ simülasyon işlemleriniz için fiziki ağ cihazlarına yatırım yapmadan ücretsiz bir şekilde kullanabilirsiniz.
  • Bir çok ağ ekipmanı üreticisine ait ürünleri risksiz olarak sanal ortamda test edebilirsiniz.
  • Mevcut ağ yapınız ile GNS3 lab ortamınızı entegre edebilirsiniz.
  • Troubleshooting ve  proof of concept (POC) testlerinizi daha verimli ve hızlı olarak yapabilirsiniz.

GNS3  gereksinimlerine buradan ulaşabilirsiniz.

GNS3 hangi ortamlarda çalışmaktadır?

Windows, MacOS X ve Linux işletim sistemi olan masaüstü veya dizüstü bilgisayarınızda kullanabilirsiniz.

GNS3 bilgisayarınıza kuracağınız “GNS3-all-in-one software” ile tüm işlemlerinizi yürütebileceğiniz gibi, kaynak yetersizlik sorunlarını çözebilmek için  uzak bir sunucu kaynaklarını kullanarak “remote” olarak da belirtilen çalışma imkanı sağlamaktadır. Bu sayede aktif topolojinize daha fazla cihaz ekleyerek karmaşık yapılar tasarlayarak testler yapabilirsiniz.

Uygulama hakkında detaylı bilgilere GNS3 sitesi üzerinden erişebilir ve indirip kullanmaya başlayabilirsiniz.

GNS3 kurulum linkleri;

GNS3 Windows Kurulum:
GNS3 MacOS X Kurulum:
GNS3 Linux Kurulum:

Remote Server ayarları ve kurulum:

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

Junos- NTP amplification Attack Engelleme

Merhaba

Junos Network ekipmanlarında Ntp servisi default olarak kapalı gelmektedir. Fakat ntp servisini (edit system ntp) aktif ettiğinizde bazı güvenlik zafiyetleri meydana gelmektedir. Günümüzde popüler olan kullanılan NTP Amplification Ataklarına karşı mevcut network ekipmanını koruma altına almanız gerekmektedir. Genel manada mevcut switch’in Routing Engine’ı korumak için özel bir filtreniz yok ise başınız farklı saldırı tipleri ile de belada demektir. Daha önce ssh denemelerini çözümlemek açısından örnek filtreleme metodu paylaşmıştım (http://www.hidayetkurtulmus.com/tag/juniper-switch-ssh-protection ) bu sefer buna ek olarak NTP tarafında aşağıdaki örnek konfigleri loopback interface’e ekleyeceğiniz kurallar ile çözebilirsiniz.

term ntp-izinver {
from {
source-address {
izinliipadresi(x.y.z.x/32);
127.0.01;
}
protocol udp;
port ntp;
}
then accept;
}

term ntp-engelle {
from {
protocol udp;
port ntp;
}
then {
discard;
}
}

Download trafiğini limitleme işlemi

Mehraba

Elinizde Juniper network ekipmanı olabilir ve müşterinize Download trafiğini limitlemek isteyebilirsiniz. Bu noktada Class of service (CoS)’in shaping özelliğini kullanarak müşterizin bağlı bulunduğu port için tanımla yapmanız gerekecektir.

Örneklemek gerekirse; Müşterinize elinizde bulunan Ex Serisi herhangi bir switch üzerinde ge-0/0/0 portu üzerinden internet erişimi sağladığınızı ve bu müşteriye 10 Mbit/s erişim hızı sunacağınızı planladığınızda aşağıdaki komutu kullanarak sorunsuzca download tarafında limit koyabilirsiniz.


set class-of-service interfaces ge-0/0/0 shaping-rate 10m
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

VPN Error 806

VPN erişim sağlamaya çalıştığınızda Error 806 hatası alıyor olabilirsiniz, hata erişim sağladığınız cihaz ile vpn sunucusu arasında erişimin sağlanmamasından dolayı kaynaklanmaktadır. Sorunun nedeni PPTP üzerinden vpn erişimi sağlarken GRE protokolü kullanılamıyor olmasındandır. Erişim sağladığınız cihazlarda firewall yazılımı mevcut ise veya mevcut internete eriştiğini noktada bir firewall cihaz’ı var ise IP protokol 47(GRE)’e geliş ve gidiş yönünde izin verirseniz sorun giderilmiş olacaktır.