[Shell script] Script kiểm tra kết nối mạng trên Linux Server


Để 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

 

             
SHARE

Bài viết liên quan

mode_edit Bình luận của bạn

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

account_circle
web