Có nhiều nguyên nhân gây ra lỗi kết nối 'No Route to Host' trên Linux. Dưới đây là danh sách các nguyên nhân và cách khắc phục lỗi này trên Linux.
Máy chủ ngoại tuyến / Dịch vụ không hoạt động
Để khắc phục lỗi kết nối 'No Route to Host' trên Linux, trước tiên hãy kiểm tra xem máy chủ bạn đang cố kết nối có đang hoạt động online hay không. Lỗi thường xảy ra khi máy chủ được tạm ngưng hoạt động để bảo trì hoặc đang gặp sự cố.
Dịch vụ có thể không tự động khởi động. Nếu đó là máy chủ của bạn, kiểm tra xem dịch vụ đã được khởi động và hoạt động đúng cách hay chưa. Sử dụng Systemd với lệnh dưới đây:
sudo systemctl status servicename
Sai cổng
Nguyên nhân thứ hai có thể là bạn đang cố kết nối qua cổng không đúng. Nhiều quản trị hệ thống thường chọn chạy các dịch vụ như SSH trên các cổng khác nhau để ngăn chặn các tấn công từ hacker.
Nếu máy chủ không phải của bạn, hãy kiểm tra tài liệu hoặc liên hệ với nhà cung cấp dịch vụ để được hỗ trợ.
Nếu máy chủ là của bạn, hãy sử dụng NMAP để xác định vị trí dịch vụ của bạn:
sudo nmap -sS địa_ip_của_bạn
Nếu nghi ngờ bạn đang sử dụng cổng sai, bạn có thể sử dụng
Iptables chặn kết nối
Có thể bạn đã vô tình cấu hình Iptables để chặn kết nối trên cổng. Bạn sẽ nhận được cùng một thông báo dù là cấu hình iptables trên máy chủ hay máy tính. Vì vậy, hãy kiểm tra cấu hình iptables trên cả hai. Để xem các quy tắc trên cấu hình iptables, chạy lệnh sau đây:
sudo iptables -S
Để đảm bảo các bước kết nối với SSH Server diễn ra thành công, hãy tham khảo cách kết nối với máy chủ SSH trên Windows, macOS và Linux tại đây
Cấu hình DNS sai cách
Nếu đã thực hiện tất cả mọi cách trên mà vẫn không thành công, hãy thử ping địa chỉ IP mà bạn đang cố kết nối. Có thể máy tính của bạn đang kết nối với máy chủ DNS một cách không đúng.
ping -c3 địa_chỉ_ip_của_bạn
Nếu ping hoạt động nhưng tên miền (domain name) không, hãy xem xét vấn đề về DNS (Domain Name System)
Người dùng có thể sử dụng lệnh systemd-resolve --status để kiểm tra máy chủ DNS mà hệ thống đang sử dụng. Các máy chủ này được chia thành các giao diện khác nhau, đảm bảo bạn đang kiểm tra đúng máy chủ DNS mà bạn đang cố kết nối.
Trong hầu hết các trường hợp, máy tính sẽ tìm kiếm thông tin DNS thông qua DHCP. Nếu bạn sử dụng IP tĩnh hoặc một thiết lập nào đó trên hệ thống mạng của bạn và cấu hình sai, bạn cần phải thiết lập DNS thủ công.
Mở file '/etc/systemd/resolved.conf'. Bỏ dòng DNS và thêm địa chỉ IP của router hoặc một máy chủ DNS khác vào. DNS dự phòng mặc định cho Systemd là máy chủ DNS của Google được liệt kê trong FallbackDNS.
Cấu hình DNS=192.168.1.1
Nếu sử dụng OpenRC hoặc một hệ thống Systemd thay thế khác, bạn có thể xác định thông tin DNS trong tệp '/etc/resolv.conf'.
nameserver 192.168.1.1
Nếu không thấy thông tin trong đó, nhập địa chỉ IP của router hoặc bất kỳ máy chủ DNS nào bạn muốn sử dụng.
Khởi động lại mạng hoặc máy tính để kiểm tra sự thành công của việc sửa lỗi No Route to Host trên Linux.
Đổi DNS thường được sử dụng trên Windows khi cần truy cập các trang bị chặn như Facebook, Blog, hoặc vào một thiết bị nào đó. Người dùng cần thay đổi DNS để tiếp tục công việc của mình.
Cách khác
Nếu máy tính của bạn sử dụng card đồ họa có Network Manager, bạn có thể chỉnh sửa thông tin kết nối. Mở applet hoặc qua cửa sổ thiết lập hệ thống. Chọn kết nối của bạn, sau đó vào tab IPv4. Chuyển thiết lập kết nối thành Manual, nhập địa chỉ IP của máy tính làm gateway. Sau đó trong khung DNS, nhập địa chỉ IP của router hoặc địa chỉ IP của máy chủ DNS khác.
Thiết lập mạng hoặc máy chủ không chính xác
Lỗi kết nối 'No Route to Host' trên Linux cũng có thể xuất phát từ một số tùy chọn cấu hình không chính xác, khiến máy tính không thể kết nối với máy chủ.
Đầu tiên, đảm bảo cấu hình mạng trên máy tính là chính xác. Kiểm tra các file cấu hình và đảm bảo rằng bạn có thể kết nối với Internet bằng cách khác.
Nếu sử dụng hostname cụ thể để kết nối hoặc đã thiết lập host cụ thể trên máy chủ hoặc client, hãy đảm bảo cả hai máy có thể kết nối với nhau. Kiểm tra cấu hình trong '/etc/hosts', '/etc/hosts.allow.' và '/etc/hosts.deny'.
Kiểm tra cấu hình máy chủ cuối cùng để đảm bảo không có thiết lập nào sai lạc, gây chặn kết nối của client.
Trong bài viết trên Mytour, chúng tôi cung cấp thông tin về những nguyên nhân phổ biến và cách sửa lỗi kết nối 'No Route to Host' trên Linux.
Khám phá thêm về cáchệ điều hành Linuxphổ biến để tìm lựa chọn ổn định, ít lỗi và đầy đủ tính năng. Nếu muốn chia sẻ ý kiến của bạn với Mytour, vui lòng để lại bình luận dưới bài viết.