Sunday, January 19, 2025

[Cisco] Telnet trên Cisco IOS

-

Telnet là một kỹ thuật cho phép truy nhập thiết bị từ xa để thực hiện các tác vụ cấu hình  mà không cấn phải cắm dây console trực tiếp lên thiết bị. Telnet là một ứng dụng chạy  trên nền TCP, sử dụng port 23 do đó điều kiện để có thể Telnet đến một thiết bị là địa chỉ  IP của thiết bị ấy phải đi đến được và thiết bị phải được cấu hình thành một Telnet  Server. Cisco IOS trên các dòng sản phẩm router và switch thông dụng đều tích hợp sẵn  telnet server và telnet client nên chúng ta có thể thực hiện telnet đến một router hay  switch cũng như có thể từ các thiết bị này thực hiện telnet đi một thiết bị khác. 

Trong bài viết tuần này, chúng ta sẽ cùng nhau khảo sát Telnet trên router Cisco. Trên  các dòng sản phẩm khác chạy Cisco IOS, các thao tác telnet có thể được tiến hành tương  tự. Như thông lệ, ta tiến hành thông qua một bài lab ví dụ.

Sơ đồ

Hình 1 – Sơ đồ bài lab ví dụ.

Mô tả 

– Trên sơ đồ hình 1, trước hết chúng ta cấu hình cơ bản các địa chỉ và chạy định  tuyến để đảm bảo mọi địa chỉ IP trên sơ đồ thấy nhau. Khi các IP đều đã đi đến  nhau được, chúng ta sẽ khảo sát việc telnet qua lại giữa các IP này. 

– Người viết sử dụng các router Cisco dòng 2811với hệ điều hành là “c2800nm adventerprisek9-mz.124-15.T1.bin” để thực hiện bài viết này. 

Thực hiện 

Bước 1: Cấu hình cơ bản 

Trong bước này, ta đặt địa chỉ IP trên các router cũng như cấu hình định tuyến cơ bản để  mọi địa chỉ thấy nhau.

Trên R1

R1(config)#interface f0/1 
R1(config-if)#no shutdown 
R1(config-if)#ip address 192.168.12.1 255.255.255.0 
R1(config-if)#exit 

R1(config)#interface f0/0 
R1(config-if)#no shutdown 
R1(config-if)#ip address 192.168.1.1 255.255.255.0 
R1(config-if)#exit 
R1(config)#exit

Trên R2

R2(config)#interface f0/1 
R2(config-if)#no shutdown 
R2(config-if)#ip address 192.168.12.2 255.255.255.0 
R2(config-if)#exit 

R2(config)#ip route 0.0.0.0 0.0.0.0 192.168.12.1

Tiếp theo, ta thực hiện đặt IP cho PC là 192.168.2.1/24 và chỉ default – gateway về router  R1(hình 2):

Hình 2 – Cấu hình IP trên PC.

Đến đây, mọi địa chỉ đã được cấu hình trên các interface theo quy hoạch IP trên hình 1.  Router R2 và PC đều đã chỉ default – gateway về R1 và vì vậy mọi địa chỉ trên các thiết  bị này đã có thể đi đến nhau được. 

Tiếp theo, ta kiểm tra rằng mọi địa chỉ trên sơ đồ đã thấy được nhau. 

Từ PC ping kiểm tra đến R1 (hình 3):

Hình 3 – PC ping kiểm tra R1.

Từ PC ping kiểm tra đến R2 (hình 4):

Hình 4 – PC ping kiểm tra R2.

R1 ping đi được đến mọi địa chỉ khác trên sơ đồ:

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

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

R2 ping được mọi địa chỉ khác trên sơ đồ:

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

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

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

Bước 2: Telnet trên router 

Trước hết, ta thực hiện cấu hình các router R1 và R2 để các thiết bị khác có thể telnet vào  các router này. Trên cả hai router:

R(config)#line vty 0 4 
R(config-line)#password cisco 
R(config-line)#login 
R(config-line)#exit 
R(config)#enable password cisco

Telnet server đã được tích hợp sẵn trên Cisco IOS của các router. Để sử dụng server này,  chúng ta cần phải cấu hình thêm các password thích hợp.  

Password đầu tiên cần cấu hình là password được sử dụng để xác thực quyền truy nhập  telnet vào thiết bị. Password này đặt trên các cổng ảo VTY từ 0 đến 4 (là các cổng phục  vụ cho việc truy nhập từ xa vào thiết bị). Như đã trình bày ở trên, ta cấu hình password  này là “cisco”. 

Sau khi đã đăng nhập vào được thiết bị bằng telnet, Cisco IOS đòi hỏi những session  đăng nhập này phải được xác thực thêm một lần nữa bằng enable password, do đó chúng  ta cần cấu hình thêm password enable cho router. Ở trên, ta đã thiết lập enable password  là “cisco”. Vấn đề này liên quan đến sự phân quyền trên Cisco IOS với các privilege và  sẽ được phân tích chi tiết trong một bài viết khác; trong bài viết này, chúng ta chỉ tập  trung vào cấu hình telnet trên router. 

Sau khi cấu hình xong, chúng ta thực hiện telnet từ PC đến R1 và R2 để kiểm chứng rằng  việc telnet đã diễn ra thành công. Từ PC, thực hiện telnet đến R1 bằng cách gõ lệnh “telnet 192.168.1.1” trên dấu nhắc  hệ thống của cửa sổ CMD. Cửa sổ telnet xuất hiện (hình 5):

Hình 5 – PC telnet đến R1.

Từ PC telnet đến R2 (hình 6):

Hình 6 – PC telnet đến R2.

Chú ý: Hệ điều hành Window 7 có thể tắt dịch vụ Telnet Client ở mặc định. Nếu không  thực hiện Telnet được, chúng ta phải bật dịch vụ Telnet client trên Win 7 bằng cách vào  Control Panel -> Program -> Program and Features, chọn “Turn Windows features on or  off”. Trong cửa sổ hiện ra, ta tìm mục “Telnet Client” và check vào ô này.

Như vậy, từ PC ta đã có thể telnet được đến cả hai router R1 và R2. 

Ta cũng có thể từ các Router telnet qua lại lẫn nhau: 

Từ R1 telnet qua R2:

R1#telnet 192.168.12.2 
Trying 192.168.12.2 ... Open 
User Access Verification 
Password: <-Nhập password telnet tại đây 

R2>enable 
Password:  
R2#show ip interface brief 
Interface IP-Address OK? Method Status Protocol FastEthernet0/0 192.168.2.1 YES manual up down  FastEthernet0/1 192.168.12.2 YES manual up up 

Ta thấy rằng dù đang đứng cấu hình bằng cổng Console của R1, ta vẫn truy nhập được  qua R2 và thực hiện cấu hình R2. Tại đây, ta có thể thực hiện cấu hình cho R2 như thể ta  đang kết nối Console vào R2 vậy. Trong trường hợp đang cấu hình trên R2 mà ta muốn  trở về lại R1 ta có thể dùng lệnh “exit” giải phóng kết nối Telnet để trở lại R1:

R2(config-if)#exit 
R2(config)#exit 
R2#exit 
[Connection to 192.168.12.2 closed by foreign host] 
R1#

Tuy nhiên, dùng lệnh “exit”, ta đã giải phóng luôn kết nối Telnet đến R2, nếu ta muốn trở  lại R2, ta phải thực hiện xây dựng lại kết nối telnet từ đầu bằng lệnh “telnet  192.168.12.2”. Có một cách để đang telnet vào R2, ta trở lại R1 mà không phải xóa bỏ  kết nối Telnet từ R1 đến R2 là từ dấu nhắc hệ thống của R2, ta nhấn tổ hợp phím “Ctrl – Shift – 6” rồi nhấn tiếp “X”:

R2# 
(Nhấn “Ctrl – Shift – 6” +”X”) 
R1#

Từ R1 muốn trở lại R2, ta chỉ việc gõ Enter hoặc đánh lệnh “resume” tại mode Privilege:

R1# <-Gõ Enter 
[Resuming connection 1 to 192.168.12.2 ... ] <-Tiếp tục gõ Enter R2#

Tương tự như trên, ta thực hiện telnet từ R2 qua R1:

R2#telnet 192.168.12.1 
Trying 192.168.12.1 ... Open 
User Access Verification 
Password: <-Nhập password telnet tại đây 

R1>enable 
Password:  

R1#show ip interface brief
Interface IP-Address OK? Method Status  Protocol 
FastEthernet0/0 192.168.1.1 YES manual up up  FastEthernet0/1 192.168.12.1 YES manual up up 

Như ta đã thực hiện ở trên, hiện nay, có hai thiết bị đang thực hiện telnet vào R1 là PC và  R2. Số lượng phiên telnet có thể mở đến R1 là 5 vì chúng ta đã đặt password trên 5 cổng  VTY từ 0 đến 4. Chúng ta có thể kiểm tra xem hiện có những phiên telnet nào đang mở  trên một thiết bị bằng cách sử dụng lệnh “show users” của mode Privilege:

R1#show users  
 Line User Host(s) Idle Location * 0 con 0 idle 00:00:00  
322 vty 0 idle 00:00:46 192.168.12.2 323 vty 1 idle 00:01:02 192.168.1.2

Từ kết quả show ta thấy có hai user đang truy nhập vào R1 bằng Telnet qua các cổng  VTY 0 và 1, là các user có địa chỉ IP là 192.168.12.2 (là Router R2) và 192.168.1.2 (là  máy tính PC). Ta có thể ngắt user không cho truy nhập tiếp bằng cách sử dụng lệnh “clear line  line_index”, line – index chính là số hiệu ở cột bên trái ngoài cùng (ở ví dụ trên, với  VTY 0 là 322 và với VTY 1 là 323).

R1#clear line 323 <-Ngắt kết nối Telnet của PC1 
[confirm] <- Gõ Enter để xác nhận 
[OK] 
R1# 
R1#show users (chỉ còn lại user 192.168.12.2 – R2) 
 Line User Host(s) Idle Location * 0 con 0 idle 00:00:00  
322 vty 0 idle 00:06:46 192.168.12.2

Lệnh “show users” có thể cho ta thấy được có những user nào đang truy nhập đến  Router đang xét nhưng không cho ta biết Router đang xét có bao nhiêu kết nối mở đến  các thiết bị khác. Để xem được thông tin này, ta phải sử dụng lệnh “show session”. Như  ta đã thực hiện ở các bước trên, hiện nay R1 đang có một kết nối telnet đến R2, ta sử  dụng lệnh “show session” để kiểm chứng điều này:

R1#show sessions  
Conn Host Address Byte Idle Conn Name * 1 192.168.12.2 192.168.12.2 0 0 192.168.12.2

Kết quả show cho thấy R1 đang có một session đến địa chỉ 192.168.12.2. Ta thử tiếp tục mở thêm một kết nối telnet nữa đến R2 (trong khi vẫn giữ kết nối cũ):

R1#telnet 192.168.12.2 
Trying 192.168.12.2 ... Open 
User Access Verification 
Password:  
R2>enable 
Password: 
R2# 
R2# 
(Nhấn “Ctrl – Shift – 6” +”X” để trở về R1) 
R1#show sessions  
Conn Host Address Byte Idle Conn Name  1 192.168.12.2 192.168.12.2 0 2 192.168.12.2 * 2 192.168.12.2 192.168.12.2 0 0  
R1#

Khi trở về R1 thực hiện lệnh “show session”, ta thấy R1 có hai kết nối Telnet đi đến R2  (địa chỉ 192.168.12.2). Vậy, lệnh “show session” cho ta thấy được thiết bị đang xét có  bao nhiêu kết nối Telnet đi đến các thiết bị khác. Ta có thể xóa bớt các kết nối Telnet đã mở bằng cách sử dụng lệnh “disconnect” của  mode Privilege:

R1#disconnect 1 <- Xóa bỏ kết nối số 1 
Closing connection to 192.168.12.2 [confirm] <- Gõ Enter ở đây R1#show sessions  
Conn Host Address Byte Idle Conn Name * 2 192.168.12.2 192.168.12.2 0 0 
(chỉ còn lại 1 kết nối Telnet) 
R1#

Như đã thấy ở trên, sau khi xóa một kết nối và thực hiện lệnh “show session” ta thấy chỉ  còn 1 kết nối Telnet đến R2. 

Như vậy, trên đây chúng ta đã thực hiện một số thao tác về telnet trên Cisco IOS của các  router Cisco. Các thao tác này có thể được tiến hành tương tự trên các dòng sản phẩm  khác của Cisco.  

Telnet rất tiện lợi và dễ dàng sử dụng để thực hiện truy nhập từ xa. Tuy nhiên, telnet có  một nhược điểm lớn là mọi dữ liệu của các telnet session đều được gửi qua mạng dưới  dạng clear text dẫn đến nguy cơ rất lớn về bảo mật. Một kỹ thuật truy nhập từ xa khác  cho phép mã hóa toàn bộ dữ liệu truy nhập từ xa đến các thiết bị, từ đó tăng cường tính  bảo mật của việc cấu hình từ xa là kỹ thuật SSH. Chúng ta sẽ khảo sát kỹ thuật này trong  bài viết tiếp theo. 

Cảm ơn các bạn! 

Hẹn gặp lại các bạn trong các bài viết tiếp theo!

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories