Để kiểm tra kết nối mạng (Test Network Connections) trên Linux/Unix Server, chúng ta thường sử dụng lệnh ping để kiểm tra kết nối. Bài viết này sẽ hướng dẫn các bạn kiểm tra kết nối từ 1 server ra ngoài, hoặc kiểm tra kết nối tới 1 server sử dụng shell script. Đây là ngôn ngữ lập trình kịch bản thường được các Linux Administrator sử dụng để quản lý và vận hành các Linux/Unix Server.
Kiểm tra kết nối mạng với IPv4
Để kiểm tra kết nối mạng từ Server, cách đơn giản nhất là ping tới địa chỉ IP 8.8.8.8 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
Một số trường hợp firewall có thể block ping. Sử dụng lệnh ping sẽ không có kết quả. Tuy nhiên nếu server đang chạy Web HTTP thì có thể sử dụng lệnh curl trong Linux để 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