MỤC LỤC
1. GIỚI THIỆU 1
1.1. DYNAMIPS : 1
1.2. DYNAGEN: 1
2. HƯỚNG DẪN SỬ DỤNG : 2
2.1. CÀI ĐẶT : 2
2.2. GIAO DIỆN TƯƠNG TÁC : 2
2.3. HARDWARE SUPPORT : 2
2.4. TẠO FILE CẤU HÌNH : 2
2.4.1. FILE “SIMPLE1.NET”: 3
2.4.2. FILE “SIMPLE2.NET”: 4
2.4.3. FILE “FRAME-RELAY1.NET”: 5
2.4.4. FILE “SW ETHSW1.NET”: 6
2.4.5. VẤN ĐỀ MULTISERVER : 7
2.5. TINH CHỈNH SERVER : 8
2.5.1. IDLEPC : 8
2.5.2. GHOST RAM : 9
1. GIỚI THIỆU
1.1. DYNAMIPS :
- Là chương trình dùng để giả lập Cisco router do Cristophe Fillot viết ra, tương tự như chương trình giả lập VMWare, tuy nhiên Dynamips sử dụng IOS thực của Cisco để giả lập router.
- Theo lời của tác giả thì Dynamips được viết ra với mục đích sau:
o Giúp mọi người làm quen với thiết bị của Cisco .
o Kiểm tra và thử nghiệm những tính năng trong Cisco IOS .
o Test các mô hình mạng trước khi đi vào cấu hình thực tế.
1.2. DYNAGEN:
- Là chương trình được viết riêng để hổ trợ cho việc cấu hình Dynamips được dễ thông qua việc:
o Tạo ra những file cấu hình đơn giản hơn rất nhiều so mới việc sử dụng chương trình Dynamips một cách độc lập.
o Cung cấp một CLI thuận tiện cho việc quản lý những router ảo với các lệnh như : list, telnet, start, stop …
2. HƯỚNG DẪN SỬ DỤNG :
2.1. CÀI ĐẶT :
- Trước hết ta phải cài đặt Winpcap( phiên bản 4.0 trở lên)
- Cài đặt chương trình Dynamips/Dynagen ( phiên bản có kết hợp Dynamips và Dynagen) được download tại địa chỉ: http://sourceforge.net/project/showfiles.php?group_id=160317
2.2. GIAO DIỆN TƯƠNG TÁC :
- Đầu tiên ta phải chạy file “Dynamips server.bat “
- Chạy file .net ( file tự cấu hình ) để chạy Dynagen.
- Từ giao diện Dynagen ta có thể thực hiện những lệnh để tương tác với những router ảo.
2.3. HARDWARE SUPPORT :
- Dyanmips/Dynagen V 0.2.7/ 0.9.0 hổ trợ một số platform sau đây với standard IOS : 2691,3620,3640, 3660, 3725, 3745, and 7206.
- Ta cần download những IOS này về và đặt chúng vào thư mục sau đây: C:\Program Files\Dynamips\images.
- Trên flatform 7200 chúng ta có thể gắn thêm những Module sau:
o C7200-IO-FE (FastEthernet, slot 0 only)
o PA-FE-TX (FastEthernet, slots 1 to 6)
o PA-4E (Ethernet, 4 ports)
o PA-8E (Ethernet, 8 ports)
o PA-4T+ (Serial, 4 ports)
o PA-8T (Serial, 8 ports)
o PA-A1 (ATM)
- Trên flatform 3600 chúng ta có thể thêm những Module sau :
o NM-1E (Ethernet, 1 port)
o NM-4E (Ethernet, 4 ports)
o NM-1FE-TX (FastEthernet, 1 port)
o NM-4T (Serial, 4 ports)
o NM-16ESW (Ethernet switch module, 16 ports)
o Leopard-2FE (Cisco 3660 FastEthernet in slot 0), automatically use.
- Trên flatform 2691/3725/3745 chúng ta có thể thêm những Module sau :
o NM-1FE-TX (FastEthernet, 1 port)
o NM-4T (Serial, 4 ports)
o NM-16ESW (Ethernet switch module, 16 ports)
o T96100-FE (2 integrated ports, automatically used)
2.4. TẠO FILE CẤU HÌNH :
- Dynagen sử dụng 1 file có phần mở rông là .net để lưu những cấu hình cho tất cả các router trong 1 mô hình mạng ảo .
- File cấu hình là những file .net được đặt trong thư mục : C:\Program Files\Dynamips\sample_labs.
- Sau đây là 1 số file cấu hình mẫu được tạo ra mặc định khi chúng ta cài Dynamips/Dynagen .
2.4.1. FILE “SIMPLE1.NET”:
Hình 1.1
# Simple lab
[localhost]
Phần này sẽ xác định là host nào sẽ chạy Dynamips. Do ở đây chúng ta sẽ chạy Dynamips và Dynagen trên cùng 1 máy nên ta sẽ dùng localhost, nếu chúng ta muốn chạy Dynamips trên máy khác chúng ta sẽ thay thế bằng địa chỉ IP hay hostname của máy muốn chạy Dynamips.
[[7200]]
Phần này được đặt với dấu ngoặc kép, ký hiệu trên có ý nghĩa là tất cả những cấu hình mặc định sẽ được áp đặt vào những thực thể router 7200 mà chúng ta đã tạo.
image = \Program Files\Dynamips\images\c7200-jk9o3s-mz.124-7a.image
Từ khóa image xác định vị trí của file IOS được sử dụng như là những ảnh mặc định được sử dụng cho những thực thể router mà chúng ta tạo
ram = 160
Từ khóa ram sẽ xác định số lượng ram mà chúng ta sẽ sử dụng cho mỗi thực thể router được tạo.
[[ROUTER R1]]
Từ khóa ROUTER giúp tạo ra 1 thực thể Router mới, chuỗi ký tự đứng sau từ khóa ROUTER sẽ là tên của Router đó, tên này không nhất thiết phải là host name của router nhưng đó là tên để chúng ta kết nối đến từ màn hình Dynagen . Ở ví dụ này chúng ta sẽ tạo 1 thực thể router với tên là R1.
s1/0 = R2 s1/0
Câu lệnh trên cho chúng ta biết là Router R1 interface serial1/0 sẽ kết nối với Router R2 cổng serial1/0. Mặc định thì dynagen sẽ cài PA-8T adapter( serial 8 port) vào slot1 nếu chúng ta không chỉ định những adapter riêng biệt cho từng slot.
[[router R2]]
Câu lệnh trên sẽ tạo ra thực thể router R2 và chúng ta không cần phải xác định bất cứ interface nào vì interface s1/0 của router R2 đã được xác định ở trên.
2.4.2. FILE “SIMPLE2.NET”:
Hình 1.2
[localhost]
[[7200]]
image = \Program Files\Dynamips\images\c7200-jk9o3s-mz.124- 7a.image
ram = 160
[[ROUTER Zapp]]
console = 2001
f0/0 = LAN 1
f1/0 = LAN 2
Với các dòng lệnh trên chúng ta sẽ tạo 1 router tên là Zapp, với từ khóa LAN thì Dynagen sẽ tự sinh ra 1 Bridge ảo, port0/1 trên được gắn vào 1 Bridge ảo với số hiệu 1, port 0/2 sẽ được gắn vào bridge với số hiệu 2, các port nào được gắn vào cùng LAN với số hiệu giống nhau sẽ được xem như là được bridge lại với nhau.
[[ROUTER Leela]]
console = 2002
f0/0 = LAN 1
f1/0 = LAN 2
[[ROUTER Kif]]
console = 2003
f0/0 = LAN 1
f1/0 = LAN 2
Như vậy với các câu lệnh trên ta sẽ có mô hình sau: F0/0 của Router Zapp, Leela, Kiff sẽ được bridge lại với nhau thông qua Bridge với số hiệu 1, F1/0 của Router Zapp, Leela, Kiff sẽ được bridge lại với nhau thông qua Bridge với số hiệu 2.
2.4.3. FILE “FRAME-RELAY1.NET”:
Hình 1.3
Đây là cấu hình mẫu của Dynagen cho việc giả lập 1 Frame-relay switch:
[localhost]
[[7200]]
image = \Program Files\Dynamips\images\c7200-jk9o3s-mz.124-7a.image
ram = 160
[[ROUTER R1]]
s1/0 = F1 1
[[ROUTER R2]]
s1/0 = F1 2
[[ROUTER R3]]
s1/0 = F1 3
Với các câu lệnh trên ta sẽ kết nối các interface serial 1/0 của 3 router R1, R2, R3 vào frame-relay switch F1 với các port tương ứng 1,2,3 trên Frame-relay switch .
[[FRSW F1]]
Từ khóa FRSW cho biết chúng ta sẽ tạo ra 1 thực thể Frame-relay switch có tên là F1 .
1:102 = 2:201
1:103 = 3:301
2:203 = 3:302
Dòng thứ 2 cho ta biết là port DLCI 102 trên port 1 sẽ được map thành DLCi 201 trên port2, tương tự đối với dòng 3 và 4 .
2.4.4. FILE “SW ETHSW1.NET”:
Hình 1.4
[localhost]
[[7200]]
image = \Program Files\Dynamips\images\c7200-jk9o3s-mz.124-7a.image
ram = 160
[[ROUTER R1]]
F1/0 = S1 1
Router R1 f1/0 sẽ được gán vào port1 Ethernet Switch S1
[[router R2]]
F1/0 = S1 2chú
Router R2 f1/0 sẽ được gán vào port2 Ethernet Switch S1
[[router R3]]
F1/0 = S1 3
Router R3 f1/0 sẽ được gán vào port3 Ethernet Switch S1
[[ethsw S1]]
Từ khóa ethsw sẽ tạo ra 1 thực thể ethernet switch với tên là S1
1 = access 1
Từ khóa access cho biết port 1 của ethernet switch sẽ là access port và thuộc VLAN1
2 = access 20
Port 2 của ethernet switch sẽ là access port nhưng thuộc VLAN20
3 = dot1q 1
Từ khóa dot1q cho biết port 3 của ethernet switch sẽ là trunk port và thuộc VLAN1
4 = dot1q 1 NIO_gen_eth:\Device\NPF_{B00A38DD-F10B-43B4-99F4-B4A078484487}
Port 4 của ethernet switch sẽ là trunkport nhưng nó nối vối ethernet card của chính máy tính đang chạy
2.4.5. VẤN ĐỀ MULTISERVER :
Nếu chúng ta cần xây dựng 1 mô hình mạng với nhiều router nhưng PC của chúng ta có thể không đủ CPU hay Ram để chạy toàn bộ bài lab, trong trường hợp này chúng ta có thể khắc phục bằng cách đặt 1 số thực thể router chạy trên 1 Server và 1 số thực thể router chạy trên những server khác. Chúng ta hãy xét file cấu hình sau đây để thấy rõ :
# A windows server (the local machine)
[10.0.0.1]
Ở đây do chúng ta muốn chạy trên nhiều server khác nhau nên ở đây ta có thể đặt địa chỉ IP của Server thứ nhất thay vì là [localhost]
[[7200]]
image = \Program Files\Dynamips\images\c7200-ik9o3s-mz.122-15.T17.image
Flatform được sử dụng là 7200
ram = 96
Ram mà server1 10.0.0.1 sử dụng cho mỗi thực thể router được tạo là 96Mb .
[[ROUTER R1]]
s1/0 = R2 s1/0
Router với tên R1 được tạo, serial s1/0 của router R1( được đặt trên server với IP 10.0.0.1)sẽ được kết nối với serial s1/0 của router R2( được đặt trên server1 với IP 10.0.0.2)
[10.0.0.2]
Server thứ 2 có IP là 10.0.0.2
[[3640]]
image = \Program Files\Dynamips\images\c3640-ik9o3s-mz.122-15.T17.image
Flatform mà router R2 sử dụng sẽ là 3640 .
ram = 100
Ram mà server2 10.0.0.2 sử dụng cho mỗi router 3640 được tạo là 100Mb.
[[ROUTER R2]]
Router có tên R2 được tạo trên server 10.0.0.2
2.5. TINH CHỈNH SERVER :
Dynamips/Dynagen khi hoạt động với những thông số mặc định thì sẽ rất tốn Ram và CPU, chỉ với 1 Router thôi thì cũng làm cho CPU usage tăng lên 100%, bởi vì Dynamips không biết khi nào thì router ảo hoạt động, khi nào thì nó idle, về bộ nhớ nếu chúng ta cấu hình ram bằng từ khóa ram thì với mô hình với 10 con router ảo, mỗi con 128Mb ram, thì chúng ta sẽ làm tiêu tốn hơn 1Gb ram cho mô hình này. Để khắc phục tình trạng này chúng ta phải cấu hình 2 tham số sau đây: idlepc để tăng tính performace của CPU và ghost ram để tiết kiệm bộ nhớ cho máy tính.
2.5.1. IDLEPC :
B1: Mở file cấu hình lên và bảo đảm rằng chỉ có 1 router đang chạy( stop những router khác nếu cần thiết).
B2: Telnet đến router đó .
B3: Chọn no nếu được nhắc “ … enter configuration dialog”.
B4: Chon yes nếu được nhắc “ …terminate autoinstall “.
B5: Trở về màn hình management console .
B6: Đánh lệnh idlepc get R1 ( R1 là tên router đang chạy ).
B7: Chọn 1 trong những giá trị có dấu * phía trước.
B8: Nếu thấy CPU usage không giảm thì quay trở lại bước 5
B9: Nếu CPU usage giảm thì ta save giá trị đó bằng lệnh :
+ idlepc save R1 db: để lưu giá trị này vào database ( giá trị này sẽ được áp dụng cho bất kỳ router nào chạy cùng IOS mà R1 đang chạy)
+ idlepc save R1 : để lưu giá trị này vào đúng router có tên R1 mà ko ảnh hưởng đến những giá trị khác( nó được gán nhờ vào định nghĩa [ROUTER R1])
+ idle pc save R1 defaults: lưu giá trị idlepc hiện thời vào flatform mà router sử dụng trong file cấu hình( ví dụ: [[7200]] ).
2.5.2. GHOST RAM :
Ghost ram là tính năng mới của Dynagen từ phiên bản 8.0.2 nó làm giảm tổng số lượng Ram cần thiết cho 1 mô hình mạng lớn, với tính năng này thay vì mỗi thực thể router được tạo ra sẽ lưu trữ 1 bản IOS giống nhau trong virtual ram của nó thì máy chủ sẽ tự tạo ra 1 vùng để chứa bộ nhớ này để nhiều thực thể router được tạo ra sẽ cùng truy xuất. Ví dụ chúng ta có 10 router được tạo ra với cùng 1 file ảnh, mỗi file ảnh được xác định là 60Mb bộ nhớ nếu chúng ta ko cấu hình GhostRam thì chúng ta sẽ phải tốn 60*10=600Mb RAM, tuy nhiên sử dụng GhostRam chúng ta sẽ tiết kiệm 9*60=540 MB Ram. Ta xét file cấu hình với 1 số option sau đây.
[[7200]]
image = /opt/7200-images/c7200-ik9o3s-mz.122-15.T17.image # Full path to 7200 IOS image file. This is the fully qualified path relative to the system running dynamips.
ram = 256 # Amount of Virtual RAM to allocate to each router instance.
nvram = 128 # Size of NVRAM
disk0 = 64 # Set size of PCMCIA ATA disk0
disk1 = 64 # Set size of PCMCIA ATA disk1
cnfg = None # Configuration file to import. This is the fully qualified path relative to the system running dynamips.
confreg = 0x2102 # Set the configuration register
clock = 2 # Clock divisor (should no longer been needed as of dynamips 0.2.5 RC1)
npe = npe-200 # NPE type.("npe-100", "npe-150", "npe-175", "npe-200", "npe-225", "npe-300", "npe-400", "npe-g1', or "npe-g2")
midplane = vxr # Midplane, either "std" or "vxr"
mmap = true # Set to false to use real memory rather than a disk file for router vitural memory. Conserves RAM at the expense of performance. Defaults to True
idlepc = 0x60719b98 # Set the Idle PC value
exec_area = 64 # Set the exec area size
configuration = ... # Base 64 encoded IOS configuration.
ghostios = true # Enable or disable IOS ghosting for all 7200s on this server
ghostsize = 128 # Manually tweak the amount of virtual ram allocated by the ghost image(s) for all 7200s on this server. Use of this option should never be necessary, because the ghost size is now automatically calculated.
sparsesmem = false # Enable or disable sparse memory support for all 7200s on this server
idlemax = 1500 # Advanced manipulation of idlepc. Applies to all 7200s on this server.
idlesleep = 30 # Advanced manipulation of idlepc. Applies to all 7200s on this server.
Không có nhận xét nào:
Đăng nhận xét