Để kiểm tra kết nối mạng trên các máy chạy hệ điều hành Linux hoặc Unix, người quản trị thường sử dụng lệnh “ping.” Bài viết này sẽ hướng dẫn bạn cách kiểm tra kết nối từ một máy chủ đến mạng bên ngoài hoặc kiểm tra kết nối tới một máy chủ cụ thể bằng cách sử dụng một tập lệnh shell script. Ngôn ngữ kịch bản (shell script) là một công cụ phổ biến mà các quản trị viên Linux thường sử dụng để quản lý và vận hành các máy chủ Linux hoặc Unix.
Kiểm tra kết nối mạng với IPv4
Để kiểm tra kết nối mạng từ máy chủ (Server), phương pháp đơn giản nhất là thực hiện một truy vấn ping tới địa chỉ IP 8.8.8.8, đây là địa chỉ DNS của Google.
#!/usr/bin/env bash if ping -q -c 1 -W 1 8.8.8.8 >/dev/null; then echo "IPv4 is up" else echo "IPv4 is down" fi
Kiểm tra kết nối mạng với IP và DNS
Chúng ta ping tới tên miền google.com để chắc chắn kết nối mạng và phân giải tên miền DNS hoạt động đúng trên Server
#!/usr/bin/env bash if ping -q -c 1 -W 1 google.com >/dev/null; then echo "The network is up" else echo "The network is down" fi
Kiểm tra kết nối mạng với HTTP
Có những trường hợp firewall có thể chặn các yêu cầu ping, dẫn đến việc sử dụng lệnh ping không trả về kết quả. Tuy nhiên, nếu máy chủ đang chạy dịch vụ Web HTTP, bạn có thể sử dụng lệnh curl trong môi trường Linux để thực hiện kiểm tra.
#!/usr/bin/env bash case "$(curl -s --max-time 2 -I https://vinasupport.com | sed 's/^[^ ]* *([0-9]).*/1/; 1q')" in [23]) echo "HTTP connectivity is up";; 5) echo "The web proxy won't let us through";; *) echo "The network is down or very slow";; esac