Thursday, February 17, 2011

Unequal Cost Path Load Balancing in IGRP & EIGRP

->>>
Về cơ bản, cân bằng tải tên router là khả năng phân phối các gói tin trên các port có tuyến kết nối đến một địa chỉ đích nào đó. Điều này tối ưu việc sử dụng băng thông trên các tuyến kết nối khác nhau để tránh trường hợp lưu lượng thông tin ( traffic) làm quá tải ( overload) một tuyến truyền dẫn trong khi tuyến khác lại ở trạng thái rỗi. Tùy theo loại thiết bị và giao thức mà Router có thể thực hiện các cân bằng tải theo những giải thuật khác nhau nhưng nhìn chung chỉ có 2 loại : cân bằng tải trên các tuyến cùng khoảng cách , còn gọi là metric, ( equal cost load balancing) và cân bằng tải trên các tuyến khác metric. ( unequal load balancing).

Trong phạm vi giới hạn, bài viết chỉ đề cập đến cách thức Router chạy EGIRP thực hiện cân bằng tải trên các tuyến kết nối không cùng metric ( unequal load balancing).

Cân bằng tải trong EIGRP.

Hầu như tất cả các giao thức định tuyến ( Routing Protocol) đều hỗ trợ cân khả năng cân bằng tải trên các tuyến có khoảng cách bằng nhau. Thêm vào đó, bằng cách nhân thêm hệ số ( gọi là biến variance) vào các metric, IGRP và EIGRP còn có thể thực hiện cân bằng tải trên các tuyến kết nối khác nhau.

Lệnh variance đưa ra một tham số n ( user defined, ranging from 1 to 128) mà theo đó router sẽ cân bằng tải trên tất cả các tuyến có metric nhở hơn tích của tuyến có metric nhỏ nhất và n.

Giả sử có x1, x2, x3… tuyến từ A đến B, mỗi tuyến có metric là m1, m2, m3… thì các tuyến mà router sẽ thực hiện cân bằng tải phải có metric nhỏ hơn hoặc bằng

Metric of Eligible Load Balancing Links < Min (m1, m2, m3…) * n

Một điểm cấn lưu ý là khi đó việc phân phối dữ liệu qua các tuyến kết nối sẽ được thực hiện theo tỉ lệ tương xứng với metric của nó.

Một ví dụ minh họa như sau:



Trong sơ đồ trên, có 3 tuyến đến mạng X với metric như sau:
(hop-hop-hop/metric)

- E-B-A/30
- E-C-A/20
- E-D-A/45

Theo thường lệ, Router E sẽ chọn đường thứ 2, E-C-A/20, để chuyển các các gói tin đến mạng X, tuy vậy, bằng cách dùng lệnh variance, Rouer E cũng có thể thực hiện cân bằng tải qua tuyến E-B-A.

Cấu hình như sau:

router eigrp 1
network x.x.x.x
variance 2


Trong trường hợp này n bằng 2, metric nhỏ nhất của các tuyến Min (m1, m2, m3…) = 20 nên theo công thức trên Min (m1, m2, m3…) * n = 40, vậy 2 tuyến có thể cân bằng tải là E-C-A/20 và E-B-A/30.

Vậy nếu chọn n bằng 3, liệu Router có phân phối tải trên cả 3 tuyến hay không?

Câu trả lời là không với EIGRP do E-D-A/45 không phải là tuyến kế thích hợp (feasible successor ) sau tuyến chính E-C-A (successor). Phần này sẽ được giải thích chi tiết hơn trong các bài viết khác về EIGRP.

Sau khi đã chọn được các tuyến thích hợp Router sẽ phân phối tải dựa theo lệnh traffic-share.

Xét cấu hình sau:

router eigrp 1
network x.x.x.x
variance 2
traffic-share balanced

!... cân bằng tải trên các tuyến dựa theo tỉ lệ metric của chúng

Với đường E-C-A: 30/20 =3/2 =1
Với đường E-B-A: 30/30 =1

Do các tỉ số này được làm tròn về số nguyên ( integer) nên lúc này tải được cân bằng theo tỉ lệ 1-1 trên cả 2 tuyến.

Bây giờ giả sử, E-B=25 và B-A=15 thì metric tuyến E-B-A sẽ là 40 bằng với Min (m1, m2, m3…) * n = 40 nên sẽ bị loại ra khỏi danh sách các tuyến được phân phối tải. Tăng n lên 3 thì Router sẽ tiếp tục chia tải theo tỉ số 2/1 như sau:

- E-C-A : 40/20=2
- E-B-A: 40/40=1

Vậy cứ 2 gói tin được chuyển qua E-C-A thì lại có 1 gói qua E-B-A.

Trong cấu hình sau, Router chỉ gửi các gói tin qua tuyến nào co metric nhỏ nhất (E-C-A), ngay cả khi có nhiều tuyến khác nằm trong bảng Routing của nó.

router eigrp 1
network x.x.x.x
variance 3
traffic-share min across-interfaces

!... chỉ gửi gói tin qua tuyến có metric nhỏ nhất

Khi EIGRP là bản “Enhanced” của IGRP nên cơ chế và cách cấu hình cân bằng tải là như nhau.
<<<-
để mình giải thích nốt ý của bạn themask
theo mô hình trên thì router E sẽ có 3 RD ( report distance - khoảng cách từ thằng neighbor tới đích mà router E nhận được)
+ RD (E-B-A) : 10
+ RD (E-C-A) : 10
+ RD (E-D-A) : 25
và FD ( feasible distance - khoảng cách ngắn nhất tới đích ) ở đây sẽ là 20 (E-C-A)
vì RD luôn phải nhỏ hơn FD mà RD ( E-D-A ) > FD ----> tuyến này sẽ không được lựa chọn 

Load balancing với EIGRP

hi anh Minh!

Nhưng ở trạng thái bình thường default, đối với giao thức EIGRP trong routing table chỉ chứa maximum là 4 routes cho the same destination. EIGRP hỗ trợ tối đa 6 routes cho the same destination (cho cả unequal load balancing or equal load balancing). Nhân đây em cũng có một thắc mắc là khi ta set giá trị variance do vậy tạo được nhiều hơn 6 routes thì sẽ bỏ routes nào. Giả sử có 8 routes thoả mãn variance x best metric, nhưng trong đó có 4 routes cùng metric thì lúc này Router sẽ dựa vào paramaters nào để loại bỏ đi 2 routes.
Mong được anh chỉ giáo thêm. :lol:

thân chào! 

CP/IP:

Nếu có nhiều routes nằm trong range hợp lệ, những routes đó sẽ được cập nhật vào bảng routing table. Tuy nhiên, có một điều cần chú ý là chỉ những feasible distance successor mới được load-balacing.

Vậy, trong câu hỏi của bạn, những route nào không phải là feasible successor thì sẽ không được load-balancing.

Chúc thành công, 

chào anh Minh!

Ở đây 8 routes của này đều là feasible successor hết nên được xét để load-balancing. Vấn đề ở đây là EIGRP chỉ support tối đa là 6 routes thôi. Có nghĩa là EIGRP chỉ cập nhật tối đa 6 routes đến cùng destination vào trong một Routing table. Điều này em chỉ đọc lý thuyết, phải chăng trên Lab thực EIGRP cập nhật tất cả các routes trong range hợp lệ? Nếu trên Lab thực sự như vậy thì mong anh confirm giúp em nhé.

chân thành cảm ơn anh nhiều. 

:P Ah!Cho e hỏi vài điều nhe
1.Như thế nào là 1 feasible successor route
2.Nếu là load-balancing,thì chỉ có 2 route nên dễ phân chia,1 packet theo route này,1 theo route còn lại.Nhưng trong trường hợp load-sharing nhiều route như các sưhuynh vừa nêu,số packet sẽ được phân chia cho mỗi route như thế nào.
3.Có phải là ta khôngthể áp dụng load-sharing đốivới các TCP traffic không?
Đây là những thắc mắc từ lâu của e đấy,mong nhận được chỉdẫn
Mến
"Người đi trước rước ngườiđi sau"
 1.Như thế nào là 1 feasible successor route

- EIGRP hoạt động dựa trên ba bảng database:
• bảng routing-table
• bảng topology
• bảng neighbor

Bảng routing-table là nơi chứa các đường đi tốt nhất. Bảng topology là nơi chứa các đường đi có thể đến một network nào đó. Bảng neighbor lưu thông tin về các routers lận cận.

Feasible successor route là các route được lưu trong bảng topology. Theo một nghĩa bình dân, đây là nơi chứa các route dự bị cho route tốt nhất. Khi đường đi tốt nhất bị down, router sẽ tìm kiếm đường đi dự bị từ bảng topology này.


2.Nếu là load-balancing,thì chỉ có 2 route nên dễ phân chia,1 packet theo route này,1 theo route còn lại.Nhưng trong trường hợp load-sharing nhiều route như các sưhuynh vừa nêu,số packet sẽ được phân chia cho mỗi route như thế nào:

Để có thể qui định cách thức load-sharing cho nhiều routes, ta có thể dùng lệnh trong router-mod :

#traffic-share

Ở chế độ mặc định, traffic sẽ được phân phối tỉ lệ với metric:
ví dụ: nếu variance được đặt bằng 3, routes tốt nhất sẽ phải chịu traffic nhiều gấp 3 lần routes xấu nhất.

Để một routes được tham gia vào quá trình unequal-load sharing, cần thêm điều kiện sau đây phải thõa mãn:

+ Nếu thêm routes này vào thì không được vượt quá số routes tối đa đã đợc định nghĩa bằng maximum-path

Do đó, trong câu hỏi của bạn TCP/IP, các routes nào vượt qua maximum-paths 6 sẽ không được tham gia vào quá trình load-sharing. Câu hỏi kế tiếp là nếu vậy thì những routes nào sẽ bị loại bỏ, mình sẽ nghiên cứu chi tiết và trả lời cho bạnTCP/IP.

3.Có phải là ta khôngthể áp dụng load-sharing đốivới các TCP traffic không?

PAT or NAT?

EIRGP variance

EIRGP variance 

Câu hỏi:

Đây là 1 câu hỏi trong *******, câu trả lời là E nhưng tôi thấy chưa rõ ràng lắm.các bạn có y kiến gì về câu hỏi này



There are five paths from router TK to a given destination. The local EIGRP metrics (on router TK) for
these paths are as follows:

Local

----------------------------
Path 1: 1500
Path 2: 1500
Path 3: 2000
Path 4: 4000
Path 5: 4000
Which variance 3 configured on Router TK, which paths are included in TK’s routing table to get the
destination?
A. path 1, 2, and 4
B. path 1, 2, and 3
C. path 1, 2, and 5
D. path 1, 2, 4, and 5
E. path 1, 2, 3, 4, and 5  

Trả lời : 

Fugacar,

Ở trạng thái bình thường, router chỉ chọn route nào có metric là thấp nhất.

Ví dụ: để đến network 10.0.0.0 có ba đường đi có metric lần lượt là 1500, 2000, 4000.
Khi đó, route có metric là 1500 sẽ được chọn do có metric thấp nhất.

Nếu, để đến network 10.0.0.0 có thêm một đường đi nào đó có metric là là 1500, đường đi đó cũng sẽ được cập nhật vào bảng routing-table. Để đến network 10.0.0.0 trong trường hợp này như vậy là có thể có hai route. Trạng thái này gọi là load-balancing. trong trạng thái load-balancing nêu trên, metric của hai route phải bằng nhau nên còn có một tên gọi khác là equal-metric load-balancing.

Bây giờ, giả sử Fugacar muốn vẫn dùng các routes có metric cao hơn giá trị metric tốt nhất. Nói cách khác, bạn muốn chia tải trên các routes có metric cao hơn (kém hơn), bạn sẽ phải dùng đến un-equal load-balancing.

Các routing protocol như IGRP/EIGRP có hỗ trợ un-equal cost load-balancing.

Để cấu hình cơ chế này, bạn dùng lệnh:

Router(config-router)variance [x 1-128]

trong đó x được tính là hệ số nhân của metric tốt nhất đối với metric xấu nhất (cao nhất).

Quay trở lại ví dụ ở đầu, để dùng luôn route có metric là 4000, hệ số x xủa bạn phải là:

4000/1500 ~ 3

và lệnh bạn dùng sẽ là variance 3

Khi bạn dùng variance 3, tất cả các routes có metric từ 1500 đến 3x1500 sẽ được cập nhật vào bảng routes.

Nếu bạn dùng lệnh #variance 6, tất cả các routes từ khoảng 1500 đến 9000 sẽ được cập nhật vào bảng routing-tables.

Bây giờ quay trở lại câu hỏi của bạn, nếu bạn hiểu những gì được trình bày ở trên, đáp án của câu hỏi sẽ là...........


Monday, February 14, 2011

Spanning tree protocol(stp)

STP(Spanning tree Protocol) là một giao thức ngăn chặn sự lặp vòng, cho phép các Switch truyền thông với nhau để phát hiện vòng lặp vật lý trong mạng.STP sử dụng thuật toán STA(spanning tree Algorithm) để bầu chọn ra Root Switch. 



Vòng l
ặp xảy ra trong mạng với nhiều nguyên nhân. Hầu hết các nguyên nhân thông thường là kết quả của việc cố gắng tính toán để cung cấp khả năng d phòng, trong trường hợp này, một link hoặc switch bị hỏng, các link hoặc switch khác vẫn tiếp tục hoạt động, tuy nhiên các vòng lặp cũng có thể xảy ra do lỗi
+
Cơ chế SYN giữa các Switch để tìm ra root Bridge




STP bidge ID(BID) gồm 8 byte.Trong đó 2 byte đầu là priority và 6 byte còn lại là System ID(địa chỉ MAC của switch) SID phải là duy nhất.
STP định ra BPDU(bridge protocol data units), Thông điệp này được trao đổi giữa các switch với nhau để trao đổi thông tin về nhau.Thông điệp này được gọi là Hello BPDU.Các Switch Sẽ so sánh các BPDU của nó với nhau để tìm ra root Bridge
Gói Hello bao gồm các trường
Field
Description
Root bridge ID
Bridge ID của Switch gửi gói Hello để tìm ra root Switch
Sender’s bridge ID
Bridge ID của switch gửi gói Hello
Cost to reach root
STP cost giữa các Switch và root hiện tại
Timer values on the root switch
Bao gồm Hello timer,MaxAge timer và Forward Delay timer

L
ựa chọn Root switch
Root Switch là switch có giá trị bridge ID nhỏ nhất
Bridge ID:priority(2 byte) + System ID(6 byte)
PRIORITY
SYSTEM ID
2 BYTES
6 BYTES

Các Switch sẽ so sánh priority với nhau, priority nhỏ hơn sẽ đóng vai trò Root Bridge.
Nếu Priority bằng nhau, Các Switch sẽ so sánh Sys ID và cũng lấy SID nào nhỏ nhất làm root Bridge


Quá trình trao đổi BPDUs giữa các Switch
Đầu tiên các switch sẽ gửi ra gói Hello BPDUs,khi đó các Switch sẽ so sánh các BPDUs của nhau để tìm ra BPDUs nào có Bridge ID thấp nhất(Superior Hello).Sau đó nó sẽ forward các superior Hello và ngưng việc quảng cáo ra BPDUs mà bản thân nó là root
Hình ảnh



Chọn ra Root Port
Trên các non root Bridge sẽ chọn ra cho nó chỉ 1 root port(RP).RP là interface mà có số Cost nhỏ nhất để đến root Bridge.Switch sẽ cộng cost của root với cost của chính nó trong cùng 1 segment.
Chọn ra Designated port
Mặc định thì các port còn lại trên Root Bridge là Designated port(DP)
Port còn lại trên non root bridge có cost đến root bridge là thấp nhất sẽ được chọn làm DP
Nếu cost bằng nhau thì nó sẽ so sánh Bridge ID và BRID nào nhỏ hơn sẽ được làm DP
Chọn ra non Designated port
Port còn lại có cost đến root bridge cao nhất sẽ là Non DP và bị block
Chỉ khi nào đường kia hư thì mới dung đường này

Cảm ơn bạn đã xem--Chúc Bạn thành công
 


Ủng hộ chủ thớt bài lab STP 802.1D nè:
Lab Topo:

Yêu cầu:
  • Tạo VLAN 10, 20, 30 trên cả 3 switch SW1, SW2 & SW3
  • Cấu hình PVST sao cho:
    • Đối với VLAN 10:
      • SW1 là root switch
      • Port F0/2 trên SW3 & port F0/2 trên SW2 là root port
    • Đối với VLAN 20:
      • SW2 là root switch
      • Port F0/2 trên SW1 là Designated Port, Port F0/1 trên SW3 là Non-Designated Port.
    • Đối với VLAN 30:
      • SW3 là root switch

Sử dụng lệnh show spanning-tree vlan 1 để xác định BID của các switch như sau:
  • SW1: Priority 32769 , Address 0014.1c2c.3e80
  • SW2: Priority 32769, Address 0009.e8fb.b980
  • SW3: Priority 32769, Address 0014.1c2c.cd00
Tạo VLAN 10, 20, 30 trên SW1, SW2, SW3 như sau:
SW1(config)#vlan 10,20,30

Trước khi cấu hình STP, kiểm tra đảm bảo các kết nối giữa các switch UP và được cấu hình trunk cho phép VLAN10, 20, 30 đi qua.

Cấu hình STP mode PVST trên tất cả các switch:
SW1(config)#spanning-tree mode pvst

Cấu hình đối với VLAN 10:
So sánh các BID mặc định của các switch, bạn dễ dàng nhận thấy SW2 sẽ là root switch cho cả 3 vlan 10,20 & 30. Để SW1 là root switch của vlan 10, bạn phải thay đổi BID của SW1 thành nhỏ nhất bằng cách cấu hình spanning-tree vlan 10 root primary hoặc giảm BID Priority xuống. Lưu ý bước nhảy của BID Priority là 4096. Cấu hình như sau:
SW1(config)#spanning-tree vlan 10 priority 28672

Kiểm tra:
SW1(config)#do sho span vl 10

VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 28682
Address 0014.1c2c.3e80
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec

Bridge ID Priority 28682 (priority 28672 sys-id-ext 10)
Address 0014.1c2c.3e80
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 15

Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Desg FWD 19 128.1 P2p
Fa0/2 Desg FWD 19 128.2 P2p

SW2#sho span vl 10

VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 28682
Address 0014.1c2c.3e80
Cost 19
Port 2 (FastEthernet0/2)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec

Bridge ID Priority 32778 (priority 32768 sys-id-ext 10)
Address 0009.e8fb.b980
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300

Interface Port ID Designated Port ID
Name Prio.Nbr Cost Sts Cost Bridge ID Prio.Nbr
---------------- -------- --------- --- --------- -------------------- --------
Fa0/1 128.1 19 FWD 19 32778 0009.e8fb.b980 128.1
Fa0/2 128.2 19 FWD 0 28682 0014.1c2c.3e80 128.1

SW3(config-if)#do sho span vl 10

VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 28682
Address 0014.1c2c.3e80
Cost 19
Port 1 (FastEthernet0/1)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec

Bridge ID Priority 32778 (priority 32768 sys-id-ext 10)
Address 0014.1c2c.cd00
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300

Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Root FWD 19 128.1 P2p
Fa0/2 Altn BLK 19 128.2 P2p

Hiện nay Port F0/2 trên SW3 đang là Non-Designated Port. Để Port F0/2 trên SW3 là Root Port bạn có 2 cách:
1. Giảm cost của F0/2 của SW2 & F0/2 SW3 xuống sao cho tổng cost của 2 port này < 38
2. Tăng cost của F0/1 SW3 lên >38.
SW3(config)# interface FastEthernet0/1
SW3(config-if)# spanning-tree vlan 10 cost 39

Kiểm tra:
SW3(config-if)#do sho span vl 10

VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 28682
Address 0014.1c2c.3e80
Cost 38
Port 2 (FastEthernet0/2)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec

Bridge ID Priority 32778 (priority 32768 sys-id-ext 10)
Address 0014.1c2c.cd00
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 15

Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Altn BLK 39 128.1 P2p
Fa0/2 Root FWD 19 128.2 P2p

Cấu hình đối với VLAN 20:
Mặc định SW2 có BID thấp nhất do vậy bạn không cần thay đổi BID. Kiểm tra cấu hình cho thấy:
SW2#sho span vl 20

VLAN0020
Spanning tree enabled protocol ieee
Root ID Priority 32788
Address 0009.e8fb.b980
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec

Bridge ID Priority 32788 (priority 32768 sys-id-ext 20)
Address 0009.e8fb.b980
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300

Interface Port ID Designated Port ID
Name Prio.Nbr Cost Sts Cost Bridge ID Prio.Nbr
---------------- -------- --------- --- --------- -------------------- --------
Fa0/1 128.1 19 FWD 0 32788 0009.e8fb.b980 128.1
Fa0/2 128.2 19 FWD 0 32788 0009.e8fb.b980 128.2

SW1#sho span vl 20

VLAN0020
Spanning tree enabled protocol ieee
Root ID Priority 32788
Address 0009.e8fb.b980
Cost 19
Port 1 (FastEthernet0/1)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec

Bridge ID Priority 32788 (priority 32768 sys-id-ext 20)
Address 0014.1c2c.3e80
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300

Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Root FWD 19 128.1 P2p
Fa0/2 Desg FWD 19 128.2 P2p


SW3(config-if)#do sho span vl 20

VLAN0020
Spanning tree enabled protocol ieee
Root ID Priority 32788
Address 0009.e8fb.b980
Cost 19
Port 2 (FastEthernet0/2)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec

Bridge ID Priority 32788 (priority 32768 sys-id-ext 20)
Address 0014.1c2c.cd00
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300

Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Altn BLK 19 128.1 P2p
Fa0/2 Root FWD 19 128.2 P2p

Hiện nay Port F0/1 trên SW3 đang là Non-Designated Port. Do BPDU cost gửi ra cổng F0/1 SW3 & F0/2 SW1 có cost bẳng nhau (19). Do vậy để bầu chọn Designated Port trên segment giữa SW1 & SW3, port trên switch có BID nhỏ hơn sẽ là Designated Port. Trong trường hợp này SW1 BID < SW3 BID, do vậy F0/2 SW1 là DP. Để thay đổi F0/1 SW1 thành DP, bạn cần tăng BID SW1 < BID SW3. Cấu hình như sau:
SW1(config)#span vl 20 priority 36864
Kiểm tra:
SW1(config)#do sho span vl 20

VLAN0020
Spanning tree enabled protocol ieee
Root ID Priority 24596
Address 0009.e8fb.b980
Cost 21
Port 1 (FastEthernet0/1)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec

Bridge ID Priority 36884 (priority 36864 sys-id-ext 20)
Address 0014.1c2c.3e80
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300

Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Root FWD 21 128.1 P2p
Fa0/2 Altn BLK 19 128.2 P2p
SW3#sho span vl 20

VLAN0020
Spanning tree enabled protocol ieee
Root ID Priority 24596
Address 0009.e8fb.b980
Cost 19
Port 2 (FastEthernet0/2)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec

Bridge ID Priority 32788 (priority 32768 sys-id-ext 20)
Address 0014.1c2c.cd00
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300

Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Desg FWD 19 128.1 P2p
Fa0/2 Root FWD 19 128.2 P2p

Cấu hình đối với VLAN 30:
SW3(config)#spanning-tree vlan 30 root primary

SW3(config)#do sho span vl 30

Thursday, February 10, 2011

Cisco router 880 và kết nối thông qua giao diện 3G

Mình có một anh bạn được tặng một router 880 series của Cisco, router này chỉ có mỗi giao diện Cellular 0 để kết nối vào internet thực chất giao diện này là một modem 3G có gắn sẵn SIM của Vinaphone. Ngoài ra thiết bị còn có 4 giao diện Ethernet để cho các máy tính trong LAN kết nối internet thông qua giao diện Cellular kia

Do không có tài liệu đi kèm nên mình mò trên Internet để cấu hình thử, kết quả là báo lỗi tùm lum (khi debug dialer thấy rất nhiều lỗi mà mình không thể giải quyết nổi).

Vậy xin nhờ admin, mod và các bạn hỗ trợ dùm.

Mình gửi các thông tin liên quan đến thiết bị này ngay sau đây.

P/S: SIM 3G của Vinaphone vẫn kết nối internet bình thường nếu dùng với USB 3G lắp ngoài.

__________

Giao diện Cellular 0


Router#show interfaces cellular 0
Cellular0 is down, line protocol is down
Hardware is 3G Modem-HSPA/UMTS/EDGE/GPRS-850/900/1800/1900/2100MHz / Global
MTU 1500 bytes, BW 237 Kbit/sec, DLY 100000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation PPP, LCP Closed, loopback not set
Keepalive not supported
Last input never, output never, output hang never
Last clearing of "show interface" counters never
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: weighted fair
Output queue: 0/1000/64/0 (size/max total/threshold/drops)
Conversations 0/0/16 (active/max active/max total)
Reserved Conversations 0/0 (allocated/max allocated)
Available Bandwidth 177 kilobits/sec
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
0 packets input, 0 bytes, 0 no buffer
Received 0 broadcasts (0 IP multicasts)
0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
0 packets output, 0 bytes, 0 underruns
0 output errors, 0 collisions, 2 interface resets
0 unknown protocol drops
0 output buffer failures, 0 output buffers swapped out
0 carrier transitions
DCD=up DSR=up DTR=up RTS=up CTS=up

Router#


Router#show cellular 0 security
Card Holder Verification (CHV1) = Disabled
SIM Status = OK
SIM User Operation Required = None
Number of Retries remaining = 3
Router#

Router#show cellular 0 network
Current Service Status = Normal, Service Error = None
Current Service = Combined
Packet Service = EDGE (Attached)
Packet Session Status = Inactive
Current Roaming Status = Home
Network Selection Mode = Automatic
Country = VNM, Network = GPC
Mobile Country Code (MCC) = 452
Mobile Network Code (MNC) = 2
Location Area Code (LAC) = 132
Routing Area Code (RAC) = 132
Cell ID = 30253
Primary Scrambling Code = 0
PLMN Selection = Automatic
Registered PLMN = , Abbreviated =
Service Provider = VINAPHONE
Router#


Router#show ip int brief
Interface IP-Address OK? Method Status Protocol
Cellular0 unassigned YES manual down down
Dialer2 unassigned YES manual up up
FastEthernet0 unassigned YES unset up down
FastEthernet1 unassigned YES unset up down
FastEthernet2 unassigned YES unset up down
FastEthernet3 unassigned YES unset up down
Vlan1 unassigned YES unset up down
Router#


Show version
Router#show version
Cisco IOS Software, C880 Software (C880DATA-UNIVERSALK9-M), Version 15.1(2)T1, R
ELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2010 by Cisco Systems, Inc.
Compiled Wed 11-Aug-10 18:20 by prod_rel_team

ROM: System Bootstrap, Version 12.4(22r)YB5, RELEASE SOFTWARE (fc1)

Router uptime is 13 minutes
System returned to ROM by reload at 04:34:50 UTC Fri Jan 21 2011
System image file is "flash:c880data-universalk9-mz.151-2.T1.bin"
Last reload type: Normal Reload
Last reload reason: Reload Command


This product contains cryptographic features and is subject to United
States and local country laws governing import, export, transfer and
use. Delivery of Cisco cryptographic products does not imply
third-party authority to import, export, distribute or use encryption.
Importers, exporters, distributors and users are responsible for
compliance with U.S. and local country laws. By using this product you
agree to comply with applicable laws and regulations. If you are unable
to comply with U.S. and local laws, return this product immediately.

A summary of U.S. laws governing Cisco cryptographic products may be found at:
http://www.cisco.com/wwl/export/crypto/tool/stqrg.html

If you require further assistance please contact us by sending email to
export@cisco.com.

Cisco 888G (MPC8300) processor (revision 1.0) with 236544K/25600K bytes of memor
y.
Processor board ID FHK144974YG

1 DSL controller
4 FastEthernet interfaces
2 terminal lines
1 Virtual Private Network (VPN) Module
1 Cellular interface
256K bytes of non-volatile configuration memory.
125440K bytes of ATA CompactFlash (Read/Write)


License Info:

License UDI:

-------------------------------------------------
Device# PID SN
-------------------------------------------------
*0 CISCO888G-K9 FHK144974YG



License Information for 'c880-data'
License Level: advipservices Type: Permanent
Next reboot license Level: advipservices


Configuration register is 0x2102


Đây là cấu hình của router


Router#show run
Building configuration...

Current configuration : 1449 bytes
!
! Last configuration change at 04:42:05 UTC Fri Jan 21 2011
!
version 15.1
no service pad
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname Router
!
boot-start-marker
boot-end-marker
!
!
!
no aaa new-model
!
memory-size iomem 10
crypto pki token default removal timeout 0
!
!
ip source-route
!
!
!
!
!
ip cef
no ipv6 cef
!
!
multilink bundle-name authenticated
chat-script vinaphone "" "ATDT*99*1#" timeout 60 "CONNECT"
license udi pid CISCO888G-K9 sn FHK144974YG
!
!
!
!
!
!
controller DSL 0
!
controller Cellular 0
!
!
!
!
!
!
!
!
interface FastEthernet0
!
interface FastEthernet1
!
interface FastEthernet2
!
interface FastEthernet3
!
interface Cellular0
no ip address
ip virtual-reassembly in
encapsulation ppp
dialer in-band
dialer pool-member 2
async mode interactive
!
interface Vlan1
no ip address
!
interface Dialer2
ip address negotiated
encapsulation ppp
dialer pool 2
dialer idle-timeout 0
dialer string viettel
dialer persistent
dialer-group 2
ppp ipcp dns request
!
ip forward-protocol nd
no ip http server
no ip http secure-server
!
!
ip route 0.0.0.0 0.0.0.0 Dialer2
!
logging esm config
dialer-list 2 protocol ip permit
!
!
!
!
!
control-plane
!
!
line con 0
no modem enable
line aux 0
line 3
script dialer vinaphone
no exec
speed 237000
line vty 0 4
login
transport input all
!
end

Router#


Và đây là lỗi khi router khởi tạo kết nối


Router#
*Jan 21 0401.231: Ce0 DDR: re-enable timeout
*Jan 21 0402.231: Ce0 DDR: rotor dialout [best] least recent failure is also
most recent failure
*Jan 21 0402.231: Ce0 DDR: rotor dialout [best] also has most recent failure

*Jan 21 0402.231: Ce0 DDR: rotor dialout [best]
*Jan 21 0402.231: Di2 DDR: Nailing up the Dialer profile [attempt 72]
*Jan 21 0402.231: Di2 DDR: Dialer dialing - persistent dialer profile
*Jan 21 0402.231: Ce0 DDR: Dialing cause Persistent Dialer Profile
*Jan 21 0402.231: Ce0 DDR: Attempting to dial vinaphone
*Jan 21 0402.231: CHAT3: Attempting async line dialer script
*Jan 21 0402.231: CHAT3: Dialing using Modem script: vinaphone & System scri
pt: none
*Jan 21 0402.231: CHAT3: process started
*Jan 21 0402.231: CHAT3: Asserting DTR
*Jan 21 0402.231: CHAT3: Chat script vinaphone started
*Jan 21 0407.235: CHAT3: Chat script vinaphone finished, status = Connection
timed out; remote host not responding
*Jan 21 0407.235: Ce0 DDR: disconnecting call


Rất momg được sự hỗ trợ từ các bạn.


modem có quay số đi rồi đó bạn. Nhưng cái chatscript "vinaphone" chưa đúng.

Để quay số 3G của Vinaphone thì bạn phải dùng số nào?

Wednesday, February 9, 2011

DHCP Snooping, DAI và IP Source Guard

I. Giảm tấn công giả mạo
Kẻ tấn công có thể gởi thông tin giả mạo để “đánh lừa” Switch hay những máy tính nhằm chuyển tiếp luồng dữ liệu đến của người dùng đến gateway giả. Mục đích của kẻ tấn công là trở thành “man-in-the-middle”, khi máy tính người dùng gởi dữ liệu đến gateway để ra mạng bên ngoài, máy tính của kẻ tấn công sẽ trở thành gateway trong trường hợp này. Kẻ tấn công có thể phân tích nội dung của mỗi gói dữ liệu được gởi đến trước khi thực hiện chuyển tiếp thông thường. Với tính năng của Cisco Catalyst: DHCP Snooping, IP source guard và dynamic ARP (DAI) cho phép ngăn chặn một số loại tấn công dạng này.

II. DHCP Snooping
Một Server DHCP thông thường cung cấp những thông tin cơ bản cho một máy tính hoạt động trên mạng. Ví dụ: máy tính người dùng có thể nhận địa chỉ IP, địa chỉ gateway, địa chỉ DNS... Giả sử kẻ tấn công xây dựng một Server DHCP giả trong cùng mạng với máy tính người dùng, và khi máy tính người dùng thực hiện gởi broadcast DHCP Request, khi đó Server DHCP giả có thể sẽ gởi thông tin trả lời và máy tính người dùng sẽ dùng Server DHCP giả làm gateway. Lúc này tất cả luồng dữ liệu gởi ra mạng bên ngoài đều sẽ đi qua gateway giả và kẻ tấn công sẽ thực hiện phân tích và biết được nội dụng của dữ liệu sau đó gói được chuyển tiếp đi như bình thường. Đây là một dạng tấn công “man-in-the-middle”, kẻ tấn công thay đổi đường đi của gói dữ liệu mà người dùng không thể nhận biết.
Với DHCP Snooping sẽ giúp ngăn chặn loại tấn công này loại này. Khi DHCP được kích hoạt, cổng trên Switch sẽ phân loại thành cổng tin cậy (trusted) và không tin cậy (untrusted).
Cổng tin cậy cho phép nhận DHCP Reply hay cổng được kết nối với Server DHCP, trong khi cổng không tin cậy chỉ cho phép nhận DHCP Request hay cổng kết nối với máy tính người dùng. Nếu Server DHCP giả gắn vào cổng không tin cậy và gởi DHCP Reply thì gói Reply sẽ bị loại bỏ.
DHCP Snooping sẽ thực hiện phân tích gói DHCP Request và Reply, xây dựng bảng cơ sở dữ liệu về địa chỉ IP được cấp, địa chỉ MAC, thông tin cổng... mà máy tính đó thuộc.

1. Cấu hình DHCP Snooping
Kích hoạt tính năng DHCP Snooping
SW(config)#ip dhcp snooping
Tính năng information option cho phép mang thông tin về cổng mà máy tính đó thuộc khi thực hiện DHCP request, tuy nhiên tùy chọn này buộc Server DHCP phải hổ trợ, trong trường hợp không cần thiết bạn nên tắt tính năng này
SW(config)#no ip dhcp snooping information option

Xác định tính năng DHCP Snooping trên VLAN
SW(config)#ip dhcp snooping vlan 1

Xác định cổng tin cậy

SW(config)#interface fa0/24
SW(config-if)#ip dhcp snooping trust

2. Kiểm tra

Địa chỉ IP được cấp trên Server DHCP


Switch xây dựng bảng cơ sở dữ liệu dựa vào thông tin của DHCP Request và Reply



Thông tin cổng tin cậy



Trong một số trường hợp kẻ tấn công có thể thực hiện DHCP Request với địa chỉ MAC giả, sử dụng hết dãy địa chỉ trên Server DHCP. Và Server DHCP không còn địa chỉ để cấp cho người dùng khác . Để hạn chế DHCP Snooping cho phép giới hạn tốc độ gói Request được gởi

SW(config)#interface range fa0/1 - 2
SW(config-if-range)#ip dhcp snooping limit rate 10



II. Dynamic ARP Inspection

PC thường dùng ARP để phẩn giải một địa chỉ MAC không biết khi địa chỉ IP được biết. Khi địa chỉ MAC được cần để một gói có thể được gởi. PC gởi broadcast ARP Request mà chứa địa chỉ IP của PC cần tìm địac chỉ MAC. Nếu có bất kỳ PC nàu dùng địa chỉ IP đó, nó sẽ trả lời địa chỉ MAC tương ứng. Tuy nhiên một ARP Reply có thể được tạo ra mà không cần ARP Request hay còn gọi là (gratuituos ARP), để cho những PC khác trong mạng có thể cập nhật bảng ARP khi có sự thay đổu xảy ra. Lợi dụng điều này kẻ tân cống thực hiện gởi gratuituos ARP với thông tin giả, nó sẽ thay thể địa chỉ MAC của nó với địa chỉ của IP gateway thay vì địa chỉ MAC của gateway, điều này sẽ buộc máy nạn nhân thay đổi lại bảng ARP với thông tin sai, đây là dạng tấn công “ARP spoofing” được xem như man-in-the-middle, gói dữ liệu sẽ đến gateway giả trước khi được chuyến tiếp đến đích.



Tính năng DAI ( Dynamic ARP inspection) có thể ngăn chặn loại tấn công này. DAI làm việc tương tu với DHCP Snooping, tất cà các cổng sẽ phân loại thành tin cậy và không tin cậy. Switch sẽ thực hiện phân tích hợp lệ của ARP Request và Reply trên cổng không tin cập nơi mà cở sở dữ liệu của DHCP Snooping đã xây dựng trước đó, nếu nội dung của gói ARP Re quest hay Reply bao gồm MAC và IP mà khác so với giá trị trong cơ sở dữ liệu được xây dựng trước đó gói sẽ bị loại bỏ. Cổng tin cậy sẽ không thực hiện kiểm tra gói ARP Request và Reply.
Hành động này ngăn chặn sự không hợp lệ hay gói ARP giả mạo được gởi.

1. Cấu hình

Trạng thái bảng ARP trên PC2



Thực hiện ARP spoofingvới ứng dụng Switchsnarf trên PC1
Xác định cổng mà gói ARP giả mạo sẽ được gởi


Chọn Scan Network để tìm PC trên mạng
Chọn PC mà có phần DescriptionSniffable, chọn Start Spoofing



Thực hiện Telnet từ PC2



Bảng ARP trên PC2 bị thay đổi



Dùng Wireshark để thực hiện phân tích nội dung gói



Gói Telnet gởi đến PC1 trước khi đến Router



Trong trường hợp nếu DHCP Snooping đã được cấu hình trước đó, bạn chỉ cần xác định VLAN sử dụng tính năng DAI

SW(config)#ip arp inspection vlan 1

Xác định cổng tin cậy (tất cả các cổng còn lại là không tin cậy)

SW(config)#interface fa0/24

SW(config-if)#ip arp inspection trust

2. Kiểm tra
Chạy lại ứng dụng Switchsnarf trên PC1, thông tin log cho biết gói ARP Reply không hợp lệ bị loại bỏ

00:54:51: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Res) on Fa0/1, vlan 1.([001b.fc36.ecdd/192.168.1.3/0007.0e9a.0dc0/192.168.1.1/00:54:51 UTC Mon Mar 1 1993])
00:54:51: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Res) on Fa0/1, vlan 1.([001b.fc36.ecdd/192.168.1.1/001b.fc36.ece4/192.168.1.3/00:54:51 UTC Mon Mar 1 1993])
Trong trường hợp nếu như PC2 khai báo địa chỉ tĩnh, Switch sẽ không có thông tin để kiểm tra, bạn có thể xây dựng thông tin tĩnh để kiểm tra sự giả mạo

SW(config)#arp access-list ARPINSPECT
SW(config-arp-nacl)#permit ip host 192.168.1.3 mac host 001B.FC36.ECE4

SW(config)#ip arp inspection filter ARPINSPECT vlan 1



Mặc định DAI chỉ kiểm sự vi phạm dựa vào nội dung của gói ARP, mà không kiểm tra giá trị của header của gói ARP. Thực hiện câu lệnh sau khi cần kiểm tra thêm giá trị header của gói ARP

SW(config)#ip arp inspection validate ?
dst-mac Validate destination MAC address
ip Validate IP addresses
src-mac Validate source MAC address


  • Src-mac: Kiểm tra đại chỉ MAC nguồn trong header Ethernet với địa chỉ MAC của nguời gởi trong gói ARP Reply
  • Det-mac: Kiểm tra địa chỉ MAC đích trong Ethernet header với địa chỉ MAC đích trong gói ARP Reply
  • IP: Kiểm tra địa chỉ IP của người gởi trong tất cả các gói ARP Request, kiểm tra địa chỉ IP của thiết bị gởi với địa chỉ IP đích trong tất cả gói ARP Reply