Cách khắc phục sự cố kết nối Internet trong Linux | Học trực tuyến CNTT, học lập trình từ cơ bản đến nâng cao

Cách khắc phục sự cố kết nối Internet trong Linux

Chia sẻ kiến thức 12/03/2022

Đã cài đặt Linux nhưng không thể truy cập internet? Làm theo hướng dẫn trong bài viết sau đây để khắc phục sự cố internet trên desktop Linux của bạn.

Trong thế giới ngày nay, kết nối internet cho phép sử dụng và truyền thông tin qua mạng. Làm việc trong một vị trí tập trung vào mạng (network) đòi hỏi người quản trị hệ thống phải nhận thức được các vấn đề có thể xảy ra và có khả năng khắc phục sự cố.

Vì vậy, trong một môi trường đòi hỏi giao tiếp hiệu quả cho các hoạt động hàng ngày, bạn phải biết các công cụ mạng Linux/Unix và cách sử dụng chúng để giải quyết các vấn đề kết nối internet. Bài viết này sẽ giúp bạn xác định các sự cố mạng có thể xảy ra trong Linux và hướng dẫn cách khắc phục chúng.

1. Khắc phục sự cố kết nối đến và đi

Trước khi bắt đầu giải quyết vấn đề, điều quan trọng là phải tìm hiểu xem vấn đề là ở phía máy khách (client side) hay phía máy chủ (server side). Phần này bao gồm các cách để xác định các vấn đề kết nối đi và đến trên Linux.

1.1 Xác định và khắc phục sự cố kết nối đi

Đôi khi bạn không thể truy cập vào một trang web nào đó trên internet. Vấn đề có thể là với kết nối nằm ngoài mạng cục bộ của bạn hoặc name resolution (chuyển đổi tên thành địa chỉ IP theo yêu cầu của máy hoặc mạng).

Để xác định lý do chính xác, bạn có thể bắt đầu bằng việc gửi yêu cầu ICMP echo bằng lệnh ping và đợi phản hồi.

ping <ip_add>

Trong trường hợp không có kết nối mạng hoặc mất 100% gói (packet)*, một khả năng khác có thể là sự vắng mặt của giao diện mạng (network interface). Chạy lệnh ip để kiểm tra trạng thái của tất cả các giao diện có sẵn trên hệ thống của bạn:

ip add show

*IP Packet: Một gói mạng hoặc gói IP có thể được coi là một đơn vị dữ liệu (khoảng 1 KBS đến 1,5 KBS) truyền từ điểm gốc đến địa chỉ đích (từ người gửi đến người nhận) trong mạng internet.

Đầu ra hiển thị trạng thái của từng giao diện mạng là UP hoặc DOWN. Giao diện có trạng thái DOWN trong đầu ra sẽ không có bất kỳ địa chỉ IP nào được chỉ định, đây có thể là lý do có thể gây ra sự cố kết nối.

Bạn có thể giải quyết sự cố bằng cách thay đổi trạng thái internet bằng cách chạy:

sudo ifup <interface_name>

Nếu giao diện ở trạng thái UP nhưng máy chủ vẫn không thể truy cập được, hãy sử dụng lệnh ping để tìm địa chỉ IP của bộ định tuyến và kiểm tra xem nó có thể truy cập được hay không:

ping <router's_ip_add>

Gói không đến được với bộ định tuyến nếu nó bị ngắt kết nối vật lý hoặc bị tắt. Nếu kết nối thành công, ping bất kỳ hệ thống nào ngoài bộ định tuyến của bạn và trang web không khả dụng trong trường hợp này có thể do sự cố dịch vụ DNS.

Nếu máy chủ có thể truy cập được, nhưng kết nối chậm, bạn có thể xác định nguyên nhân gốc rễ bằng cách chạy lệnh theo dõi vì nó hiển thị thời gian một gói tin đi đến mỗi nút trung gian.

traceroute <ip_add>

1.2 Khắc phục sự cố kết nối đến

Hầu hết các tổ chức cấu hình hệ thống Linux làm máy chủ và có yêu cầu về tính sẵn sàng cao. Ví dụ: một máy chủ Apache lưu trữ một trang web có thể không có khách hàng tiếp cận (client reach), gây ra sự cố mạng đến. Tên máy chủ của trang web được đăng ký với một máy chủ DNS công cộng chuyển tên của chúng thành địa chỉ IP.

Nếu quá trình name resolution đang hoạt động tốt, bạn có thể ping máy chủ từ máy khách Linux để kiểm tra tính khả dụng của nó từ bên ngoài. Tương tự, từ máy khách Linux, bạn có thể kiểm tra xem dịch vụ httpd có đang chạy hay không bằng cách sử dụng lệnh nmap.

Nmap là công cụ mạnh mẽ và linh hoạt nhất mà các quản trị viên mạng sử dụng để kiểm tra các dịch vụ đang chạy trên mạng. Tuy nhiên, nó cũng có thể cung cấp thông tin liên quan đến hệ thống cho những kẻ xâm nhập.

Bạn có thể chạy công cụ này để kiểm tra xem các cổng máy chủ của bạn có khả dụng với các kết nối bên ngoài hay không. Sử dụng tên máy chủ hoặc địa chỉ IP để quét hệ thống để chạy các dịch vụ/cổng:

nmap <hostname/ip_add>

Nếu trạng thái cổng TCP 80 và 443 đang hoạt động cho các dịch vụ HTTP và HTTPS, nó cho biết dịch vụ đang ‘lắng nghe’ các kết nối đến. Tình huống này yêu cầu bạn kiểm tra cách dịch vụ được cấu hình bên trong tệp cấu hình chính: /etc/httpd/conf/httpd.conf.

Bên cạnh đó, sự vắng mặt của các cổng TCP 80 và 443 cho thấy tường lửa đang chặn các cổng và lọc chúng, trong khi trạng thái đóng trong đầu ra Nmap có nghĩa là dịch vụ httpd không chạy hoặc đang lắng nghe cổng.

>>> Đọc ngay: Cách cài đặt Microsoft Office trên Linux

2. Khắc phục sự cố máy chủ DNS

Nếu bạn có thể ping địa chỉ IP của trang web và nó không thể truy cập được thông qua trình duyệt, bạn đang gặp vấn đề với name resolution máy chủ. Máy khách-máy chủ giao tiếp qua internet thực hiện chuyển (resolve) tên máy chủ thành địa chỉ bằng cách giao tiếp với máy chủ DNS.

Trong hệ điều hành Linux/Unix, bạn định cấu hình máy chủ DNS bằng cách nhập chúng theo cách thủ công hoặc yêu cầu máy chủ DHCP tự động gán trong khi khởi động các giao diện. Trong cả hai trường hợp, địa chỉ máy chủ DNS có sẵn bên trong tệp /etc/resolv.conf.

Do đó, bất cứ khi nào bạn cố gắng kết nối với một trang web, nó sẽ tìm kiếm máy chủ lưu trữ trong tệp /etc/hosts và chuyển dần sang tìm kiếm từng địa chỉ máy chủ DNS trong tệp Resolutionv.conf. Nó kiểm tra các máy chủ cho đến khi không thể tìm thấy máy chủ lưu trữ để trả về lỗi “Host Not Found”  (Không tìm thấy máy chủ). 

Để gỡ lỗi các sự cố liên quan đến DNS, hãy bắt đầu bằng việc kiểm tra xem máy chủ DNS có thể truy cập được hay không bằng cách sử dụng lệnh ping như sau:

ping -c <dns_server_address>

Kiểm tra xem máy chủ đang hoạt động hoặc thực hiện phân giải tên thành địa chỉ IP với sự trợ giúp của lệnh dig hoặc máy chủ lưu trữ, như sau:

dig @X.X.X.X www.google.com 
host www.google.com X.X.X.X

Nếu dịch vụ NetworkManager được bật và tìm ra rằng địa chỉ IP của máy chủ DNS sai, bạn không thể thêm mục nhập vào tệp Resolutionv.conf. Điều này là do NetworkManager ghi đè các mục nhập tệp (file entries) và kết nối với máy chủ DHCP để gán tự động.

Để giải quyết vấn đề này, hãy mở tệp giao diện để thêm PEERDNS = no và đặt địa chỉ mới là DNS1 = XXXX .

# On CentOS/Fedora/RHEL
sudo vim /etc/sysconfig/network-scripts/<interface_name>

# On Ubuntu/Debian
sudo vim /etc/network/interfaces

Khi bạn đã mở các tệp, hãy thêm các dòng sau:

PEERDNS=no
DNS1=X.X.X.X

Đoạn lệnh nói trên sẽ ngăn DHCP ghi đè địa chỉ DNS cho phép bạn chỉnh sửa trực tiếptệp Resolutionv.conf.

3. Khắc phục sự cố Tường lửa trong Linux

Cài đặt tường lửa mặc định trong Linux có thể chặn tất cả các kết nối đến trên các cổng TCP 80 và 443. Kiểm tra bất kỳ quy tắc DROP/REJECT nào trong tệp /etc/sysconfig/iptables trước khi thêm bất kỳ quy tắc nào cho các cổng TCP. Di chuyển quy tắc cho các cổng đang mở lên trên DROP/REJECT để giải quyết sự cố.

Bên cạnh đó, bạn cũng có thể kiểm tra xem tường lửa có thả các gói đến và đi từ bất kỳ máy chủ cụ thể nào hay không. Trong tệp iptables, hãy tìm bất kỳ địa chỉ IP nào và giá trị DROP/ACCEPT theo sau là cờ -s và -j. Bạn có thể chỉnh sửa quy tắc hoặc tạo một quy tắc mới cụ thể cho máy chủ lưu trữ và đặt nó lên trên các quy tắc khác để làm cho nó trở thành ngoại lệ.

>>> Đọc ngay: Cách bắt đầu sử dụng Linux

4. Khắc phục sự cố mạng trên Linux

Bài viết này trình bày các kỹ thuật từ cấp độ mới bắt đầu đến nâng cao để xác định và khắc phục mọi sự cố kết nối internet trong Linux. Trước khi bắt đầu khắc phục sự cố, điều quan trọng là phải xác định nguyên nhân gốc rễ của vấn đề và thực hiện từng bước khắc phục một cách hiệu quả.

>>> Nếu bạn đang có nhu cầu tìm hiểu về khóa học lập trình đi làm ngay. Hãy liên hệ với FUNiX ngay tại đây:

>>> Xem thêm chuỗi bài viết liên quan:

Cách tạo ảnh Mosaic trên Linux với Polyfoto

Cách ghi chú trong Terminal Linux với ứng dụng ghi chú tnote

Cách sử dụng lệnh wc trong Linux

Hướng dẫn cách sử dụng lsof để theo dõi file đang mở trên Linux

Vân Nguyễn

Dịch từ: https://www.makeuseof.com/tag/troubleshoot-internet-connection-linux/

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
Chat với FUNiX GPT ×

yêu cầu gọi lại

error: Content is protected !!