/*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===*/

Proxy ARP, Static ARP

Proxy ARP là tính năng cho phép router trả lời dùm ARP request của lớp mạng mà nó biết. Để hiểu rỏ hơn ta xét ví dụ ở sơ đồ mạng bên dưới 



+ PC1 có subnet mask /24;
+ PC2 có subnet mask /8. 
  • Khi PC1 muốn kết nối đến server 10.2.2.100 thì quá trình kết nối sẽ xảy ra các bước là:
  1. PC1 sẽ so sánh IP và subnet mask của nó với địa chỉ IP của server (ví dụ này là 10.2.2.100) và nó thấy rằng server là khác lớp mạng với nó
  2. PC1 muốn đến được server (lớp mạng khác) thì bắt buộc phải thông qua default gateway (10.1.1.254)
  3. PC1 kiểm tra trong ARP thử có dữ liệu nào cho 10.1.1.254 không nếu không có sẽ gửi ARP request
  4. R254 sẽ trả lời ARP request và gửi MAC của nó là của interface Et0/0

  • Khi PC2 muốn kết nối đến Server thì:
  1. PC2 sẽ so sánh IP và subnet mask của nó với IP của server và nó thấy rằng server và nó cùng subnet
  2. PC2 kiểm tra trong ARP thử có dữ liệu nào cho 10.2.2.254 không nếu không có sẽ gửi ARP request
  • Khi proxy ARP được bật trên router thì:
  1. R254 thấy ARP request từ PC2 với subnet 10.1.1.0/24 đến subnet 10.2.2.0/24
  2. R254 thấy rằng đó là lớp mạng mà mình biết (vì connected) và sẽ trả lời gói ARP request dùm cho PC2
  3. R254 gửi ARP reply đến PC2 với MAC address của interface Et0/0
Thực hiện LAB với sơ đồ trên:

PC1
ip 10.1.1.1/24 10.1.1.254

PC2
ip 10.1.1.2/8 10.1.1.254

Server
ip 10.2.2.100/24 10.2.2.254

R254
interface Ethernet0/0
ip address 10.1.1.254 255.255.255.0
no shutdown
exit
interface Ethernet0/1
ip address 10.2.2.254 255.255.255.0
no shutdown
end

Để đảm bảo chắc chắn Proxy ARP đã bậc trên interface Et0/0 chưa, chúng ta dùng lệnh (mặt định được bậc trên router của cisco)

R254#show ip interface ethernet 0/0 | include Proxy
Proxy ARP is enabled
R254#

Kiểm tra hoạt động của Proxy ARP
R254#debug arp
ARP packet debugging is on

Với PC1
Để test từ PC1 ping đến server
PC1> ping 10.2.2.100
84 bytes from 10.2.2.100 icmp_seq=1 ttl=63 time=3.509 ms
84 bytes from 10.2.2.100 icmp_seq=2 ttl=63 time=0.720 ms
84 bytes from 10.2.2.100 icmp_seq=3 ttl=63 time=0.904 ms
84 bytes from 10.2.2.100 icmp_seq=4 ttl=63 time=0.870 ms
84 bytes from 10.2.2.100 icmp_seq=5 ttl=63 time=0.999 ms

R254#
*Apr 21 03:48:35.269: IP ARP: rcvd req src 10.1.1.1 0050.7966.6803, dst 10.1.1.254 Ethernet0/0
*Apr 21 03:48:35.270: IP ARP: creating entry for IP address: 10.1.1.1, hw: 0050.7966.6803
*Apr 21 03:48:35.270: IP ARP: sent rep src 10.1.1.254 aabb.cc00.1000,
                                                                dst 10.1.1.1 0050.7966.6803 Ethernet0/0

R254 nhận ARP request từ PC1 là thiết bị đang hỏi default gateway và R254 trả lời là địa chỉ MAC của interface Et0/0 của mình cho PC1

R254#
*Apr 21 03:48:35.272: IP ARP: creating incomplete entry for IP address: 10.2.2.100 interface Ethernet0/1
*Apr 21 03:48:35.272: IP ARP: sent req src 10.2.2.254 aabb.cc00.1010,
                                                                dst 10.2.2.100 0000.0000.0000 Ethernet0/1
*Apr 21 03:48:35.272: IP ARP: rcvd rep src 10.2.2.100 0050.7966.6805, dst 10.2.2.254 Ethernet0/1

Để biết được MAC của server nên nó khởi tạo request đến server 10.2.2.100 rồi chuyển packet đến server và từ đó R254 cũng nhận được gói tin trả lời từ server thông qua Et0/1. Từ đó nó sẽ trả lời cho PC1 để đến được server 10.2.2.100 thì hỏi IP 10.1.1.254 với MAC là aa:bb:cc:00:10:00 (chính là thông tin của cổng Et0/0 của R254)

PC1> show arp     
aa:bb:cc:00:10:00  10.1.1.254 expires in 113 seconds
PC1> 

Nên, khi kiểm tra bảng ARP trên PC1 thì nó lưu MAC address và IP của default gateway.

Với PC2
R254>
*Apr 21 04:03:46.962: IP ARP: rcvd req src 10.1.1.2 0050.7966.6804, dst 10.2.2.100 Ethernet0/0
*Apr 21 04:03:46.962: IP ARP: creating entry for IP address: 10.1.1.2, hw: 0050.7966.6804
*Apr 21 04:03:46.962: IP ARP: sent rep src 10.2.2.100 aabb.cc00.1000,
                                                                dst 10.1.1.2 0050.7966.6804 Ethernet0/0
*Apr 21 04:03:46.964: IP ARP: rcvd req src 10.2.2.100 0050.7966.6805, dst 10.2.2.254 Ethernet0/1
*Apr 21 04:03:46.964: IP ARP: sent rep src 10.2.2.254 aabb.cc00.1010,
                 dst 10.2.2.100 0050.7966.6805 Ethernet0/1
R254>

R254 nhận được request từ PC2 đến server 10.2.2.100, và nó trả lời cho PC2 rằng để đến được server 10.2.2.100 thì hãy sử dụng MAC aa:bb:cc:00:10:00 là địa chỉ MAC của chính interface Et0/0 của nó.

PC2> show arp     
aa:bb:cc:00:10:00  10.2.2.100 expires in 113 seconds
PC2> 

Thử tắt Proxy ARP trên cổng Et0/0 của R254

R254:
interface Ethernet0/0
no ip proxy-arp

PC1> ping 10.2.2.100
84 bytes from 10.2.2.100 icmp_seq=1 ttl=63 time=1.966 ms
84 bytes from 10.2.2.100 icmp_seq=2 ttl=63 time=0.646 ms
84 bytes from 10.2.2.100 icmp_seq=3 ttl=63 time=1.056 ms
84 bytes from 10.2.2.100 icmp_seq=4 ttl=63 time=1.065 ms
84 bytes from 10.2.2.100 icmp_seq=5 ttl=63 time=0.899 ms
PC1 vẫn ping được bình thường nhờ default gateway và bảng routing trên R254

PC2> ping 10.2.2.100
host (10.2.2.100) not reachable
PC2> 
PC2 không ping đến được server vì: R254 có subnet là 10.1.1.0/24 và nhận được request từ PC2 không nằm trong subnet 10.1.1.0/24 nên nó không forward gói tin broadcast (Router drop bỏ gói tin broadcast) chính vì thế ARP không tạo request đến Server. Trường hợp phải nhờ đến Proxy ARP để giải quyết.

R254#
*Apr 21 06:24:27.233: IP ARP: rcvd req src 10.1.1.2 0050.7966.6804, dst 10.2.2.100 Ethernet0/0
*Apr 21 06:24:28.234: IP ARP: rcvd req src 10.1.1.2 0050.7966.6804, dst 10.2.2.100 Ethernet0/0
*Apr 21 06:24:29.234: IP ARP: rcvd req src 10.1.1.2 0050.7966.6804, dst 10.2.2.100 Ethernet0/0
R254#

Khi Proxy ARP đã được TẮT trên interface Et0/0 của R254 thì R254 sẽ không thay mặt cho Server trả lời gói request này. Đó chính là lý do PC2 không ping được Server.

Noted:
- Server có thể ping đến được PC2 bình thường.
- Có 1 số trường hợp vì lý do gì đó mà không thể bật Proxy ARP trên cổng Et0/0 của R254 được mà bắt buộc PC2 phải ping đến được Server thì chúng ta phải thêm ARP tĩnh/Static ARP vào bảng ARP của PC2 với MAC là địa chỉ MAC của Et0/0 của R254 và IP là IP của Server

Lệnh thêm ARP cho PC2, nếu:
- Cisco route:
arp 10.2.2.100 aabb.cc00.1000 arpa 

PC2#show arp
Protocol  Address          Age (min)   Hardware Addr   Type    Interface
{...}
Internet  10.2.2.100              -          aabb.cc00.1000  ARPA

- Windows
arp -s 10.2.2.100 aa-bb-cc-00-10-00

ICMP-Ping, Tracert & Traceroute

Nội dung:
Tìm hiểu về hoạt động và cách sử dụng gói tin Ping, Tracert, Traceroute

Thực hiện:

1. Ping
Ping sử dụng hai loại gói tin của giao thức lớp 3 là ICMP - Internet Control Message Protocol đó là ICMP Echo Request và ICMP Echo Reply.

Nguyên tắc: Để xem IP trên 1 host có đi đến được hay không:

  • Thiết bị sẽ gửi gói tin ICMP Echo Request đến host cần kiểm tra
  • Host được kiểm tra khi nhận được gói ICMP Echo Requestphản hồi gói ICMP Echo Reply trong một khoảng thời gian qui định nào đó (gọi là timeout)
  • Nếu gói Echo Reply được trả về trong khoảng thời gian timeout => đi đến được
  • Nếu không nhận được gói Echo Reply trong khoảng thời gian timeout => KHÔNG thể đi đến được
Chúng ta cùng nhau xét sơ đồ dưới


Trên PC_1: khởi động chương trình command prompt

thực hiện lệnh ping đến 192.168.0.2

C:\Users\Administrator>ping 192.168.0.2
Pinging 192.168.0.2 with 32 bytes of data:
Reply from 192.168.0.2: bytes=32 time<1ms TTL=255
Reply from 192.168.0.2: bytes=32 time<1ms TTL=255
Reply from 192.168.0.2: bytes=32 time<1ms TTL=255
Reply from 192.168.0.2: bytes=32 time<1ms TTL=255
Ping statistics for 192.168.0.2:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 1ms, Maximum = 2ms, Average = 1ms

Kết quả trên ta thấy PC_1 đã thực hiện gửi đi 4 gói Echo Request đến R1-IP 192.168.0.2 và nhận được 4 gói phản hồi Echo Reply. Vậy PC_1 có thể đi đến được R1


Kết quả phân tích trên phần mềm Wireshark

Trên R1: Sử dụng lệnh ping đến PC_1 ở Privilege Mode

R1#ping 192.168.0.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.0.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms
R1#

Kết quả ping thấy R1 có thể đến được PC_1-IP 192.168.0.1. R1 gửi đi 5 gói Echo Request và nhận được đủ 5 gói phản hồi Echo Reply (với Cisco - IOS thể 5 dấu chấm than "!")

2. Tracert
Là tiện ích trên hệ điều hành Windows giúp PC đi đến host nào đó nó phải đi qua các router nào. Địa chỉ IP của các Router trên đường đi điều được thể hiện trong kết quả tracert.

Nguyên tắc:
Tracert sẽ khởi tạo TTL = 1 (TTL-Time to live trong IP header của gói tin) cho gói tin ICMP request đầu tiên để gửi đến đích cần trace, tăng giá trị TTL lên 1 đơn vị cho mỗi gói ICMP Request và chờ gói ICMP Time Exeeded trả về. Cứ mỗi khi một gói ICMP Time Exeeded được trả về thì địa chỉ của Router trả lời gói tin này sẽ được ghi lại vào bản ghi của các router trên lộ trình đi đến đích.

Khi trung chuyển ngang qua một router nào đó trường TTL sẽ giảm đi 1 đơn vị. Khi trường TTL = 0 gói IP sẽ bị loại bỏ và một gói ICMP Time Exeeded sẽ được router gửi trả về cho source của gói tin IP mà nó bị loại bỏ.

Gói TTL được tăng lên đủ lớn, gói Echo Request đi đến đích, gói Echo Reply được trả về => tiến trình trace hoàn tất.

Khảo sát sơ đồ:

Trên PC_1 thực hiện tracert đến PC_2-IP 192.168.24.4

C:\Users\Administrator>tracert  192.168.24.4
Tracing route to 192.168.24.4 over a maximum of 30 hops
  1    1 ms    <1 ms    <1 ms  192.168.0.2
  2    1 ms    1 ms    1 ms  192.168.12.22
  3    1 ms    1 ms    1 ms  192.168.24.4
Trace complete.

Kết quả tracert đến host 192.168.24.4 cho thấy lộ trình các thiết bị lớp 3 đã được ghi vào lại với các IP 192.168.0.2 và 192.168.12.22.

Quá trình thực hiện tracert từ PC_1 đến PC_2

Phân tích gói tin trên công Et0/0 của R1 bằng phần mềm wireshark:

PC_1 khởi tạo gói ping với TTL = 1, R1 sẽ trả lời ICMP Time Exeeded cho PC_1

PC_1 khởi tạo gói ping với TTL = 2, R2 sẽ trả lời ICMP Time Exeeded cho PC_1


PC_1 khởi tạo gói ping với TTL = 3, PC_2 thấy rằng đích đến chính là IP của mình nên PC_2 trả lời ICMP Echo Reply cho PC_1. Kết thúc tiến trình.

Phân tích thêm kết quả khi ping đến 192.168.24.4 và giải thích TTL

C:\Users\Administrator>ping 192.168.24.4
Pinging 192.168.24.4 with 32 bytes of data:
Reply from 192.168.24.4: bytes=32 time<1ms TTL=253
Reply from 192.168.24.4: bytes=32 time<1ms TTL=253
Reply from 192.168.24.4: bytes=32 time<1ms TTL=253
Reply from 192.168.24.4: bytes=32 time<1ms TTL=253
Ping statistics for 192.168.24.4:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 1ms, Maximum = 2ms, Average = 1ms

Với PC_2 khi nhận được gói tin ICMP Echo Request mà đích là chính nó, nó sẽ trả lời ICMP Echo Reply với TTL = 255 (mỗi loại thiết của mỗi hãng khác nhau sẽ có giá trị TTL khởi tạo là khác nhau, trong lab này chúng tôi dùng router của cisco nên TTL = 255). Khi gói ICMP Echo (ping) này khi đi qua router sẽ giảm xuống 1 đơn vị và cứ như thế cho đến đích cần nhận để kết thúc tiến trình ping hoặc khi TTL giảm = 0 thì gói tin sẽ bị drop bỏ.

Đó là lý do kết quả ping từ PC_1 đến PC_2 có giá trị TTL = 253.


3. Traceroute
Traeroute được sử dụng trên Cisco IOS có chức năng tương tư như tracert của windows cũng cho phép ghi nhận lại lộ trình đi đến một đích nào đó của thiết bị lớp 3.

Điểm khác nhau:
Tracert: 

  • Dùng ICMP Echo Request và ICMP Echo Reply. 
  • Đích đến cuối cùng sẽ trả lời gói tin ICMP Echo Reply

Traceroute:

  • UDP datagram để gởi đến port được giả định là không tồn tại
  • Đích đến cuối cùng sẽ trả lời gói tin ICMP Destination Port Unreachable


Kết quả phân tích trên wireshark

Thực hiện traceroute từ PC_2 đến PC_1

PC_2#traceroute 192.168.0.1
Type escape sequence to abort.
Tracing the route to 192.168.0.1
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.24.3 1 msec 0 msec 5 msec
  2 192.168.12.11 1 msec 2 msec 0 msec
  3 192.168.0.1 2 msec 2 msec 2 msec
PC_2#

Cũng tương tự tracert của windows, traceroute cũng ghi lại lộ trình đường đi mà các router nó đã đi qua để đến được đích 192.168.0.1: 192.168.24.3, 192.168.12.11.

Xong!

Cisco, Các Kỹ Thuật Truy Cập Thiết Bị Cisco IOS

Tham khảo cách kết nối dây console trước khi xem bài này.

1. Console
2. Telnet /VTY - Virtual Teletype Terminal
3. SSH - Secure Shell or Secure Socket Shell:

THỰC HIỆN:

1. Console
Console là cách kết nối vào thiết bị trực tiếp thông qua dây console được đấu nối trực tiếp giữa máy tính và thiết bị cần kết nối, và thực hiện các tác vụ cấu hình thiết bị này.


Cấu hình:
enable
conf t
line con 0
password PassConsole
login
end
write
exit

Ý nghĩa các dòng lệnh:
enable: vào privileged mode
conf t: vào global config mode
line console 0: vào line console mode
password PassConsole: đặt password cho line console là PassConsole
login: thực thi việc đặt password cho console (khi kết nối vào thiết bị bằng password vừa đặt ở trên)
end: trở ra privileged mode
write: Lưu những thay đổi, tương đương lệnh copy running-config startup-config
exit: Thoát khỏi console

Khi cấu hình xong chúng ta gặp thông báo "Switch con0 is now available, Press RETURN to get started." sau đó nhấn Enter để đăng nhập vào


Cấu hình thêm:
logging synchronous
exec-timeout 5 50

Giải thích:
logging synchronous: con trỏ sẽ xuống dòng sau mỗi thông báo hiện ra
exec-timeout 5 50: Sẽ logout session hiện tại nếu 5 phút 30 giây không thực hiện bất cứ thao tác gì. Nếu muốn không bao giờ logout session thì chúng ta gõ exec-timeout 0 0

2. Telnet
Telnet: là kỹ thuật cho phép truy nhập vào thiết bị từ xa, từ đó chúng ta có thể thực việc cấu hình mà không cần phải cắm dây console trực tiếp vào thiết bị.

Telnet là giao thức ở lớp ứng dụng chạy trên nền TCP và sử dụng port 23. Với Cisco IOS lưu lượng được tiếp nhận qua đường luận lý có tên VTY - Virtual Teletype Terminal.

Các đường VTY mặc định trên:
  • Router: từ 0 -> 4
  • Switch: từ 0 -> 15




Cấu hình và đặt IP như sơ đồ và đảm bảo PC có thể ping đến được Switch:

Switch:
interface Vlan1
ip address 172.16.0.222 255.255.255.0
no shutdown
end

Đặt IP cho switch là 172.16.0.222

Switch:
conf t
line vty 0 4
password PassTelnet
login
end
write

Giải thích:
line vty 0 4: cho phép maximum 5 kết nói telnet cùng thời điểm
password PassTelnet: đặt password cho cổng VTY -  Telnet là PassTelnet

Trong 1 số trường hợp chúng ta có thể cấu cho phép telnet vào thiết bị mà không cần mật khẩu

Switch:
line vty 0 4
privilege level 15

Giải thích:
privilege level 15: cisco có 16 level từ 0-15, 15 là quyền cao nhất. Chúng ta có thể đặt bất cứ level nào cũng được, nhưng trong lab chúng tôi để là 15 full quyền.


Cài telnet trên máy tính

Command Prompt:
pkgmgr /iu:"TelnetClient"

Bây giờ chúng ta có kết dùng telnet để kết nối vào thiết bị


đặng nhập thành công với password đã cấu hình ở trên là PassTelnet


Noted: Đối với router chúng ta cần phải thiết lập thêm enable password để cho phép truy cập từ User mode tới Privilege mode, global config mode,...

Switch:
conf t
enable password PassEnable
end
write

3. SSH
SSH - Secure Shell or Secure Socket Shell: Cũng giống telnet, SSH giúp chúng ta truy cập vào thiết bị từ xa. Tuy nhiên với Telnet việc trao đổi dữ liệu giữa telnet server với telnet client dưới dạng clear text (dữ liệu không mã hóa dễ bị trộn thông tin). Khác với telnet, dữ liệu trao đổi giữa SSH client và SSH server được mã hóa.

SSH là ứng dụng chạy nên TCP và port 22, có hai version 1 và 2 (khuyến cao dùng SSH Ver. 2)

Switch:
hostname Sw01
ip domain-name khanhvc.abc
crypto key generate rsa general-keys modulus 1024
Switch:
ip ssh version 2

Giải thích:
hostname Sw01: bắt buộc phải đặt hostname, một trong những điều kiện cấu hình SSH
ip domain-name khanhvc.abc: tạo domain name nhằm mục đích cho các key mã hóa
crypto key generate rsa general-keys modulus 1024: thực hiện việc phát sinh key mã hóa

Sw01:
username Admin password 1234

Giải thích:
username Admin password 1234: tạo username là Admin mật khẩu là 1234

HOẶC thêm privilege 15 để bỏ qua bước enable password
username Admin privilege 15 password 1234


Sw01:
line vty 0 4
transport input ssh
login local

Giải thích:
line vty 0 4: vào vty để thiết lập hỗ trợ truy cập bằng SSH
transport input ssh: cho phép thực hiện duy nhất SSH
login local: là phương thức xác thực, khi cấu hình ở VTY thì cho phép sử dụng cơ sở dữ liệu trên thiết bị để đăng nhập thay cho password trên line.

Noted: Với cấu hình trên thiết bị chỉ cho phép duy nhất SSH trên VTY, chúng ta có thể cấu hình transport input all để cho phép: SSH, Telnet,.... 

Thử dùng Putty và chọn SSH để kết nối vào thiết bị với user: Admin và password: 1234 đã cài đặt ở trên.


Kết quả kết nối thành công.

 Xong!

Cisco, Tìm Hiểu Các Mode & Cách Xóa Cấu Hình Trên Thiết Bị Cisco IOS

MỤC TIÊU:
1. Tìm hiểu các mode của Cisco IOS
2. Thực hiện xóa cấu hình trên Cisco IOS

NỘI DUNG:
1. Tìm hiểu các mode của Cisco IOS


  • User EXEC Mode : cho phép các câu lệnh hiển thị thông tin một cách hạn chế, câu lệnh kết nối (ping, traceroute, telnet, ssh, …).
  • Priviledged EXEC Mode: cho phép toàn bộ câu lệnh hiển thị, một số cấu hình cơ bản (clock, copy, erase, …).
  • Global Configuration Mode: cho phép toàn bộ câu lệnh cấu hình lên router.
  • Specific Configuration Mode: cấu hình cụ thể các tác vụ nào đó,...
2. Thực hiện xóa cấu hình trên Cisco IOS

Tham khảo cách kết nối vào thiết bị Cisco trước khi xem phần này.


  • Thực hiện kết nối vào thiết bị và xóa cấu trong startup-config

Router:
enable
erase startup-config

Erasing the nvram filesystem will remove all configuration files! Continue? [confirm]        <= nhấn Enter để thực hiện xóa cấu hình
[OK]
Erase of nvram: complete
*Mar 1 00:03:03.576: %SYS-7-NV_BLOCK_INIT: Initialized the geometry of nvrameload

  • Khởi động lại thiết bị

Router:
reload
System configuration has been modified. Save? [yes/no]: No        <= vì xóa hết cấu hình nên chọn No
Building configuration...
[OK]
Proceed with reload? [confirm]       <= nhấn Enter để khởi đồng ý động lại thiết bị

  • Nếu thiết bị là switch chúng ta phải thực hiên thêm phần xóa cấu hình vlan được lưu trong trong Flash: vlan.dat và khởi động lại thiết bị.

Switch:
enable
delete vlan.dat
Delete filename [vlan.dat]?           <= tên file cần xóa
Delete flash:vlan.dat? [confirm]    <= nhấn Enter để xác nhận xóa file vlan.dat

Xong!

/*header slide*/