/*auto readmore*/ /*auto readmore*/ /* an hien script*/ // an hien password /*an hien ma chuong trinh cong tru */ /*Scrollbox thanh cuon*/ /***Nhung CODE***/ /* dòng xanh dòng trắng */ /* https://cdnjs.com/libraries/prism lay thu vien, can vao ten file ma goi 1. copy link vao vi du:prism-python.min.js 2. ten ngon nua la python */ /*=== New posts ===*/ /*header slider*/ /*=== bai viet lien quan===*/ /*===tabcode===*/

Mô Hình Mạng Cho Doanh Nghiệp Vừa & Nhỏ - Bài 7

Nên xem bài cấu hình căn bản trước xem bài này

Sơ đồ LAB:


Bảng thông tin địa chi IP:
STT Tên Thiết Bị Interface IP Address Subnet Mask Gateway/Default Route
1 Internet Lookback 8 8.8.8 255.0.0.0
Et0/0 200.1.1.1 255.255.255.252
2 ISP-Router Et0/0 200.1.1.2 255.255.255.0 200.1.1.1
Et0/1 125.234.102.241 255.255.255.248
3 Firewall Et0/1 125.234.102.243 255.255.255.248 125.234.102.241
Et0/1 192.168.200.1 255.255.255.0
4 Core Et0/1 192.168.200.2 255.255.255.0 192.168.200.1
Vlan100 192.168.100.254 255.255.255.0
Vlan101 192.168.101.254 255.255.255.0
Vlan102 192.168.102.254 255.255.255.0
Vlan103 192.168.103.254 255.255.255.0
5 DHCP Server Vlan100 192.168.100.100 255.255.255.0 192.168.100.254
6 PC1 Eth0 192.168.101.101 255.255.255.0 192.168.101.254
7 PC2 Eth0 192.168.102.102 255.255.255.0 192.168.102.254
8 PC3 Eth0 DHCP
9 PC3 Eth0 DHCP


Các kiến thức: VLAN, SVI, Trunking, NAT, Access-List, DHCP, IP SLA Tracking, Static Route, Floating Static Route


YÊU CẦU:

1. Đặt IP theo sơ đồ

2. Trên switch Core thực hiện:
  • Tạo các vlan 101, 102,103 và thực hiện đặt IP theo sơ đồ
  • Tạo vlan 500 và gán port Et0/2, Et0/3 vào vlan 500
3. Cấu hình port trunk trên port Et1/1 của switch core và Et0/0 của Acc01

4. Trên Acc01 tạo vlan 101,102 và gán các port  Et0/1 vào vlan 101, port Et0/2 vào vlan 102 đảm bảo PC1 & PC2 phải ping thấy nhau

5. Tương tự cấu hình trunk trên cổng đấu nối giữa Core switch và Acc02; trên Acc02 tạo vlan 102, 103; gán port Et0/2 vào vlan 102 và port Et0/3 vào vlan 103.

6. Cấu hình trên DHCP server:
  • Đặt IP Address và Default Route như sơ đồ
  • Cấu hình các pool DHCP cho vlan 101, 102, 103
  • Vlan 103 chỉ cấp DHCP trong khoảng từ 192.168.103.104 đến 192.168.103.253
7. Thực hiện trên switch core:
  • Tạo vlan 100, đặt ip cho vlan 100 theo sơ đồ, gán port Et0/0 vào vlan 100
  • Cấu hình dhcp relay agent cho vlan 101,102,103 đảm bảo các PC trong các vlan có thể lấy được địa chỉ IP do DHCP_Server 192.168.100.100 cấp
8. Trên Internet ạo Static route 125.234.102.240/29 trỏ về IP 200.1.1.2 của ISP-Router

9. Tạo các default route và thực hiện NAT trên overload trên Firewall đảm bảo tất cả các PC có thể ping được 8.8.8.8
    10. Cấu hinh trên Core switch phải đảm bảo các PC trong LAN truy cập 8.8.8.8 phải đi đúng thứ tự Core -> Firewall -> ISP-Router -> Internet; tuy nhiên khi Firewall down các PC có thể truy cập được 8.8.8.8 theo thứ tự Core -> ISP-Router -> Internet

    11. IP SLA Tracking


    THỰC HIỆN:

    1. Đặt IP theo sơ đồ
    • Internet:
    conf t
    hostname Internet

    interface Loopback8
    no shutdown
    ip address 8.8.8.8 255.0.0.0
    exit
    interface et0/0
    ip address 200.1.1.1 255.255.255.252
    no sh
    end
    wri

    • ISP-Router:
    conf t
    hostname ISP-Router

    interface et0/0
    ip address 200.1.1.2 255.255.255.252
    no sh
    exit
    interface et0/1
    ip address 125.234.102.241 255.255.255.248
    no sh
    end
    wri

    • Firewall:
    conf t
    hostname Firewall

    interface et0/2
    ip address 125.234.102.243 255.255.255.248
    no sh
    exit
    interface et0/1
    ip address 192.168.200.1 255.255.255.248
    no sh
    end
    wri

    Noted: Dùng router để giả lập Firewall, trong LAB này FW chỉ dùng NAT overload đảm bảo các PC trong LAN có thể truy cập được internet. Bạn nào muốn tham chuyên đề về Firewall thì tham khảo tại link

    • Switch Core/Layer3:
    conf t
    hostname Core

    interface et0/1
    no switchport
    ip address 192.168.200.2 255.255.255.248
    no sh
    end
    wri

    2. Trên switch Core thực hiện:
    • Tạo các vlan 101, 102,103 và thực hiện đặt IP theo sơ đồ
    Core:
    conf t

    vlan 101
    int vlan 101
    ip address 192.168.101.254 255.255.255.0
    no sh
    exit

    vlan 102
    int vlan 102
    ip address 192.168.102.254 255.255.255.0
    no sh
    exit

    vlan 103
    int vlan 103
    ip address 192.168.103.254 255.255.255.0
    no sh
    end
    wri

    • Tạo vlan 500 và gán port Et0/2, Et0/3 vào vlan 500
    Core:
    conf t

    vlan 500
    exit
    int et0/2
    sw mode access
    sw acc vlan 500
    exit
    int et0/3
    sw mode access
    sw acc vlan 500
    end 
    wri

    Noted: Vlan 500 cũng có thể gọi là DMZ switch, ở đây chúng ta có thể các thiết bị sử dụng IP public và không cần thông qua firewall như: Voice IP, Tổng Đài IP, Video Conferrence,... Chúng ta cũng có thể sử dụng 1 switch hardware thay cho VLAN, tuy nhiên mục đích tạo ra vlan 500 sẽ được giải thích trong mục 10 và 11 của bài này.

    3. Cấu hình port trunk trên port Et1/1 của switch core và Et0/0 của Acc01

    • Cấu hình
    Core:
    conf t
    int et1/1
    switchport trunk encapsulation dot1q
    switchport mode trunk
    switchport trunk allowed vlan all
    end 
    wri

    Acc01:
    conf t
    hostname Acc01
    in et0/0
    switchport trunk encapsulation dot1q
    switchport mode trunk
    switchport trunk allowed vlan all
    end
    wri

    Tùy theo từng dòng sản phẩm mà khi cấu hình trunk CÓ THỂ CÓ hoặc KHÔNG CÓ dòng "switchport trunk encapsulation dot1q

    • Kiểm tra:
    Core#show interfaces trunk

    Port        Mode             Encapsulation  Status        Native vlan
    Et1/1       on                     802.1q         trunking      1

    Port        Vlans allowed on trunk
    Et1/1       1-4094

    Port        Vlans allowed and active in management domain
    Et1/1       1,100-103,500

    Port        Vlans in spanning tree forwarding state and not pruned
    Et1/1       1,100-103,500
    Core#

    Acc01#show  interfaces trunk

    Port        Mode             Encapsulation  Status        Native vlan
    Et0/0       on                    802.1q         trunking      1

    Port        Vlans allowed on trunk
    Et0/0       1-4094

    Port        Vlans allowed and active in management domain
    Et0/0       1,101-102

    Port        Vlans in spanning tree forwarding state and not pruned
    Et0/0       1,101-102
    Acc01#


    4. Trên Acc01 tạo vlan 101,102 và gán các port  Et0/1 vào vlan 101, port Et0/2 vào vlan 102 đảm bảo PC1 & PC2 phải ping thấy nhau

    • Cấu hình:
    Acc01:
    conf t

    vlan 101
    vlan 102
    exit

    int et0/1
    sw mode access
    sw acc vlan 101
    exit
    int et0/2
    sw mode access
    sw acc vlan 102
    end
    wri

    • Kiểm tra:
    Acc01#show vlan

    VLAN Name                             Status    Ports
    ---- -------------------------------- --------- -------------------------------
    1    default                          active    Et0/3
    101  VLAN0101                         active    Et0/1
    102  VLAN0102                         active    Et0/2
    1002 fddi-default                     act/unsup
    1003 token-ring-default               act/unsup
    1004 fddinet-default                  act/unsup
    1005 trnet-default                    act/unsup

    PC1> ping 192.168.102.102

    84 bytes from 192.168.102.102 icmp_seq=1 ttl=63 time=1.830 ms
    84 bytes from 192.168.102.102 icmp_seq=2 ttl=63 time=1.349 ms
    84 bytes from 192.168.102.102 icmp_seq=3 ttl=63 time=2.090 ms
    84 bytes from 192.168.102.102 icmp_seq=4 ttl=63 time=1.659 ms
    84 bytes from 192.168.102.102 icmp_seq=5 ttl=63 time=1.987 ms

    PC1>
    PC2> ping 192.168.101.101

    84 bytes from 192.168.101.101 icmp_seq=1 ttl=63 time=2.088 ms
    84 bytes from 192.168.101.101 icmp_seq=2 ttl=63 time=1.770 ms
    84 bytes from 192.168.101.101 icmp_seq=3 ttl=63 time=1.893 ms
    84 bytes from 192.168.101.101 icmp_seq=4 ttl=63 time=1.721 ms
    84 bytes from 192.168.101.101 icmp_seq=5 ttl=63 time=1.349 ms

    PC2>

    Kết quả đã đáp ứng yêu cầu đặt ra

    5. Tương tự cấu hình trunk trên cổng đấu nối giữa Core switch và Acc02; trên Acc02 tạo vlan 102, 103; gán port Et0/2 vào vlan 102 và port Et0/3 vào vlan 103.

    • Cấu hình trunk
    Core:
    conf t
    int et1/2
    switchport trunk encapsulation dot1q
    switchport mode trunk
    switchport trunk allowed vlan all
    end 
    wri

    Acc02
    conf t
    hostname Acc02
    in et0/0
    switchport trunk encapsulation dot1q
    switchport mode trunk
    switchport trunk allowed vlan all
    end
    wri

    • Gán port vào vlan
    Acc02:
    conf t
    vlan 102
    vlan 103
    exit
    int et0/2
    sw mode access
    sw acc vlan 102
    exit
    int et0/3
    sw mode access
    sw acc vlan 103
    end
    wri

    • Kiểm tra trên Acc02:
    Acc02#show interfaces trunk

    Port        Mode             Encapsulation  Status        Native vlan
    Et0/0       on               802.1q         trunking      1

    Port        Vlans allowed on trunk
    Et0/0       1-4094

    Port        Vlans allowed and active in management domain
    Et0/0       1,102-103

    Port        Vlans in spanning tree forwarding state and not pruned
    Et0/0       1,102-103
    Acc02#
    Acc02#show vlan

    VLAN Name                             Status    Ports
    ---- -------------------------------- --------- -------------------------------
    1    default                          active    Et0/1
    102  VLAN0102                         active    Et0/2
    103  VLAN0103                         active    Et0/3
    1002 fddi-default                     act/unsup
    1003 token-ring-default               act/unsup
    1004 fddinet-default                  act/unsup
    1005 trnet-default                    act/unsup
    {...}

    Acc02#

    6. Cấu hình trên DHCP server:
    • Đặt IP Address và Default Route như sơ đồ
    conf t
    hostname DHCP_Server
    int et0/0
    ip address 192.168.100.100 255.255.255.0
    no sh
    exit
    ip route 0.0.0.0 0.0.0.0 192.168.100.254
    end
    wri

    • Cấu hình các pool DHCP cho vlan 101, 102, 103
    conf t

    ip dhcp pool vlan_101
    network 192.168.101.0 255.255.255.0
    dns-server 8.8.8.8
    default-router 192.168.101.254
    lease 0 0 10
    exit
    ip dhcp pool vlan_102
    network 192.168.102.0 255.255.255.0
    dns-server 8.8.8.8
    default-router 192.168.102.254
    lease 0 0 10
    exit
    ip dhcp pool vlan_103
    network 192.168.103.0 255.255.255.0
    dns-server 8.8.8.8
    default-router 192.168.103.254
    lease 0 0 10
    end 
    wri

    Giải thích
    : lease 0 0 10: Thời gian cấp lại IP mới cho DHCP client ngày giờ phút

    Noted: Ở đây chúng tôi lấy router của cisco làm DHCP server, các bạn cũng có thể thay thế bằng Windows, Linux, ...

    • Vlan 103 chỉ cấp DHCP trong khoảng từ 192.168.103.104 đến 192.168.103.253

    conf t
    ip dhcp excluded-address 192.168.103.1 192.168.103.103
    ip dhcp excluded-address 192.168.103.254
    end
    wri
    Noted: Mặt định khi tạo pool DHCP thì cisco sẽ cấp từ 1 đến 254, trong trường hợp này chúng ta tạo danh sách ngoại trừ từ 192.168.103.1 đến 192.168.103.103 và 192.168.103.254

    7. Thực hiện trên switch core:
    • Tạo vlan 100, đặt ip cho vlan 100 theo sơ đồ, gán port Et0/0 vào vlan 100

    conf t
    vlan 100
    int vlan 100
    ip address 192.168.100.254 255.255.255.0
    no sh
    exit
    int et0/0
    sw mode access
    sw acc vlan 100
    end
    wri

    • Cấu hình dhcp relay agent cho vlan 101,102,103 đảm bảo các PC trong các vlan có thể lấy được địa chỉ IP do DHCP_Server 192.168.100.100 cấp
    conf t
    int vlan 101
    ip helper-address 192.168.100.100
    int vlan 102
    ip helper-address 192.168.100.100
    int vlan 103
    ip helper-address 192.168.100.100
    end
    wri

    Kiểm tra:

    PC3> ip dhcp
    DDORA IP 192.168.102.1/24 GW 192.168.102.254

    PC3>
    PC4> ip dhcp
    DDORA IP 192.168.103.104/24 GW 192.168.103.254

    PC4>
    PC3, PC4 đã lấy được IP từ DHCP server

    DHCP_Server#show ip dhcp binding
    Bindings from all pools not associated with VRF:
    IP address          Client-ID/              Lease expiration        Type
                        Hardware address/
                        User name
    192.168.102.1       0100.5079.6668.03       Jun 07 2021 06:19 AM    Automatic
    192.168.103.104     0100.5079.6668.04       Jun 07 2021 06:16 AM    Automatic
    DHCP_Server#
    Các IP đã cấp cho DHCP client

    8. Trên Internet ạo Static route 125.234.102.240/29 trỏ về IP 200.1.1.2 của ISP-Router

    • Cấu hình:
    conf t
    ip route 125.234.102.240 255.255.255.248 200.1.1.2
    end
    wri

    • Kiểm tra:
    Internet#show ip route static
    Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
           D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
           N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
           E1 - OSPF external type 1, E2 - OSPF external type 2
           i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
           ia - IS-IS inter area, * - candidate default, U - per-user static route
           o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
           a - application route
           + - replicated route, % - next hop override

    Gateway of last resort is not set

          125.0.0.0/29 is subnetted, 1 subnets
    S        125.234.102.240 [1/0] via 200.1.1.2
    Internet#

    Khi chúng ta mua thêm các địa chỉ IP tĩnh thì ISP phải tạo route để trỏ về router bên của chúng ta


    9. Tạo các default route và thực hiện NAT trên overload trên Firewall đảm bảo tất cả các PC có thể ping được 8.8.8.8

    • Tạo default route:
    ISP-Router:
    conf t
    ip route 0.0.0.0 0.0.0.0 200.1.1.1
    end
    wri

    Firewall:
    conf t
    ip route 0.0.0.0 0.0.0.0 125.234.102.241
    end
    wri

    Core:
    conf t
    ip route 0.0.0.0 0.0.0.0 192.168.200.1
    end
    wri

    • NAT overload trên Firewall:
    conf t
    interface Ethernet0/1
    ip nat inside
    exit
    interface Ethernet0/2
    ip nat outside
    exit
    ip nat inside source list 1 interface Ethernet0/2 overload

    access-list 1 permit any
    access-list 1 deny   any

    end
    wri

    Đến đây các PC chưa thể ping đến được 8.8.8.8 vì: trên môi trường internet một gói tin được cho là thành công thì phải đảm bảo có 2 chiều đi và về. Nếu chúng ta chỉ có NAT không thì mới chỉ có chiều đi còn thiếu chiều về, nên trên Firewall chúng ta phải tạo route ngược (có thể dùng bất kỳ kỹ thuật route nào cũng được) về các IP trong LAN.

    conf t

    ip  route  192.168.100.0  255.255.255.0  192.168.200.2
    ip  route  192.168.101.0  255.255.255.0  192.168.200.2
    ip  route  192.168.102.0  255.255.255.0  192.168.200.2
    ip  route  192.168.103.0  255.255.255.0  192.168.200.2
    end
    wri

    • Kiểm tra:

    PC3> ping 8.8.8.8

    84 bytes from 8.8.8.8 icmp_seq=1 ttl=252 time=2.684 ms
    84 bytes from 8.8.8.8 icmp_seq=2 ttl=252 time=3.233 ms
    84 bytes from 8.8.8.8 icmp_seq=3 ttl=252 time=2.536 ms
    84 bytes from 8.8.8.8 icmp_seq=4 ttl=252 time=2.128 ms
    84 bytes from 8.8.8.8 icmp_seq=5 ttl=252 time=2.252 ms

    PC3>
    PC4> ping 8.8.8.8

    84 bytes from 8.8.8.8 icmp_seq=1 ttl=252 time=3.107 ms
    84 bytes from 8.8.8.8 icmp_seq=2 ttl=252 time=3.087 ms
    84 bytes from 8.8.8.8 icmp_seq=3 ttl=252 time=2.000 ms
    84 bytes from 8.8.8.8 icmp_seq=4 ttl=252 time=2.140 ms
    84 bytes from 8.8.8.8 icmp_seq=5 ttl=252 time=2.865 ms

    PC4>
    Các PC đã ra được internet

    • Kiểm tra bảng NAT trên Firewall:
    Firewall#show  ip nat translations
    Pro Inside global      Inside local       Outside local      Outside global
    icmp 125.234.102.243:13030 192.168.102.1:13030 8.8.8.8:13030 8.8.8.8:13030
    icmp 125.234.102.243:13286 192.168.102.1:13286 8.8.8.8:13286 8.8.8.8:13286
    icmp 125.234.102.243:13542 192.168.102.1:13542 8.8.8.8:13542 8.8.8.8:13542
    icmp 125.234.102.243:13798 192.168.102.1:13798 8.8.8.8:13798 8.8.8.8:13798
    icmp 125.234.102.243:14054 192.168.102.1:14054 8.8.8.8:14054 8.8.8.8:14054
    icmp 125.234.102.243:10470 192.168.103.104:10470 8.8.8.8:10470 8.8.8.8:10470
    icmp 125.234.102.243:10726 192.168.103.104:10726 8.8.8.8:10726 8.8.8.8:10726
    icmp 125.234.102.243:10982 192.168.103.104:10982 8.8.8.8:10982 8.8.8.8:10982
    icmp 125.234.102.243:11238 192.168.103.104:11238 8.8.8.8:11238 8.8.8.8:11238
    icmp 125.234.102.243:11494 192.168.103.104:11494 8.8.8.8:11494 8.8.8.8:11494
    Firewall#

    Vì các IP private (192.168.102.x và 192.168.103.x) không được định nghĩa trên môi trường internet nên chúng ta phải NAT để dịch từ IP private sang ip public (định nghĩa IP private và public ở rfc 1918)

    Quit Configuration
    Internet
    conf t
    hostname Internet
    
    interface Loopback8
    no shutdown
    ip address 8.8.8.8 255.0.0.0
    exit
    interface et0/0
    ip address 200.1.1.1 255.255.255.252
    no sh
    exit
    
    ip route 125.234.102.240 255.255.255.248 200.1.1.2
    end
    wri
    
    ISP-Router
    conf t
    hostname ISP-Router
    
    interface et0/0
    ip address 200.1.1.2 255.255.255.252
    no sh
    exit
    interface et0/1
    ip address 125.234.102.241 255.255.255.248
    exit
    
    ip route 0.0.0.0 0.0.0.0 200.1.1.1
    no sh
    end
    wri
    
    
    Firewall
    conf t
    hostname Firewall
    
    interface et0/2
    ip address 125.234.102.243 255.255.255.248
    no sh
    exit
    interface et0/1
    ip address 192.168.200.1 255.255.255.248
    no sh
    exit
    
    interface Ethernet0/1
    ip nat inside
    interface Ethernet0/2
    ip nat outside
    ip nat inside source list 1 interface Ethernet0/2 overload
    
    ip route 0.0.0.0 0.0.0.0 125.234.102.241
    
    ip route 192.168.100.0 255.255.255.0 192.168.200.2
    ip route 192.168.101.0 255.255.255.0 192.168.200.2
    ip route 192.168.102.0 255.255.255.0 192.168.200.2
    ip route 192.168.103.0 255.255.255.0 192.168.200.2
    
    access-list 1 permit any
    access-list 1 deny   any
    end
    wri
    
    
    Core
    conf t
    hostname Core
    
    interface Ethernet0/1
    no switchport
    ip address 192.168.200.2 255.255.255.248
    no sh
    exit
    
    vlan 100
    vlan 101
    vlan 102
    vlan 103
    vlan 500
    exit
    
    interface Ethernet0/0
    switchport mode access
    switchport access vlan 100
    exit
    
    interface Ethernet0/2
    switchport mode access
    switchport access vlan 500
    exit
    interface Ethernet0/3
    switchport mode access
    switchport access vlan 500
    exit
    
    interface Vlan100
    ip address 192.168.100.254 255.255.255.0
    exit
    interface Vlan101
    ip address 192.168.101.254 255.255.255.0
    ip helper-address 192.168.100.100
    exit
    interface Vlan102
    ip address 192.168.102.254 255.255.255.0
    ip helper-address 192.168.100.100
    exit
    interface Vlan103
    ip address 192.168.103.254 255.255.255.0
    ip helper-address 192.168.100.100
    exit
    
    interface Ethernet1/1
    switchport trunk encapsulation dot1q
    switchport mode trunk
    switchport trunk allowed vlan all
    exit
    interface Ethernet1/2
    switchport trunk encapsulation dot1q
    switchport mode trunk
    switchport trunk allowed vlan all
    exit
    
    ip route 0.0.0.0 0.0.0.0 192.168.200.1
    end
    wri
    
    DHCP-Server
    conf t
    hostname DHCP_Server
    int et0/0
    ip address 192.168.100.100 255.255.255.0
    no sh
    exit
    ip route 0.0.0.0 0.0.0.0 192.168.100.254
    
    ip dhcp pool vlan_101
    network 192.168.101.0 255.255.255.0
    dns-server 8.8.8.8
    default-router 192.168.101.254
    lease 0 0 10
    exit
    ip dhcp pool vlan_102
    network 192.168.102.0 255.255.255.0
    dns-server 8.8.8.8
    default-router 192.168.102.254
    lease 0 0 10
    exit
    ip dhcp pool vlan_103
    network 192.168.103.0 255.255.255.0
    dns-server 8.8.8.8
    default-router 192.168.103.254
    lease 0 0 10
    exit
    
    ip dhcp excluded-address 192.168.103.1 192.168.103.103
    ip dhcp excluded-address 192.168.103.254
    end 
    wri
    
    
    Acc01
    conf t
    hostname Acc01
    interface Ethernet0/0
    switchport trunk encapsulation dot1q
    switchport mode trunk
    switchport trunk allowed vlan all
    exit
    interface Ethernet0/1
    switchport mode access
    switchport access vlan 101
    exit
    interface Ethernet0/2
    switchport mode access
    switchport access vlan 101
    end
    wri
    
    Acc02
    conf t
    hostname Acc02
    interface Ethernet0/0
    switchport trunk encapsulation dot1q
    switchport mode trunk
    switchport trunk allowed vlan all
    exit
    interface Ethernet0/2
    switchport mode access
    switchport access vlan 102
    exit
    interface Ethernet0/3
    switchport mode access
    switchport access vlan 103
    end
    wri
    

    10. Cấu hinh trên Core switch phải đảm bảo các PC trong LAN truy cập 8.8.8.8 phải đi đúng thứ tự Core -> Firewall -> ISP-Router -> Internet; tuy nhiên khi Firewall down các PC có thể truy cập được 8.8.8.8 theo thứ tự Core -> ISP-Router -> Internet

    • Kiểm tra trước khi cấu hình:
    PC1> tracer 8.8.8.8
    trace to 8.8.8.8, 8 hops max, press Ctrl+C to stop
     1   192.168.101.254   1.291 ms  1.047 ms  0.968 ms
     2   192.168.200.1   1.814 ms  1.523 ms  1.661 ms
     3   125.234.102.241   2.160 ms  2.112 ms  1.928 ms
     4   *200.1.1.1   2.586 ms (ICMP type:3, code:3, Destination port unreachable)  *

    PC1>
    Chúng ta thấy các gói tin đã đi đúng yêu cầu ban đầu: Core -> Firewall -> ISP-Router -> Internet

    • Cấu hình:
    Core:
    interface Vlan500
    ip address 125.234.102.242 255.255.255.248
    no shut
    exit

    ip route 0.0.0.0 0.0.0.0 125.234.102.241 10
    end
    wri

    ISP-Router:
    interface Ethernet0/0
    ip nat outside
    exit
    interface Ethernet0/1
    ip nat inside
    exit

    ip nat inside source list LAN-to-INTERNET interface Ethernet0/0 overload
    ip access-list extended LAN-to-INTERNET
    deny ip 125.234.102.240 0.0.0.7 any
    permit ip any any
    exit

    ip route 192.168.100.0 255.255.255.0 125.234.102.242
    ip route 192.168.101.0 255.255.255.0 125.234.102.242
    ip route 192.168.102.0 255.255.255.0 125.234.102.242
    ip route 192.168.103.0 255.255.255.0 125.234.102.242
    end
    wri

    • Giải thích access-list:
    deny ip 125.234.102.240 0.0.0.7 any: dãy IP 125.234.102.240/29 là IP public đã được định nghĩa trên internet nên không cần phải NAT
    - permit ip any any: tất cả các ip còn lại (trường hợp này là các IP trong LAN) là phải NAT

    • Kiểm tra sau khi cấu hình
    Trên switch core:
    shutdown port Et0/1 và ping test
    Core#ping 8.8.8.8
    Type escape sequence to abort.
    Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds:
    !!!!!
    Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
    Core#ping 8.8.8.8 source vlan 101
    Type escape sequence to abort.
    Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds:
    Packet sent with a source address of 192.168.101.254
    !!!!!
    Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms
    Core#

    Trên PC1
    PC1> tracer 8.8.8.8
    trace to 8.8.8.8, 8 hops max, press Ctrl+C to stop
     1   192.168.101.254   1.016 ms  0.841 ms  0.948 ms
     2   125.234.102.241   1.687 ms  1.561 ms  1.470 ms
     3   *200.1.1.1   2.417 ms (ICMP type:3, code:3, Destination port unreachable)  *

    PC1>
    Đúng yêu cầu đặt ra Core -> ISP-Router -> Internet

    P/s: Đã đúng yêu cầu tuy nhiên chúng ta có thể làm thêm IP SLA Tracking để kiểm tra IP đầu xa, nếu ping đến không được thì sẽ tư động điều chỉnh bản route cho phù hợp


    11. IP SLA Tracking

    • Cấu hình:
    Core:
    ip sla 2001
    icmp-echo 192.168.200.1
    threshold 5
    frequency 10
    exit
    !
    ip sla schedule 2001 life forever start-time now
    !
    track 1 ip sla 2001 reachability
    exit
    !
    no ip route 0.0.0.0 0.0.0.0 192.168.200.1
    ip route 0.0.0.0 0.0.0.0 192.168.200.1 track 1
    end
    wri
    Xoá default route cũ và thêm vào default route với track

    • Kiểm tra:
    Kiểm tra sla đã cấu hình:
    Core:
    Core#show ip sla configuration 2001
    IP SLAs Infrastructure Engine-III
    Entry number: 2001
    Owner:
    Tag:
    Operation timeout (milliseconds): 5000
    Type of operation to perform: icmp-echo
    Target address/Source address: 192.168.200.1/0.0.0.0
    Type Of Service parameter: 0x0
    Request size (ARR data portion): 28
    Verify data: No
    Vrf Name:
    Schedule:
       Operation frequency (seconds): 10  (not considered if randomly scheduled)
       Next Scheduled Start Time: Start Time already passed
       Group Scheduled : FALSE
       Randomly Scheduled : FALSE
       Life (seconds): Forever
       Entry Ageout (seconds): never
       Recurring (Starting Everyday): FALSE
       Status of entry (SNMP RowStatus): Active
    Threshold (milliseconds): 5
    Distribution Statistics:
       Number of statistic hours kept: 2
       Number of statistic distribution buckets kept: 1
       Statistic distribution interval (milliseconds): 20
    Enhanced History:
    History Statistics:
       Number of history Lives kept: 0
       Number of history Buckets kept: 15
       History Filter Type: None


    Core#
    Core#show ip sla statistics
    IPSLAs Latest Operation Statistics

    IPSLA operation id: 2001
            Latest RTT: 1 milliseconds
    Latest operation start time: 08:18:23 EET Wed Jun 9 2021
    Latest operation return code: OK
    Number of successes: 31
    Number of failures: 6
    Operation time to live: Forever


    Core#

    Bật debug ip routing: để thấy sự thay đổi bảng route trong lúc test sla

    Core#debug ip routing
    IP routing debugging is on
    Core#
    Shutdown interface Et0/1
    Core:
    Core#conf t
    int et0/1
    shut
    Core(config-if)#
    *Jun  9 06:24:31.200: is_up: Ethernet0/1 0 state: 6 sub state: 1 line: 0
    *Jun  9 06:24:31.200: RT: interface Ethernet0/1 removed from routing table
    *Jun  9 06:24:31.200: RT: del 192.168.200.0 via 0.0.0.0, connected metric [0/0]
    *Jun  9 06:24:31.200: RT: delete subnet route to 192.168.200.0/29
    *Jun  9 06:24:31.200: RT: del 192.168.200.2 via 0.0.0.0, connected metric [0/0]
    *Jun  9 06:24:31.200: RT: delete subnet route to 192.168.200.2/32
    *Jun  9 06:24:31.200: RT: del 0.0.0.0 via 192.168.200.1, static metric [1/0]
    *Jun  9 06:24:31.200: RT: delete network route to 0.0.0.0/0
    *Jun  9 06:24:31.200: RT: default path has been cleared
    *Jun  9 06:24:31.200: RT:
    Core(config-if)#updating static 0.0.0.0/0 (0x0):
        via 125.234.102.241

    *Jun  9 06:24:31.200: RT: add 0.0.0.0/0 via 125.234.102.241, static metric [10/0]
    *Jun  9 06:24:31.200: RT: default path is now 0.0.0.0 via 125.234.102.241
    Core(config-if)#
    *Jun  9 06:24:33.194: %LINK-5-CHANGED: Interface Ethernet0/1, changed state to administratively down
    Core(config-if)#
    *Jun  9 06:24:33.194: is_up: Ethernet0/1 0 state: 6 sub state: 1 line: 0
    *Jun  9 06:24:34.199: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/1, changed state to down
    *Jun  9 06:24:34.199: is_up: Ethernet0/1 0 state: 6 sub state: 1 line: 0
    Core(config-if)#
    *Jun  9 06:24:36.256: %TRACKING-5-STATE: 1 ip sla 2001 reachability Up->Down
    Core(config-if)#

    Noted: Chúng ta thấy khi interface Et0/1 down thì sla 1 cũng down theo và chúng sẽ thực hiện xóa default route hiện tại và cập nhật default route mới sẽ trỏ về gateway 125.234.102.241

    Cấu hình căn bản

    Bài Lab nâng cao

    Xong!

    Cisco - Cấu Hình Căn Bản/Basic Configuration - Quit Configuration - Templates

    NỘI DUNG:

    1. Cấu hình căn bản

    2. Basic System Management Configuration

    3. Quit Configuration - Template

    4. VLAN Trunking Protocol  - VTP

    5. NAT Overload/PAT - Allow Internal Users Access To The Internet

    6. Trouble shooting - show commands


    THỰC HIỆN:

    1. Cấu hình căn bản

    đang cập nhật...

    STT Yêu Cầu Cấu Hình Commands Giải Thích
    1 Privileged mode enable Tìm hiểu các mode tại đây
    2 Global Configuration conf t Vào mode cấu hình, 
    3 exit Quay ra một bật
    4 End Quay ra Privileged mode
    5 Đặt tên cho thiết bị hostname TenThietBi Đặt tên cho thiết bị có tên là:  TenThietBi
    6 Đặt tên cho domain ip domain name khanhvc.lab Đặt trên cho domain có tên: khanhvc.lab (nhằm mục đích mã hóa dữ liệu)
    7 no ip domain-lookup Tắt chế độ phân giải domain sang ip (khi chúng ta gõ sai thiết bị không đị đơ khi chờ phân giải, rất khó chịu khi cấu hình nên tắt đi)
    8 Đặt tên login/banner banner motd #===Core Switch IT Room===# Khi chúng ta kết nối vào thiết bị sẽ hiển thị "===Core Switch IT Room==="
    9 Cài đặt user và pass username admin privilege 15 password itadmin Username admin có password là itadmin và quyền là 15 (cao nhất) và bỏ qua enable password
    10 Mã hóa password service password-encryption Kích hoạt mã hóa password trong file cấu hình
    11 Remote Access line con 0 Vào mode console thứ 0 (tham khảo các kỹ thuật kết nối tại đây)
    logging synchronous Đồng bộ thông báo console, Giữ nguyên những gì chúng ta đang gõ trên màn hình (thông báo sẽ không xen vào khi chúng ta đang gõ lệnh)
    login local Sử dụng username và password trên thiết bị
    exit Quay ra một bật
    line vty 0 4 Vào mode vty-telnet. Tham khảo mục 2 - telnet
    login local Sử dụng username và password trên thiết bị
    transport input all Cho phép/chuyển qua tất cả các dịch vụ (telnet, ssh)
    crypto key generate rsa general-keys modulus 1024 Tạo key khi mã hóa ssh
    ip ssh version 2 Chuyển sang ssh version 2
    12 Tạo Vlan vlan100 Tạo vlan 100
    name HR-Dept Option - Tên của vlan 100 là HR-Dept
    13 Đặt IP cho interface vlan interface Vlan100 Vào mode interface của vlan 100
    no shutdown Kích hoạt interface
    description ===Gateway cho vlan 100=== Option - Chú thích cho interface
    ip address 192.168.100.254 255.255.255.0 Đặt IP cho vlan 100
    14 Đặt IP trên interface interface Ethernet0/0 Vào mode interface của port Ethernet0/0
    no switchport Enable port layer3/Routed port (Trên switch mặt định là port layer 2)
    description ===Linked to Firewall=== Option - Chú thích cho interface
    ip address 192.168.200.2 255.255.255.248 Đặt IP tĩnh cho port Ethernet0/0
    ip address dhcp Interface Et0/0 sẽ xin IP động từ DHCP server
    ip address 192.168.0.1 255.255.255.0 secondary Đặt IP thứ 2 trên 1 interface
    15 Access Mode interface Ethernet0/1 Vào mode interface của port Ethernet0/1
    switchport mode access Chuyển interface Ethernet0/1 về mode access
    switchport access vlan 100 Gán interface Ethernet0/1 vào vlan 100
    16 Trunking interface Ethernet0/2 Vào mode interface của port Ethernet0/2
    switchport trunk encapsulation dot1q Đóng gói chuẩn dot1q. (Có 1 số dòng sản phẩm không cần gõ dòng lệnh này)
    switchport mode trunk Mode trunk
    switchport trunk allowed vlan all Cho phép tất cả các vlan đi qua đường trunk
    17 Routing ip routing Cho phép các IP của các vlan khác nhau có thể giao tiếp được với nhau
    18 Default Route ip route 0.0.0.0 0.0.0.0 200.2.2.1 Trỏ default route về IP 200.2.2.1
    19 DHCP Server ip dhcp pool vlan_101 Tạo pool dhcp có tên pool vlan_101
    network 192.168.101.0 255.255.255.0 Lớp mạng cần cấp cho pool vlan_101 là: 192.168.101.0/24
    dns-server 8.8.8.8 DNS sẽ cấp cho pool là 8.8.8.8
    default-router 192.168.101.254 Default Gateway
    lease 0 0 10 Thời gian clien xin cấp lại ip GIỜ PHÚT GIÂY
    20 DHCP Exclude Address ip dhcp excluded-address 192.168.101.254 DHCP server sẽ không cấp phát địa chỉ 192.168.101.254 cho dhcp client
    ip dhcp excluded-address 192.168.101.1 192.168.101.50 Các IP trong dãy từ 192.168.101.1 -> 50 sẽ không được cấp cho DHCP client
    21 DHCP Relay Agent interface Vlan101 Vào mode interface của vlan 101
    ip helper-address 192.168.100.100 IP 192.168.100.100 sẽ chịu trách nhiệm cấp phát IP cho vlan 101
    22 VLAN Trunking Protocol - VTP vtp domain khanhvc.lab Đặt tên cho vtp domain
    vtp password vtpadmin Đặt password cho vtp
    vtp version 2 Chuyển vtp dùng version 2
    vtp mode server Cài đặt mode cho vtp. VTP có 3 mode là: Server, client và tranperrent
    vtp pruning Tính năng này chỉ bật trên mode server
    23 NAT Overload + ACL interface Ethernet0/1 Vào mode interface (Inside local - interface đấu nối hướng vào mạng LAN )
    ip nat inside Cấu hình NAT inside
    interface Ethernet0/2 Interface Inside global (Cổng đấu nối hướng ra ISP)
    ip nat outside Cấu hình NAT outside
    ip nat inside source list 1 interface Ethernet0/2 overload Thực hiện việc dịch tất cả các địa chỉ IP nằm trong access-list 1 sang địa chỉ IP trên cổng Et0/2
    access-list 1 permit any Định nghĩa access-list 1 và cho phép tất cả các ip
    24 Xóa cấu hình erase startup-config Xóa cấu trên Router/Switch
    delete vlan.dat Nếu là switch chúng ta thực hiện thêm phần xóa các vlan (Tham khảo mục 2 xóa cấu hình)
    reload Khởi động thiết bị
    25 Lưu cấu hình write memory Thực hiện lưu cấu hình
    HOẶC
    copy running-config startup-config

    Lưu cấu hình đang chạy vào file khởi động
    26 no service config Tắt %Error opening tftp://255.255.255.255/xxxx (Timed out)


    2. Basic System Management Configuration

    Router-Cấu Hình Căn Bản
    conf t
    hostname Router-KHANHVC
    ip domain name khanhvc.lab
    no ip domain-lookup
    banner motd #===Router KHANHVC===#
    
    username admin privilege 15 password itadmin
    service password-encryption
     
    line con 0
    logging synchronous
    login local
    exit
    line vty 0 4
    login local
    transport input all
    crypto key generate rsa general-keys modulus 1024
    ip ssh version 2
     
    interface Gi0/0
    no shutdown
    ip address 192.168.1.254 255.255.255.0
    description ===Connect to somewhere===
    exit
    !
    end
    wri   

    Với cấu hình trên chúng ta có thể dùng máy tính đặt IP trong lớp 192.168.1.0/24 -> nối vào port Gi0/1 của router và có thể telnet/ssh vào thiết bị với user: admin; password: itadmin

    Switch-Cấu Hinh Căn Bản
    conf t
    hostname Switch-KHANHVC
    ip domain name khanhvc.lab
    no ip domain-lookup
    banner motd #===Switch KHANHVC===#
    
    username admin privilege 15 password itadmin
    service password-encryption
     
    line con 0
    logging synchronous
    login local
    exit
    line vty 0 4
    login local
    transport input all
    crypto key generate rsa general-keys modulus 1024
    ip ssh version 2
    !
    interface Vlan1
    no shutdown
    description ===MGMT===
    ip address 192.168.1.254 255.255.255.0
    exit
    end
    wri   

    Với cấu hình trên chúng ta có thể dùng máy tính đặt IP trong lớp 192.168.1.0/24 -> nối vào switch và có thể telnet/ssh vào thiết bị với user: admin; password: itadmin

    3. Quit Configuration - Template

    Router-CE-ISP Leased-Line
    conf t
    hostname Router-CE-LL
    ip domain name khanhvc.lab
    no ip domain-lookup
    banner motd #===Router CE Leased-Line===#
    
    username admin privilege 15 password itadmin
    service password-encryption
     
    line con 0
    logging synchronous
    login local
    exit
    line vty 0 4
    login local
    transport input all
    crypto key generate rsa general-keys modulus 1024
    ip ssh version 2
     
    interface et0/0
    no shutdown
    ip address 200.2.2.2 255.255.255.252
    description ===Linked to ISP===
    ip nat outside
    exit
    !
    interface et0/1
    no shutdown
    ip address 100.1.1.1 255.255.255.248
    description ===Linked to Firewall===
    ip nat inside
    exit
    !
    ip route 0.0.0.0 0.0.0.0 200.2.2.1
    ip nat inside source list LAN-to-INTERNET interface Ethernet0/0 overload
    !
    ip access-list extended LAN-to-INTERNET
    deny   ip 100.1.1.0 0.0.0.7 any
    permit ip any any
    exit
    !
    end
    wri    
        
    Core Switch/Layer3 Switch
    conf t
    hostname CoreSwitch
    ip domain name khanhvc.lab
    no ip domain-lookup
    banner motd #===Core Switch IT Room===#
    
    username admin privilege 15 password itadmin
    service password-encryption
     
    line con 0
    logging synchronous
    login local
    exit
    line vty 0 4
    login local
    transport input all
    crypto key generate rsa general-keys modulus 1024
    ip ssh version 2
    !
    interface Vlan1
    no shutdown
    description ===MGMT===
    ip address 192.168.1.254 255.255.255.0
    exit
    vlan 100
    interface Vlan100
    no shutdown
    description ===Server===
    ip address 192.168.100.254 255.255.255.0
    exit
    vlan 101
    interface Vlan101
    no shutdown
    description ===HR Dept.===
    ip address 192.168.101.254 255.255.255.0
    exit
    !
    ip routing
    !
    interface Ethernet0/0
    no switchport
    description ===Linked to Firewall===
    ip address 192.168.200.2 255.255.255.248
    no shutdown
    exit
    interface Ethernet0/1
    description ===Linked to AD Server IP_100.100===
    switchport mode access
    switchport access vlan 100
    no shutdown
    exit
    interface Ethernet0/2
    description ===Linked to Access Switch===
    switchport trunk encapsulation dot1q
    switchport mode trunk
    switchport trunk allowed vlan all
    exit
    !
    ip route 0.0.0.0 0.0.0.0 200.2.2.1
    !
    end
    wri   

    • Nếu tạo thêm vlan thì chúng ta nhân bản vlan lên ví dụ vlan 102
    conf t
    vlan 102
    interface Vlan102
    no shutdown
    description ===Accc Dept.===
    ip address 192.168.102.254 255.255.255.0
    end
    wri

    • Nếu kết nối nhiều switch Access/Layer2 nhân bản
    conf t
    interface Ethernet0/2
    description ===Linked to Access Switch===
    switchport trunk encapsulation dot1q
    switchport mode trunk
    switchport trunk allowed vlan all
    end
    wri
    Tùy theo từng dòng sản phầm mà khi cấu hình port trunk CÓ THỂ CÓ hoặc KHÔNG có dòng "switchport trunk encapsulation dot1q"
    Access Switch/Layer2 Switch
    conf t
    hostname Acc-01
    ip domain name khanhvc.lab
    no ip domain-lookup
    banner motd #===Acc-01 HR Dept.===#
    
    username admin privilege 15 password itadmin
    service password-encryption
     
    line con 0
    logging synchronous
    login local
    exit
    line vty 0 4
    login local
    transport input all
    crypto key generate rsa general-keys modulus 1024
    ip ssh version 2
    !
    interface Vlan1
    no shutdown
    description ===MGMT===
    ip address 192.168.1.11 255.255.255.0
    exit
    !
    vlan 101
    interface Vlan101
    no shutdown
    description ===HR Dept.===
    exit
    !
    interface Ethernet0/0
    description ===Linked to Core Switch===
    switchport trunk encapsulation dot1q
    switchport mode trunk
    switchport trunk allowed vlan all
    exit
    !
    interface Ethernet0/1
    description ===Linked to PC===
    switchport mode access
    switchport access vlan 101
    no shutdown
    exit
    !
    end
    wri
    

    Tùy theo từng dòng sản phầm mà khi cấu hình port trunk CÓ THỂ CÓ hoặc KHÔNG có dòng "switchport trunk encapsulation dot1q"

    • Nếu tạo thêm vlan thì chúng ta nhân bản vlan lên ví dụ vlan 102 (vì là layer 2 nên khi tao vlan chúng ta KHÔNG đặt ip trên interface vlan này)
    conf t
    vlan 102
    interface Vlan102
    description ===Accc Dept.===
    end
    wri

    • Nếu có nhiều thiết bị đầu cuối muốn gán vào vlan 101 chúng ta nhân bản lên
    conf t
    interface Ethernet0/2
    description ===Linked to PC===
    switchport mode access
    switchport access vlan 101
    no shutdown
    end
    wri

    • HOẶC chúng ta cũng có thể cấu hình theo range interface vào vlan 101 cũng được ví dụ từ port 3-9 (tùy từng dòng sản phẩm mà phần range có thể là khác nhau tí tí)
    conf t
    interface range Ethernet0/3-9
    description ===Linked to PC===
    switchport mode access
    switchport access vlan 101
    no shutdown
    end
    wri
    DHCP Server: Trường hợp này dùng chính switch Core làm DHCP server
    conf t
    ip dhcp excluded-address 192.168.101.254
    ip dhcp excluded-address 192.168.101.1 192.168.101.50
    !
    ip dhcp pool vlan_101
    network 192.168.101.0 255.255.255.0
    dns-server 8.8.8.8
    default-router 192.168.101.254
    lease 0 0 10
    end
    wri
    

    • Nếu muốn nhân bản cho vlan khác thì copy và chỉnh lại chổ vàng vàng (nếu muốn Core làm DHCP server cho vlan đó) 
    conf t
    ip dhcp excluded-address 192.168.102.254
    ip dhcp excluded-address 192.168.102.1 192.168.102.50
    !
    ip dhcp pool vlan_102
    network 192.168.102.0 255.255.255.0
    dns-server 8.8.8.8
    default-router 192.168.102.254
    lease 0 0 10
    end
    wri

    DHCP Relay Agent:
    Nếu KHÔNG dùng switch Core để cấp DHCP cho client thì chúng ta phải trỏ đến địa chỉ IP của DHCP bên ngoài (phải đảm bảo routing đến được server này thì việc xin IP mới thành công)
    conf t
    interface Vlan101
    ip helper-address 192.168.100.100
    end
    wri
    

    • Nhân bản cho vlan khác: Ví dụ như vlan 102 muốn DHCP server có địa chỉ IP 192.168.100.100 cấp DHCP client cho vlan này 
    conf t
    interface Vlan102
    ip helper-address 192.168.100.100
    end
    wri

    Voice Data:
    Nhằm mục đích ưu tiên tín hiệu voice trước (data ưu tiên sau) để đảm bảo tín hiệu ít trễ nhất có thể. Áp dụng trong trường hợp máy tính cắm vào port PC trên IP Phone (hay PC sau điện thoại)


    conf t
    interface Ethernet1/3
    switchport access vlan 103
    switchport voice vlan 99
    end
    wri
    

    Với cấu hình trên PC sẽ nhận ip của vlan 103, IP phone sẽ nhận ip của vlan 99

    4. VLAN Trunking Protocol  - VTP
    VTP Server Mode Thêm, sửa, xóa sau đó gửi đi để các switch khác học, và chính mode này cũng có thể học/đồng bộ từ các switch khác (trong trường hợp revision của switch khác cao hơn), và cũng có thể forward để các switch khác cùng học.

    Điều kiện:
    - Các đường đấu nối giữa các switch phải là trunk
    - Thông tin vtp giữa các switch khớp nhau: tên domain, password, version, ...

    conf t
    vtp domain khanhvc.lab
    vtp password vtpadmin
    vtp version 2
    vtp mode server
    vtp pruning
    end
    wri
    
    VTP Client Mode Ở mode này các vtp client sẽ học các vlan từ switch khác nếu revision của switch khác cao hơn revision của nó (bản thân nó không được phép tạo, xóa vlan) và forward thông tin cho các switch khác học.

    Với việc triển khai VTP Server-Client thì thông tin vlan sẽ được nhất quán một cách tự động trên toàn hệ thống. Chúng thường được áp dụng triển khai cho hệ thống mới
      conf t
    vtp domain khanhvc.lab
    vtp password vtpadmin
    vtp version 2
    vtp mode client
    end
    wri
    VTP Transparent Mode Được phép tạo, xóa nhưng chỉ tác dụng trên local switch mà không ảnh hưởng đến các switch khác, không gửi thông tin của mình cho các switch khác. Tuy nhiên nó vẫn forward thông tin của người ta (switch khác) cho các switch sau nó học.

    Thông thường khi triển khai xong chúng ta thường chuyển về mode transparent này nếu như các bạn chưa có kiến thức tốt để quản lý VTP
    conf t
    vtp domain khanhvc.lab
    vtp password vtpadmin
    vtp version 2
    vtp mode transparent
    end
    wri

    5. NAT Overload/PAT - Allow Internal Users Access To The Internet

    Cho phép toàn các ip nằm trong Access-List 1 được phép truy cập internet và sử dụng IP trên cổng  Et0/2 là 125.234.102.243 làm IP đại diện
    conf t
    interface Ethernet0/1
    description ===Connect to LAN/CoreSwitch===
    ip address 192.168.200.1 255.255.255.248
    no shut
    ip nat inside
    exit
    interface Ethernet0/2
    description ===Connect to ISP-Router===
    ip address 125.234.102.243 255.255.255.248
    no shut
    ip nat outside
    exit
    !
    ip nat inside source list 1 interface Ethernet0/2 overload
    !
    access-list 1 permit any
    !
    end
    wri
    
    

    6. Trouble shooting - show commands
    đang cập nhật...
    STT Nhóm Commands Giải Thích
    1 show running-config Hiển thị cấu hình hiện tại đang chạy
    2 show vlan Hiển thị các vlan đang tồn tại trên switch
    3 Interface show ip interface brief Hiển thị trạng thái up/down và thông tin IP của các interface
    show interface Hiển thị trạng thái up/down, trạng thái giao thức trên interface, MTU, Lỗi,...
    show interface trunk Hiển thị thông tin về port trunk trên switch
    show run interface Et0/1 Hiển thị cấu hình hiện tại của interface Et0/1
    4 Routing show ip route Hiển thị thông tin bảng định tuyến của thiết bị
    5 show version Hiển thị thông tin register thiết bị, firmware, tên IOS, flash, RAM, ...
    6 VLAN show vlan summary Hiển thị trên switch hiện tại có tất cả bao nhiêu vlan
    show vlan brief Hiển thị thông tin vlan và các interface nào gắng vào vlan nào
    7 DHCP show ip dhcp binding Hiển thị tất cả các IP đã được cấp cho DHCP client
    show ip dhcp conflict Hiển thị các IP đã cấp phát nhưng bị trùng
    show ip dhcp server statistics Hiển thị thông tin chi tiết về dhcp server
    show ip dhcp pool Hiển thị thông tin chi tiết và các pool dhcp
    show run | section ip dhcp Hiển thị tất cả các cấu hình có liên quan đến cấu hình dhcp server
    8 VTP show vtp status Hiển thị thông tin cấu hình vtp
    show vtp password Hiển thị thông tin password của vtp
    9 NAT Overload show ip nat translation Kiểm tra bảng NAT
    clear ip nat statistics Xóa thông tin bảng NAT
    show ip nat statistics Hiển thị thông tin bộ đếm và các thông tin liên quan đến NAT
    9 Access-List show access-lists Hiển thị thông tin Access-List


    Áp dụng vào mô hình thực tế
    Xong!

    Network Automation #007 - Netmiko - Tìm Và Cấu Hình Description Cho Interface Khi Biết IP Address

    Nên xem các bài trước khi xem bài này


    Sơ đồ LAB:


    YÊU CẦU

    Dùng Netmiko SSH vào switch sau đó thực hiện các yêu cầu như bên dưới khi biết thông tin về IP address và phần mô tả của thiết bị trong file cho trước "devices_list.csv"

    1. In kết quả tìm được IP nào đang kết nối vào port nào ra màn hình và ghi thông tin kết nối chi tiết vào file
    2. Cấu hình description cho interface với thông tin trong file devices_list.csv

    THỰC HIỆN:

    • Chuẩn bị 
    a. File danh sách thiết bị device_list.csv có dạng


    b. Cấu hình trên switch cisco:


    1. In kết quả tìm được IP nào đang kết nối vào port nào ra màn hình và ghi thông tin kết nối chi tiết vào file

    • Code:

    '''
    Tìm thiết bị đang gắng vào port nào trên local switch khi biết địa chỉ IP của nó Danh sách các IP cần tìm để trong file "device_list.csv" (Điều kiện là thiết bị cisco cần kết nối đã được cấu hình SSH) Kết quả tìm được in ra màn hình và lưu vào file "Show_arp_Ketqua_192.168.0.1.csv" Câu lệnh chính dùng trong bài: - show arp <ip cần tìm> - show mac address-table address <địa chỉ mac cần tìm> ''' import netmiko # import thư viện netmiko import os # Thông tin thiết bị cần SSH vào (định nghĩa dictionnary) Sw_1 = { "host":"192.168.0.1", "username":"admin", "password":"admin1234@core", "device_type":"cisco_ios" } print("Connecting to a host: " + Sw_1["host"] + "...\n") # Hiển thị thông báo kết nối tới # dùng hàm ConnectHandler trong thư viện netmiko để kết nối với Sw_1 với các thông tin đã định nghĩa trong dictionnary net_connect = netmiko.ConnectHandler(**Sw_1) with open ("device_list.csv","r") as rfile: # mở file keys = rfile.readline() # lấy dòng đầu tiên values = rfile.read() # các dòng còn lại là giá trị cần gán vào dict # print(keys) # print(values) ''' để remove xuống dòng (newline) chúng ta có thể dùng print(keys,end="") ''' file_ketqua = "Show_arp_Ketqua_" + Sw_1["host"] + ".csv" # định nghĩa tên file cần ghi kết quả file_header = keys.rstrip() + ",Vlan,Mac Address,Type,Port\n" # bỏ newline (\n) ở cuối dòng và nối thêm chuỗi để ghi vào file chuẩn bị để chứa kết quả show mac address và chèn newline vào cuối f = open(file_ketqua,"w") # print(file_header) f.write(file_header) f.flush() # thực hiện ghi f.close() # đóng file để giải phóng bộ nhớ for values in values.splitlines(): # trả về một chuỗi tương ứng là một dòng trong biến values values = values.split(",") # mỗi dòng chuyển thành list ip_addr = values[0] # giá trị của cột đầu tiên là địa chỉ IP cần lấy ra ip_description = values[1] # print(ip_addr) # print(ip_description) # print(values) print("*" + ip_addr + ":") # In ra IP đang cần show net_connect.send_command("ping" + " " + ip_addr) # ping địa chỉ IP cần kiểm tra để switch cập nhật vào bảng MAC show_arp = "show arp" + " " + ip_addr show_arp = net_connect.send_command(show_arp) # thực hiện lênh show arp với chính IP cần tìm # In ra dòng thứ nhì trong chuỗi # print (show_arp.splitlines()[1]) # lấy dòng thứ nhì và phân ra từng cụm fields = show_arp.splitlines()[1].split() # lấy cụm thứ 4 (là địa chỉ MAC) tính từ trái sang, sau đó sẽ thực hiện lệnh show mac với MAC này mac_addr = fields[3] # print (mac_addr) show_mac_addr = "show mac address-table address" + " " + mac_addr show_mac_addr = net_connect.send_command(show_mac_addr) # thực hiện lệnh show show_mac_addr = show_mac_addr.splitlines()[5].split() # lấy dòng thứ 6 chuyển thành list print(show_mac_addr) # In kết quả show ra màn hình print() # In ra dòng trắng show_mac_addr = values + show_mac_addr # thực hiện nối thông tin ban đầu và kết quả #print(show_mac_addr) show_mac_addr = ",".join(show_mac_addr) + "\n" # convert list sang string và thêm "," vào giữa mỗi cụm f = open(file_ketqua,"a") f.write(show_mac_addr) # thực hiện ghi thêm kết quả vào file kết quả path = os.getcwd() # lấy đường dẫn hiện tại print("*" * 20 + "KẾT QUẢ ĐƯỢC LƯU TẠI" + "*" * 20) print(r"{}".format(path)) print(file_ketqua) print("*" * 60 + "\n")

    • Kết quả:

    Connecting to a host: 192.168.0.1...

    *192.168.0.101:
    ['1', '0050.7966.6803', 'DYNAMIC', 'Et0/1']

    *192.168.0.102:
    ['1', '0050.7966.6805', 'DYNAMIC', 'Et0/2']

    *192.168.0.103:
    ['1', '0050.7966.6806', 'DYNAMIC', 'Et0/3']

    *192.168.0.104:
    ['1', '0050.7966.6804', 'DYNAMIC', 'Et1/3']

    *192.168.0.105:
    ['1', '0050.7966.6802', 'DYNAMIC', 'Et1/2']

    ********************KẾT QUẢ ĐƯỢC LƯU TẠI********************
    C:\vck\LAB
    Show_arp_Ketqua_192.168.0.1.csv
    ************************************************************

    [Finished in 19.5s]

    Nội dung file show_arp_Ketqua có dạng


    2. Cấu hình description cho interface với thông tin trong file devices_list.csv

    • Code:

    '''
    Tìm thiết bị đang gắng vào port nào trên local switch khi biết địa chỉ IP của nó Danh sách các IP cần tìm để trong file "device_list.csv" (Điều kiện là thiết bị cisco cần kết nối đã được cấu hình SSH) Kết quả tìm được in ra màn hình và lưu vào file "Show_arp_Ketqua_192.168.0.1.csv" Câu lệnh chính dùng trong bài: - show arp <ip cần tìm> - show mac address-table address <địa chỉ mac cần tìm> - int <tên interface> - description <nội dung cần chú thích> ''' import netmiko # import thư viện netmiko import os # Thông tin thiết bị cần SSH vào (định nghĩa dictionnary) Sw_1 = { "host":"192.168.0.1", "username":"admin", "password":"admin1234@core", "device_type":"cisco_ios" } print("Connecting to a host: " + Sw_1["host"] + "...\n") # Hiển thị thông báo kết nối tới # dùng hàm ConnectHandler trong thư viện netmiko để kết nối với Sw_1 với các thông tin đã định nghĩa trong dictionnary net_connect = netmiko.ConnectHandler(**Sw_1) with open ("device_list.csv","r") as rfile: # mở file keys = rfile.readline() # lấy dòng đầu tiên values = rfile.read() # các dòng còn lại là giá trị cần gán vào dict # print(keys) # print(values) ''' để remove xuống dòng (newline) chúng ta có thể dùng print(keys,end="") ''' file_config = Sw_1["host"] + ".txt" # định nghĩa tên file config f = open(file_config,"w") # khởi tạo file config rỗng f.flush() # thực hiện ghi f.close() # đóng file để giải phóng bộ nhớ for values in values.splitlines(): # trả về một chuỗi tương ứng là một dòng trong biến values values = values.split(",") # mỗi dòng chuyển thành list ip_addr = values[0] # giá trị của cột đầu tiên là địa chỉ IP cần lấy ra ip_description = values[1] # print(ip_addr) # print(ip_description) # print(values) # print("*" + ip_addr + ":") # In ra IP đang cần show net_connect.send_command("ping" + " " + ip_addr) # ping địa chỉ IP cần kiểm tra để switch cập nhật vào bảng MAC show_arp = "show arp" + " " + ip_addr show_arp = net_connect.send_command(show_arp) # thực hiện lênh show arp với chính IP cần tìm # In ra dòng thứ nhì trong chuỗi # print (show_arp.splitlines()[1]) # lấy dòng thứ nhì và phân ra từng cụm fields = show_arp.splitlines()[1].split() # lấy cụm thứ 4 (là địa chỉ MAC) tính từ trái sang, sau đó sẽ thực hiện lệnh show mac với MAC này mac_addr = fields[3] # print (mac_addr) show_mac_addr = "show mac address-table address" + " " + mac_addr show_mac_addr = net_connect.send_command(show_mac_addr) # thực hiện lệnh show show_mac_addr = show_mac_addr.splitlines()[5].split() # lấy dòng thứ 6 chuyển thành list # print(show_mac_addr) # In kết quả show ra màn hình int_port = show_mac_addr[3] # lấy tên interface # print(int_port) ''' Đưa các thông tin cần cấu hình cho interface vào file cấu hình mẫu ''' f = open(file_config,"a") f.write("interface " + " " + int_port + "\n") f.write("description " + " ===Link to " + ip_addr + " " + ip_description + "===\n") f.write("exit\n") f.flush() # thực hiện ghi f.close() # đóng file để giải phóng bộ nhớ net_connect.send_config_from_file(file_config) # thực hiện cấu hình từ file cấu hình mẫu net_connect.save_config() # lưu cấu hình ''' Kiểm tra sau khi cấu hình ''' show_int_des = "show interface description" show_int_des = net_connect.send_command(show_int_des) print(show_int_des)


    • Kết quả:
    Connecting to a host: 192.168.0.1...

    Interface                      Status         Protocol Description
    Et0/0                          up             up       
    Et0/1                          up             up       ===Link to 192.168.0.101 IP Phone===
    Et0/2                          up             up       ===Link to 192.168.0.102 Wireless Controller===
    Et0/3                          up             up       ===Link to 192.168.0.103 Juniper===
    Et1/0                          up             up       
    Et1/1                          up             up       
    Et1/2                          up             up       ===Link to 192.168.0.105 PC===
    Et1/3                          up             up       ===Link to 192.168.0.104 Linux Server===
    Vl1                            up             up       
    [Finished in 35.4s]

    Xong!

    Basic Shell Script In Linux/Ubuntu/CentOS - P1

    Trong windows chúng ta có batch file, trong linux có Shell Script. Nói chung shell là chương trình có thể tương tác người dùng, có thể input dữ liệu, có thể output ra màn hình, có thể tự động thực thi một nhóm lệnh do chúng ta tạo ra theo một lịch trình đã thiết lập.

    1. Cách tạo và thực thi một chương trình shell

    • Tạo file hello.sh với nội dung:

    #!/bin/bash
    echo "hello world"

    Giải thích: 
    - #!/bin/bash: là shellbang, là dòng bắt buộc trong shell script
    - echo "hello world": Khi chạy file hello.sh nó sẽ xuất ra màn hình chữ "hello world"

    • Thiết lập user có quyền (x) được phép thực thi cho file hello.sh
    chmod u+x hello.sh


    • Chạy chương trình - file hello.sh vừa tạo

    Có thể thực hiện 1 trong 3 cách như dưới
    - sh hello.sh
    - bash hello.sh
    - ./hello.sh

    Ví dụ: 

    khanhvc@ubutu:~/projects/shell$ sh hello.sh
    hello world


    2. Shell variables

    2.1 Biến của hệ thống: dùng lệnh printenv để in ra các biến đang tồn tại trong hệ thống linux

    khanhvc@ubutu:~/projects/shell$ printenv
    SHELL=/bin/bash
    LC_ADDRESS=vi_VN
    LC_NAME=vi_VN
    LC_MONETARY=vi_VN
    PWD=/home/khanhvc/projects/shell
    LOGNAME=khanhvc
    XDG_SESSION_TYPE=tty
    MOTD_SHOWN=pam
    HOME=/home/khanhvc
    LC_PAPER=vi_VN
    LANG=en_US.UTF-8
    LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
    SSH_CONNECTION=192.168.0.48 63977 192.168.0.73 22
    LESSCLOSE=/usr/bin/lesspipe %s %s
    XDG_SESSION_CLASS=user
    LC_IDENTIFICATION=vi_VN
    TERM=xterm
    LESSOPEN=| /usr/bin/lesspipe %s
    USER=khanhvc
    SHLVL=1
    LC_TELEPHONE=vi_VN
    LC_MEASUREMENT=vi_VN
    XDG_SESSION_ID=330
    XDG_RUNTIME_DIR=/run/user/1000
    SSH_CLIENT=192.168.0.48 63977 22
    LC_TIME=vi_VN
    XDG_DATA_DIRS=/usr/local/share:/usr/share:/var/lib/snapd/desktop
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
    DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
    SSH_TTY=/dev/pts/0
    LC_NUMERIC=vi_VN
    OLDPWD=/home/khanhvc/projects
    _=/usr/bin/printenv
    khanhvc@ubutu:~/projects/shell$

    Ví dụ: Tạo file demo.sh để in các thông tin các biến theo yêu cầu dưới:
    • Thông tin version của shell hiện tại
    • Tên của shell
    • Thư mục gốc của user hiện tại
    • Thông tin đường dẫn đã được thiết lập 
    Nội dung file demo.sh
    #!/bin/bash
    echo $BASH_VERSION
    echo $BASH
    echo $HOME
    echo $PATH

    Kết quả:
    khanhvc@ubutu:~/projects/shell$ ./demo.sh
    5.0.17(1)-release
    /bin/bash
    /home/khanhvc
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
    khanhvc@ubutu:~/projects/shell$


    2.2 Biến do người dùng định nghĩa UDV - User Defined variables, biến CÓ phân biệt chữ hoa, chữ thường
    • Cú pháp:
    ten_bien=gia_tri

    2.2.1 EXPR
    • Ví dụ:
    #!/bin/bash
    a=6
    b=3
    expr $a + $b
    Kết quả là: 9, vì nó lấy giá trị của a cộng cho giá trị của b

    • Ví dụ khác:
    #!/usr/bin/bash
    a=6
    b=3

    tong=$(expr $a + $b)
    echo "Ket qua cua a CONG b = " $tong

    hieu=$(expr $a - $b)
    echo "Ket qua cua a TRU b = " $hieu

    thuong=$(expr $a / $b)
    echo "Ket qua cua a CHIA b = " $thuong

    #phép nhân chúng ta phải thêm dấu "\" trước dấu "*" để thực hiện phép nhân
    tich=$(expr $a \* $b)
    echo "Ket qua cua a NHAN b = " $tich
    Kết quả:
    khanhvc@ubutu:~/projects/shell$ sh demo.sh
    Ket qua cua a CONG b =  9
    Ket qua cua a TRU b =  3
    Ket qua cua a CHIA b =  2
    Ket qua cua a NHAN b =  18
    khanhvc@ubutu:~/projects/shell$

    2.2.2 LET

    • Ví dụ 

    #!/usr/bin/bash
    a=6
    let a+=1
    echo "a = 6, a + 1 = " ${a}

    let b=a+1
    echo "b = a + 1 = " $b

    let c=a+b
    echo "c = a + b = " $c
    • Kết quả:
    khanhvc@ubutu:~/projects/shell$ ./demo.sh
    a = 6, a + 1 =  7
    b = a + 1 =  8
    c = a + b =  15
    khanhvc@ubutu:~/projects/shell$


    2.2.3 “bc” – An arbitrary precision calculator language”

    • Ví dụ: 

    #!/usr/bin/bash
    #in ra kết quả của 5 + 3
    echo "5 + 3" | bc

    #in ra kết quả là giá trị của x + y
    x=10
    y=20
    echo "$x + $y" | bc

    #in ra kết quả là giá trị của x + y
    bc <<< "$x + $y"
    • Kết quả:
    khanhvc@ubutu:~/projects/shell$ ./demo.sh
    8
    30
    30
    khanhvc@ubutu:~/projects/shell$

    P/s: Kiểm tra câu lệnh chạy trong linux chúng ta dùng echo $? nếu kết quả số 0 thì câu lệnh kết thúc thành công, ngược lại là lỗi


    Xong!

    Juniper - Backup and Restore Configuration on EX Switches

     NỘI DUNG:

    1. Backup Kết Hợp Show Và Log Session Của SecureCRT

    2. Restore - Load File

    3. Restore - Load Terminal


    THỰC HIỆN:

    1. Backup Kết Hợp Show Và Log Session Của SecureCRT

    - Kết nối đến thiết bị cần backup bằng SecureCRT

    - Trên SecureCRT vào File -> LogSession -> Save để lưu các nội dung show vào file này.


    - show | no-more

    HOẶC

    - show | no-more | display set


    Sau khi thực hiện lệnh show này toàn bộ nội dung cấu hình sẽ lưu trong file 2021-04-28-Juniper.log


    2. Restore - Load File

    Commands Diễn Giải
    configure Vào mode config
    load merge /var/home/admin/2021-04-27_IP127.246.cfg Load file 2021-04-27_IP127.246.cfg nối vào cấu hình hiện tại

    3. Restore - Load Terminal

    Commands Diễn Giải
    configure Vào mode config
    load merge terminal sau khi gõ dòng này xong chúng ta dán nội dung cần cấu hình vào
    [Type ^D at a new line to end input] sau khi DÁN NỘI DUNG xong nhấn enter để xuống hàng sau đó nhấn Ctrl + D để thực hiện nối nội dung vào cấu hình

    xong!
    /*header slide*/