Thực hành buổi 3

📝 ĐỀ BÀI

1. Bài tập 8

💡 MÔ HÌNH

Cho mô hình như sau :

Tạo thư mục và các file

Tạo các file và thư mục như hình bên dưới :

Bằng cách thực hiện các lệnh sau:

mkdir ~/Desktop/BaiTap8
cd ~/Desktop/BaiTap8
mkdir pc1 pc2 pc3 pc4 switch
touch pc1.startup pc2.startup pc3.startup pc4.startup switch.startup

Thiết lập các file

:::: tabs

::: tab lab.conf

pc1[0]=A
pc2[0]=B
pc3[0]=C
pc4[0]=D
switch[0]=A
switch[1]=B
switch[2]=C
switch[3]=D

:::

::: tab pc1.startup

ifconfig eth0 10.0.0.10/24 up
ifconfig eth0 hw ether 00:00:00:00:00:10

:::

::: tab pc2.startup

ifconfig eth0 10.0.0.20/24 up
ifconfig eth0 hw ether 00:00:00:00:00:20

:::

::: tab pc3.startup

ifconfig eth0 10.0.0.30/24 up
ifconfig eth0 hw ether 00:00:00:00:00:30

:::

::: tab pc4.startup

ifconfig eth0 10.0.0.40/24 up
ifconfig eth0 hw ether 00:00:00:00:00:40

:::

::: tab switch.startup

ifconfig eth0 up
ifconfig eth0 hw ether 00:00:00:00:10:10
ifconfig eth1 up
ifconfig eth1 hw ether 00:00:00:00:20:20
ifconfig eth2 up
ifconfig eth2 hw ether 00:00:00:00:30:30
ifconfig eth3 up
ifconfig eth3 hw ether 00:00:00:00:40:40
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
brctl addif br0 eth2
brctl addif br0 eth3
brctl stp br0 on
ifconfig br0 up

::: ::::

🤔 GIẢI THÍCH

  • Chỉ số in màu vàng là địa chỉ vật lý

  • hw ether là gắn địa chỉ MAC cho mạng

  • Trong file switch.startup :

    1. Tạo ra cầu nối tên là br0 và nối ở các nhánh khác nhau

    2. Lệnh addbr : tạo ra một cầu nối nối (br0, br1...) để nối nhánh A,B,CD lại

    3. Lệnh addif : Đăng ký các cổng của switch ảo và cầu nối. Các cổng thuộc chung 1 cầu nối thì truyền dữ liệu cho nhau

    4. Lệnh stp <name_of_bridge> : Kích hoạt giải thuật STP trên một cầu nối của switch ảo

    5. Lệnh ifconfig <name_of_bridge> : Kích hoạt cầu nối (br0, br1...)

Khởi tạo hệ thống máy ảo

Sử dụng lệnh Kathara sau :

kathara lstart pc1 pc2 pc3 pc4 switch

Trên thiết bị switch sử dụng MAC Lookup Table bằng lệnh sau :

brctl showmacs br0

Trên máy ảo pc1, pc3, switch thực hiện lệnh tcpdump như sau :

:::: tabs

::: tab pc1

tcpdump -e -q -w /shared/BT8_pc1.pcap

:::

::: tab pc2

tcpdump -e -q -w /shared/BT8_pc2.pcap

:::

::: tab switch

tcpdump -e -q -w /shared/BT8_switch.pcap

::: ::::

🤔 GIẢI THÍCH

  • -e : Thay vì hiển thị địa chỉ IP sẽ được thay thế bằng địa chỉ MAC

  • -q : Hiển thị ít thông tin hơn

  • -w : Xuất file ra đường dẫn cụ thể

Từ pc2 thực hiện ping tới pc3 bằng lệnh ping 10.0.0.30 -c 10

Thực hiện gõ lại lệnh brctl showmacs br0 trên switch và xem khác biệt :

💡 NHẬN XÉT

Sau khi sử dụng lệnh ping từ switch đã sàn lọc lại các địa chỉ vật lý của các máy hiện có và cập nhật nó vào trong MAC Lookup Table

Phân tích gói pcap trên WireShark

Trong thư mục sharedBaiTap8, có chứa các file .pcap đã được phân tích trước đó

Hãy mở file BT8_switch.pcap bằng WireShark:

Chọn khung giao diện có giao thức ARP đến từ địa chỉ MAC : 00:00:00:00:00:20

Trên hình là khung số 8

💡 NHẬN XÉT

  • Switch nhận được khung dữ liệu này vì pc2 đã ping tới pc3. pc2 truyền thông điệp tới switch để tìm địa chỉ MAC của pc3

  • Khung dữ liệu này có ý nghĩa switch đã nhận được yêu cầu tìm địa chỉ vật lý của pc3pc2 gửi tới

Chọn khung giao diện có giao thức ARP đến từ địa chỉ MAC : 00:00:00:00:00:30

Trên hình là khung số 9

💡 NHẬN XÉT

  • Switch nhận được khung dữ liệu này vì đã tìm thấy được địa chỉ vật lý của pc3

  • Khung dữ liệu này có ý nghĩa là switch đã gửi địa chỉ vật lý của pc3 tới pc2

Mở file BT8_pc1.pcap bằng WireShark

Chọn khung dữ liệu có giao thức ARP đến từ địa chỉ MAC 00:00:00:00:00:20

Trên hình là khung 43

💡 NHẬN XÉT

  • pc1 nhận được dữ liệu này vì switch truyền quảng bá khung dữ liệu ra tất cả các cổng để tìm được địa chỉ vật lý của pc3

  • Khung dữ liệu này có ý nghĩa pc1 sẽ không hồi đáp vì 10.0.0.30 không phải là IP của pc1

Mở file BT8_pc3.pcap bằng WireShark

Chọn khung dữ liệu có giao thức ARP đến từ địa chỉ MAC 00:00:00:00:00:20

Trên hình là khung 30

💡 NHẬN XÉT

  • pc3 nhận được khung này vì switch truyền bá khung dữ liệu ra tất cả các cổng để tìm địa chỉ vật lý của pc3

  • pc3 sẽ phản hồi khung này, vì địa chỉ của pc310.0.0.30 khớp với địa chỉ switch đang tìm kiếm


📝 KẾT LUẬN

  • Sau khi thực hiện ping giữa 2 máy ảo có cùng switch thì switch sẽ truyền dữ liệu tìm kiếm đến tất cả các thiết bị được switch nối kết trong cùng mạng LAN

  • Sau đó switch học được địa chỉ vật lý của các máy tính đó và cập nhật vào trong MAC Lookup Table

Huỷ hệ thống máy ảo

Sử dụng lệnh sau để huỷ hệ thống máy ảo vừa tạo :

kathara wipe

2. Bài tập 9

💡 MÔ HÌNH

Xây dụng mô hình mạng như sau :

Tạo thư mục và các file

Tạo các thư mục theo mô hình như sau :

Bằng cách sử dụng các lệnh sau :

mkdir ~/Desktop/BaiTap9
cd ~/Desktop/BaiTap9
mkdir pc1 pc2 pc3 pc4 pc5 pc6 pc7 pc8 switch1 switch2
touch lab.conf pc1.startup pc2.startup pc3.startup pc4.startup pc5.startup pc6.startup pc7.startup pc8.startup switch1.startup switch2.startup

Thiết lập các file

:::: tabs

::: tab lab.conf

pc1[0]=A
pc2[0]=B
pc3[0]=C
pc4[0]=D
pc5[0]=E
pc6[0]=F
pc7[0]=G
pc8[0]=H
switch1[0]=A
switch1[1]=B
switch1[2]=C
switch1[3]=D
switch1[4]=K
switch2[0]=E
switch2[1]=F
switch2[2]=G
switch2[3]=H
switch2[4]=K

:::

::: tab pc1.startup

ifconfig eth0 10.0.0.10/24 up
ifconfig eth0 hw ether 00:00:00:00:00:10

:::

::: tab pc2.startup

ifconfig eth0 10.0.0.20/24 up
ifconfig eth0 hw ether 00:00:00:00:00:20

:::

::: tab pc3.startup

ifconfig eth0 10.0.0.30/24 up
ifconfig eth0 hw ether 00:00:00:00:00:30

:::

::: tab pc4.startup

ifconfig eth0 10.0.0.40/24 up
ifconfig eth0 hw ether 00:00:00:00:00:40

:::

::: tab pc5.startup

ifconfig eth0 10.0.0.11/24 up
ifconfig eth0 hw ether 00:00:00:00:77:10

:::

::: tab pc6.startup

ifconfig eth0 10.0.0.22/24 up
ifconfig eth0 hw ether 00:00:00:00:77:20

:::

::: tab pc7.startup

ifconfig eth0 10.0.0.33/24 up
ifconfig eth0 hw ether 00:00:00:00:77:30

:::

::: tab pc8.startup

ifconfig eth0 10.0.0.44/24 up
ifconfig eth0 hw ether 00:00:00:00:77:40

:::

::: tab switch1.startup

ifconfig eth0 up
ifconfig eth0 hw ether 00:00:00:00:10:10
ifconfig eth1 up
ifconfig eth1 hw ether 00:00:00:00:20:20
ifconfig eth2 up
ifconfig eth2 hw ether 00:00:00:00:30:30
ifconfig eth3 up
ifconfig eth3 hw ether 00:00:00:00:40:40
ifconfig eth4 up
ifconfig eth4 hw ether 00:00:00:00:50:50
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
brctl addif br0 eth2
brctl addif br0 eth3  
brctl addif br0 eth4
brctl stp br0 on
ifconfig br0 up  

:::

::: tab switch2.startup

ifconfig eth0 up 
ifconfig eth0 hw ether 00:00:00:00:88:10
ifconfig eth1 up
ifconfig eth1 hw ether 00:00:00:00:88:20
ifconfig eth2 up
ifconfig eth2 hw ether 00:00:00:00:88:30
ifconfig eth3 up
ifconfig eth3 hw ether 00:00:00:00:88:40
ifconfig eth4 up
ifconfig eth4 hw ether 00:00:00:00:88:50
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
brctl addif br0 eth2
brctl addif br0 eth3
brctl addif br0 eth4
brctl stp br0 on
ifconfig br0 up

::: ::::

Khởi tạo hệ thống máy ảo

Sử dụng lệnh kathara sau để khởi thộng hệ thống máy ảo

kathara lstart pc1 pc2 pc3 pc4 pc5 pc6 pc7 pc8 switch1 switch2

⚠️ LƯU Ý

Nếu xuất hiện lỗi gì trước dòng End Startup Commands Log, thì kiểm tra lại file cấu hình có đúng không

Kiểm tra MAC Lookup Table cho switch1switch2 bằng lệnh sau:

brctl showmacs br0

Trên máy ảo switch1switch2 thực hiện lệnh tcpdump như sau:

:::: tabs

::: tab switch1

tcpdump -e -q -w /shared/BT9_switch1.pcap

:::

::: tab switch2

tcpdump -e -q -w /shared/BT9_switch2.pcap

::: ::::

Sau đó dừng switch1switch2 bằng lệnh CTRL+C

Sử dụng lại lệnh brctl showmacs br0 cho switch1switch2 để xem sự khác biệt

💡 NHẬN XÉT

  • switch1 học địa chỉ của pc1pc4

  • switch2 chỉ học được địa chỉ của pc1, (vì pc1 ping tới pc4), đường đi này không qua nối kết đến LAN trong switch2

  • pc5, pc6, pc7, pc8 có nhận được gói tin ICMP đến từ pc1

Trên máy ảo switch1switch2 thực hiện lệnh tcpdump như sau:

:::: tabs

::: tab switch1

tcpdump -e -q -w /shared/BT9_switch1_B.pcap

:::

::: tab switch2

tcpdump -e -q -w /shared/BT9_switch2_B.pcap

::: ::::

Từ pc2 ping tới pc7 bằng lệnh sau :

ping 10.0.0.33 -c 10

Gõ lại lệnh brctl showmacs br0 cho thiết bị switch1switch2

💡 NHẬN XÉT

  • switch1 chỉ học được địa chỉ của máy pc2,pc7

  • switch2 chỉ học được địa chỉ của máy pc2, pc2

  • pc5, pc6, pc7, pc8 có nhận được gói tin từ pc2


📝 KẾT LUẬN

  • Nếu ping giữa 2 máy khác nhau khác nhánh mạng LAN

  • Switch nhận được địa chỉ vật lý của máy tính thuộc cùng nhánh mạng đó hoặc khác nhánh

Huỷ hệ thống máy ảo

Sử dụng lệnh sau để huỷ hệ thống máy ảo vừa tạo :

kathara wipe

3. Bài tập 10

💡 MÔ HÌNH

Xây dựng mô hình sau :

Tạo thư mục và các file

Tạo các thư mục theo mô hình như sau :

mkdir ~/Desktop/BaiTap10
cd ~/Desktop/BaiTap10
mkdir pc1 pc2 pc3 pc4 switch1 switch2 router
touch lab.conf pc1.startup pc2.startup pc3.startup pc4.startup switch1.startup switch2.startup router.startup

Thiết lập các file

⚠️ LƯU Ý

Vì mô hình không có IP tĩnh và các tên nhánh mạng sẵn nên ta phải tự điền, tham khảo như sau :

:::: tabs

::: tab lab.conf

pc1[0]=A
pc2[0]=B
pc3[0]=D
pc4[0]=E
switch1[0]=A
switch1[1]=B
switch1[2]=C
switch2[0]=D
switch2[1]=E
switch2[2]=F
router[0]=C
router[1]=F

:::

::: tab pc1.startup

ifconfig eth0 192.168.10.10/24 up
route add default gw 192.168.10.1

:::

::: tab pc2.startup

ifconfig eth0 192.168.10.11/24 up
route add default gw 192.168.10.1

:::

::: tab pc3.startup

ifconfig eth0 192.168.11.10/24 up
route add default gw 192.168.11.1

:::

::: tab pc4.startup

ifconfig eth0 192.168.11.11/24 up
route add default gw 192.168.11.1

:::

::: tab switch1.startup

ifconfig eth0 up
ifconfig eth1 up
ifconfig eth2 up
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
brctl addif br0 eth2
brctl stp br0 on
ifconfig br0 up

:::

::: tab switch2.startup

ifconfig eth0 up
ifconfig eth1 up
ifconfig eth2 up
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
brctl addif br0 eth2
brctl stp br0 on
ifconfig br0 up

:::

::: tab router.startup

ifconfig eth0 192.168.10.1/24 up
ifconfig eth1 192.168.11.1/24 up

::: ::::

Khởi tạo hệ thống máy ảo

Sử dụng lệnh kathara sau để khởi chạy thiết bị máy ảo vừa tạo :

kathara lstart pc1 pc2 pc3 pc4 router switch1 switch2

💡 MẸO

Hãy chắc rằng các thiết bị của bạn đều chính xác, hãy kiểm tra Startup Commands Log trên từng thiết bị xem có cái này bị lỗi hay không

Sử dụng lệnh brctl showmacs br0 cho switch1switch2

Sử dụng lệnh tcpdump sau lần lượt cho switch1switch2 như sau :

:::: tabs

::: tab switch1

tcpdump -e -q -w /shared/BT10_swtich1.pcap

:::

::: tab switch2

tcpdump -e -q -w /shared/BT10_switch2.pcap

::: ::::

Sau đó từ pc1 sử dụng lệnh ping tới pc2, pc3pc4 như sau:

Sử dụng lại lệnh brctl showmacs br0 cho switch1switch2 để xem lại cập nhật MAC Lookup Table

Các địa chỉ vật lý ip của nhiều thiết bị đã được các switch học khi sử dụng ping tới từng thiết bị

Huỷ hệ thống máy ảo

Sử dụng lệnh sau để huỷ hệ thống máy ảo :

kathara wipe

4. Bài tập 11

💡 MÔ HÌNH

Xây dựng mô hình như sau :

Tạo thư mục và các file

Tạo các file và thư mục theo mô hình sau :

Bằng cách sử dụng các lệnh sau :

mkdir ~/Desktop/BaiTap10
cd ~/Desktop/BaiTap10
mkdir pc1 pc2 pc3 pc4 pc5 pc6 pc7 pc8 switch1 switch2 switch3 switch4 router1 router2
touch lab.conf pc1.startup pc2.startup pc3.startup pc4.startup pc5.startup pc6.startup pc7.startup pc8.startup switch1.startup switch2.startup switch3.statup switch4.startup router1.startup router2.startup

Thiết lập các file

⚠️ LƯU Ý

Trước hết ta phải lập ra tên các nhánh mạng như sau :

Sử dụng gedit để thiết lập các file như sau :

lab.conf

pc1[0]=A
pc2[0]=B
pc3[0]=C
pc4[0]=D
pc5[0]=G
pc6[0]=H
pc7[0]=I
pc8[0]=J

switch1[0]=A
switch1[1]=B
switch1[2]=E

switch2[0]=C
switch2[1]=D
switch2[2]=F

switch3[0]=G
switch3[1]=H
switch3[2]=K

switch4[0]=I
switch4[1]=J
switch4[2]=O

router1[0]=E
router1[1]=F
router1[2]=M

router2[0]=O
router2[1]=K
router2[2]=M

:::: tabs

::: tab pc1.startup

ifconfig eth0 192.168.10.10/24 up
ifconfig eth0 hw ether 00:00:00:00:00:10
route add default gw 192.168.10.1

:::

::: tab pc2.startup

ifconfig eth0 192.168.10.11/24 up
ifconfig eth0 hw ether 00:00:00:00:00:20
route add default gw 192.168.10.1

:::

::: tab pc3.startup

ifconfig eth0 192.168.11.10/24 up
ifconfig eth0 hw ether 00:00:00:00:11:10
route add default gw 192.168.11.1

:::

::: tab pc4.startup

ifconfig eth0 192.168.11.11/24 up
ifconfig eth0 hw ether 00:00:00:00:10:20
route add default gw 192.168.11.1

:::

::: tab pc5.startup

ifconfig eth0 192.168.20.10/24 up
ifconfig eth0 hw ether 00:00:00:00:22:10
route add default gw 192.168.20.1

:::

::: tab pc6.startup

ifconfig eth0 192.168.20.11/24 up
ifconfig eth0 hw ether 00:00:00:00:22:20
route add default gw 192.168.20.1

:::

::: tab pc7.startup

ifconfig eth0 192.168.21.10/24 up
ifconfig eth0 hw ether 00:00:00:00:33:10
route add default gw 192.168.21.1

:::

::: tab pc8.startup

ifconfig eth0 192.168.21.10/24 up
ifconfig eth0 hw ether 00:00:00:00:33:20
route add default gw 192.168.21.1

::: ::::

:::: tabs

::: tab switch1.startup

ifconfig eth0 up
ifconfig eth0 hw ether 00:00:00:00:10:10
ifconfig eth1 up
ifconfig eth1 hw ether 00:00:00:00:10:20
ifconfig eth2 up
ifconfig eth2 hw ether 00:00:00:00:10:30

brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
brctl addif br0 eth2
brctl stp br0 on
ifconfig br0 up

:::

::: tab switch2.startup

ifconfig eth0 up
ifconfig eth0 hw ether 00:00:00:00:88:10
ifconfig eth1 up
ifconfig eth1 hw ether 00:00:00:00:88:20
ifconfig eth2 up
ifconfig eth2 hw ether 00:00:00:00:88:30

brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
brctl addif br0 eth2
brctl stp br0 on
ifconfig br0 up

:::

::: tab switch3.startup

ifconfig eth0 up
ifconfig eth0 hw ether 00:00:00:00:20:10
ifconfig eth1 up
ifconfig eth1 hw ether 00:00:00:00:20:20
ifconfig eth2 up
ifconfig eth2 hw ether 00:00:00:00:20:30

brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
brctl addif br0 eth2
brctl stp br0 on
ifconfig br0 up

:::

::: tab switch4.startup

ifconfig eth0 up
ifconfig eth0 hw ether 00:00:00:00:44:10
ifconfig eth1 up
ifconfig eth1 hw ether 00:00:00:00:44:20
ifconfig eth2 up
ifconfig eth2 hw ether 00:00:00:00:44:30

brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
brctl addif br0 eth2
brctl stp br0 on
ifconfig br0 up

:::

::: tab router1.startup

ifconfig eth0 192.168.10.1/24 up
ifconfig eth1 192.168.11.1/24 up
ifconfig eth2 10.0.0.1/30 up
route add -net 192.168.20.0/24 gw 10.0.0.2
route add -net 192.168.21.0/24 gw 10.0.0.2

:::

::: tab router2.startup

ifconfig eth0 192.168.21.1/24 up
ifconfig eth1 192.168.20.1/24 up
ifconfig eth2 10.0.0.2/30 up
route add -net 192.168.10.0/24 gw 10.0.0.1
route add -net 192.168.11.0/24 gw 10.0.0.1

::: ::::

Khởi tạo hệ thống máy ảo

Sử dụng lệnh kathara sau dể khởi tạo máy ảo :

kathara lstart pc1 pc2 pc3 pc4 pc5 pc6 pc7 pc8 switch1 switch2 switch3 switch4 router1 router2

💡 MẸO

Hãy chắc rằng các thiết bị của bạn đều chính xác, hãy kiểm tra Startup Commands Log trên từng thiết bị xem có cái này bị lỗi hay không

Huỷ hệ thống máy ảo

Sử dụng lệnh sau để huỷ máy ảo :

kathara wipe
Cập nhật lúc :
Tác giả: Zenfection, Zenfection