Saturday, July 23, 2011

Giao diện dòng lệnh của Juniper router_Juniper router command line interface


Sau khi đã boot vào được router và các software cần thiết đã được loaded, ta sẽ vào một môi trường dòng lệnh để làm việc với router. Môi trường này gọi là command-line interface – CLI.

JUNOS CLI có 2 mode là operational mode và configuration mode.

-Operational mode: hiển thị trạng thái hiện tại của router, sử dụng để kiểm tra và troubleshoot router.
-Configuration mode: cung cấp cho ta một phương thức cho việc hiệu chỉnh router.

1.Operational Mode

Sau khi đã đăng nhập được vào router, ta sẽ gặp môi trường dòng lệnh của router, để vào operational mode, ta sử dụng câu lệnh cli. Dấu nhắc lệnh có dạng
username@hostname>




JUNOS sử dụng một cấu trúc lệnh dạng phân cấp (hierarchy). Các câu lệnh được lưu trữ theo từng level. Cũng giống như khi làm việc với một thiết bị router của Cisco, tại level hiện tại, nếu muốn xem có những câu lệnh nào, ta có thể sử dụng dấu hỏi (?) để liệt kê:



2.Configuration mode

Đây là mode để ta có thể cấu hình cho router, từ operational mode gõ configure để vào configuration mode. Khi đã vào mode này, dấu nhắc lệnh sẽ có dạng:



Dòng [edit] nói cho ta biết đang ở top level trong cách phân bố các câu lệnh.
Từ trong configuration mode, muốn thực hiện các tác vụ của operational mode, sử dụng lệnh run. Ví dụ:


Như đã nói, CLI trong JUNOS được sắp xếp theo dạng hierarchy, các câu lệnh được phân cấp theo từng cấp độ (level), ngay sau khi vào configuration mode, ta đang ở top level. Có thể hình dung (một phần) như sau:




Dòng thông báo sau mỗi câu lệnh nói cho ta biết hiện đang ở level nào


Từ level thấp muốn lên level cao, sử dụng câu lệnh up



3.Cấu hình cho router

TRong quá trình đi vào từng level dòng lệnh, ta có thể chỉnh sửa cấu hình tại mỗi level. Sử dụng câu lệnh set hoặc delete

Hostname hiện tại là JunOS. Ta có thể vào level system và sử dụng câu lệnh set để thiết lập hostname mới.




4.Candidate configuration

Như đã thấy ở trên, sau khi set hostname là Cuong, trong dấu nhắc lệnh vẫn để hostname là JunOS chưa hề bị đổi. Điều này là do trong Juniper router có sử dụng một cơ chế gọi là candidate configuration. Các cấu hình vừa thực hiện sẽ được lưu vào một file gọi là candidate configuration và không hề ảnh hưởng đến cấu hình hiện tại được gọi là active configuration.

Nếu muốn apply những cấu hình vừa thực hiện thì cần phải sử dụng câu lệnh commit.


Trong quá trình cấu hình, nếu muốn xem những gì đang được cấu hình (candidate configuration) và so sánh với active configuration, có thể sử dụng câu lệnh compare kết hợp với lệnh show và pipe để hiển thị.


Dấu + nói cho ta biết rằng thông số đó đang ở candidate configuration và chưa đc đưa vào active configuration. Dấu - nói cho biết, ta vừa mới xóa thông số đó của router.

5.Lưu và load cấu hình

-Lưu cấu hình hiện tại
Để lưu cấu hình hiện tại, sử dụng câu lệnh save. Câu lệnh save sẽ lưu cấu hình hiện tại vào trong một file đc xác định.


Với câu lệnh save confi_file, cấu hình hiện tại đã được lưu vào file confi_file. Nếu đã có file trùng tên thì file đó sẽ bị overwrite.

-Load cấu hình
Có 2 tùy chọn cho ta để load cấu hình.
  • +Một là sử dụng option replace(đối với JUNOS bản 9.6, với một số JUNOS cũ có thể là option override) để ghi đè lên cấu hình hiện tại
  • +Hai là sử dụng option merge để ghi thêm vào cấu hình hiện tại.



6.Restore lại cấu hình cũ

Mỗi lần câu lệnh commit được thực hiện, cấu hình hiện tại sẽ được lưu lại. JUNOS cho phép ta lưu trữ 9 file cấu hình để sử dụng. Các files này được đặt tên và đánh dấu theo thứ tự từ 1 đến 9. Cấu hình hiện tại đang chạy là 0. Nơi lưư trữ các file này nằm trong thư mục /config.


Sử dụng lệnh rollback cùng với option là number từ 1-9 để restore file tương ứng.


Friday, July 22, 2011

Qúa trình boot của JUNOS_JUNOS software boot sequence

JUNOS có thể được lưu trữ tại 3 nơi: internal flash disk, hard drive, removable media. Mỗi nơi đều có khả năng load software vào bộ nhớ và boot router.

Boot media chính là internal flash disk. Tiếp theo là hard drive. Removable media thường dùng vào các mục đích recovery.

Khi router boot nó sẽ chạy một POST để xác nhận lại các yếu tố cơ bản của hệ thống đang hoạt động bình thường. Sau đó router sẽ đặt một bản copy của JUNOS và load lên bộ nhớ.


Thứ tự boot như sau: removeable media(nếu được đưa vào router) -> flash drive -> hard drive



Với mỗi media, nếu tìm thấy một bản JUNOS có thể boot được thì sẽ boot từ media đó, nếu ko thấy sẽ tìm đến media tiếp theo.

Khi flash drive có vấn đề và phải boot từ hard drive, trog quá trình boot sẽ hiện lên thông báo cho ta biết.

login: user
Password:
--- JUNOS 5.3R1.2 built 2002-04-30 01:40:52 UTC
---
--- NOTICE: System is running on alternate media device (/dev/ad1s1a).
---
user@JunOS>

Thursday, July 21, 2011

Kiến trúc của Juniper router_Juniper router architecture


Juniper Network Router architecture

1.Thiết kế của Juniper router

Router của Juniper được thiết kế dựa trên 2 thành phần chính là thành phần điều khiển(control) và chuyển tiếp(forwarding). TRong router của Juniper thì 2 thành phần đó là Routing Engine(RE) và Packet Forwarding Engine(RFE).

Hai thành phần này được thiết kế một cách riêng rẽ với nhau, mỗi thành phần thực hiện một chức năng riêng trong việc xử lý packet của router.


2.Routing Engine(RE)

2.1.Chức năng chính của RE:

-Cung cấp môi trường giao tiếp với người quản trị(CLI, user authetication ...)
-Cung cấp môi trường quản lý, cấu hình, troubleshoot thiết bị (các công cụ như ping,traceroute...đều hoạt động trên RE.
-Lưu trữ JUNOS
-Là nơi xử lý các routing protocol, các vấn đề về routing table.

2.2.Thành phần vật lý

RE cũng là nơi lưư trữ chính của router. Các thành phần vật lý bao gồm:
-Một CPU của Intel, nhiệm vụ là chạy JUNOS
-SDRAM lưu trữ routing table, forwarding table, các process khác.
-Compact Flash: cung cấp nơi lưu trữ JUNOS images,
-Hard disk cung cấp nơi lưu trữ dự phòng.

TÓM LẠI: RE LÀ NƠI CUNG CẤP CÁC DỊCH VỤ TRÊN LAYER-3 VÀ VIỆC QUẢN TRỊ HỆ THỐNG (NETWORK MANAGEMENT)

3.Packet Forwarding Engine

3.1.Chức năng chính của PFE

-Chức năng chính của PFE là cung cấp một bộ chuyển (switching) cho layer-2 và layer-3. PFE thực hiện những chức năng này thông qua việc sử dụng Application Specific Intergrated Circuits(ASICs).

3.2.Cấu trúc vật lý của PFE

PFE có các thành phần chính là:
-Physical Interface card
-Flexible PIC Concentrator.
-Switching control board

Mỗi một thành phần chứa một ASIC để thực hiện các tác vụ định trước trong việc forward packets.

Wednesday, July 20, 2011

Cài đặt JUNOS Olive trên VMware workstation

Đối với một người muốn tự học về mạng máy tính thì việc có các chương trình giả lập để học là hết sức cần thiết. 
Tôi cũng chỉ là một người mới bắt đầu tìm hiểu về các công nghệ của Juniper, để viết được những dòng này, tôi cũng đã phải bỏ ra mất vài ngày để hiểu được các khái niệm, thuật ngữ và cách để có một môi trường simulation cho việc học JUNIPER. TRong quá trình google tìm thông tin thì hầu như chưa có một bài nào hướng dẫn cách cài đặt JUNOS Olive để học bằng TIẾNG VIỆT. Đối với các tut bằng tiếng Anh thì rất nhiều. Cho nên xin nói trước là bài này không phải do tôi tự sáng tác mà nói cho đúng thì là dịch tut cho mọi người. 

Tôi sẽ cố gắng explain các thuật ngữ liên quan để cung cấp một cái nhìn dễ hiểu nhất. Mọi thứ đều từ Google mà ra :).

1.JUNOS Olive là gì?

Nếu như trong Cisco, người ta đưa ra khái niệm IOS để nói về các hệ điều hành dành cho các thiết bị mạng như router, switch, firewall... thì bên Juniper, người ta đưa ra một khái niệm tương đương là JUNOS.
JUNOS là hệ điều hành được based trên nền FreeBSD.
Olive là code name được sử dụng để gán cho các JUNOS chạy trên một PC thay vì chạy trên một thiết bị của JUNIPER.

2.Cài đặt JUNOS Olive.

Để cài đặt Olive, đây là một số công cụ bắt buộc phải có:
-Một bản mini FreeBSD, tôi đang sử dụng bản 4.11. Download:ftp://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/i386/ISO-IMAGES/4.11/4.11-RELEASE-i386-miniinst.iso
-Một virtual machine để cài đặt Free BSD. Tôi đang sử dụng VMware Workstation 7.x
-Một bản JUNOS. Tôi đang sử dụng bản jinstall-9.6R1.13-export-signed.tgz, nếu muốn có thể tự google với tên trên sẽ có link download.

Các bước cài đặt:
-Tạo một máy ảo để cài đặt FreeBSD.
-Cài đặt JUNOS lên FreeBSD.
Tiến hành:

+Tạo một máy ảo để cài đặt FreeBSD.

Việc tạo một máy ảo(virtual machine) trên VMWare sẽ ko được nói ra ở đây. Tôi sẽ chỉ nói về việc cài đặt FreeBSD trên vm mà thôi. 
Lưu ý: sau khi tạo vm xong, chưa khởi động ngay mà tìm đến file .vmx mở bằng notepad hoặc một text editor nào đó, chỉnh sửa một entry như sau:

scsi0.present = "TRUE"

đổi thành:

scsi0.present = "FALSE"

vì JunOS chưa hỗ trợ scsi.
Tiến hành khởi động vm để cài đặt.
======
Khởi động vào FreeBSD:

Chọn việc cài đặt

Sau khi chọn bỏ qua cấu hình kernel, ta sẽ vào "fdisk" để xử lý với disk.


Ở đây, ta sẽ sử dụng toàn bộ dung lượng đĩa, bấm phím A để chọn toàn bộ. Bấm Q để thoát khỏi fdisk. 


Sau khi thoát ra fdisk, ta sẽ chọn cài đặt Boot manager:


Phân chia các partition cho FreeBSD. Dung lượng cho các partitions như sau:
/ (root) : 1G
swap: 1,5G
/config: 1G
/var: dung lượng còn lại

Để tạo mới một partition, ta bấm C, nhập dung lượng cho partition đó, có thể sử dụng đơn vị mà M cho megabytes, G cho Gigabytes.


Tương tự để tạo các partitions đã nói trên


Sau khi phân chia partitions xong, bấm Q để quay lại màn hình cài đặt FreeBSD. Chọn Exit và lựa chọn cài đặt từ đĩa



Chọn OK để tiến hành cài đặt FreeBSD. Đợi đến khi xuất hiện màn hình báo thành công.


Sau khi đã cài đặt xong, hệ thống sẽ yêu cầu cấu hình một vài dịch vụ. Có một vài dịch vụ ko cần thiết thì có thể bỏ qua.

Ethernet or SLIP/PPP: no
Network gateway: no
Configure inetd: no
Anonymous FTP: no
NFS server: no
NFS client: no
Default security profile: no
Customize console settings: no
Time zone: no
Enable Linux binary: no
non-USB: no
Package collection: no

Bắt đầu tạo account cho các users:

Chọn User:


Điền login ID, password


Thiết lập pass cho root



General configuration: no

Thoát khỏi trình cài đặt, reboot và login vào FreeBSD



Như vậy ta đã có một FreeBSD box. Đến đây nên tạo một snapshot cho vm trước khi bắt đầu bước tiếp theo

+Cài đặt JUNOS Olive lên FreeBSD

Yêu cầu đã có file cài đặt JUNOS trên thư mục /var/tmp. Đối với file cài đặt, cần phải tinh chỉnh một số bước Các bước tiến hành:

# ls
jinstall-9.6R1.13-export-signed.tgz vi.recover
# pwd
/var/tmp
# mkdir jinst-signed
# cd jinst-signed/
# tar zxvf ../jinstall-9.6R1.13-export-signed.tgz
# mkdir jinst
# cd jinst
# tar zxvf ../jinstall-9.6R1.13-export.tgz
# mkdir pkgtools
# cd pkgtools
# tar zxvf ../pkgtools.tgz
# cd bin/
# cp /usr/bin/true ./checkpic
# cd ..
# tar zcvf ../pkgtools.tgz *
# cd ..
# rm -rf pkgtools
# tar zcfv /var/tmp/jinstall-9.6R1.13-export-olive.tgz *
Sau khi đã chỉnh sửa file xong, tiến hành cài đặt

Như vậy đã cài đặt xong, hệ thống yêu cầu khởi động lại, nhưng tạm thời chưa reboot ngay. Ta cần phải chỉnh sửa file /boot/loader.conf, thêm dòng
console="vidconsole"


Đến đây là đã xong. Reboot lại hệ thống để hoàn tất cài đặt.

Sau khi khởi động lại, đợi quá trình cài đặt JUNOS Olive hoàn tất. Hệ thống sẽ khởi động lại khoảng 2 lần. Đợi vài phút để quá trình cài đặt hoàn tất.


----Naming conventions for JUNOS----


NHƯ VẬY, TÔI ĐÃ HƯỚNG DẪN CÀI ĐẶT JUNOS OLIVE TRÊN VMWARE WORKSTATION. CẦN CÂU ĐÃ CÓ, CÙNG ĐI CÂU THÔI.