[리눅스] 네트워크 감시 및 관리 스크립트

리눅스 시스템에서 네트워크를 감시하고 관리하는 것은 매우 중요합니다. 네트워크 감시 및 관리를 자동화하기 위해 스크립트를 사용하는 것이 매우 효율적일 수 있습니다.

네트워크 감시 스크립트

네트워크 연결 상태 확인

#!/bin/bash
if ping -q -c 1 -W 1 google.com >/dev/null; then
  echo "네트워크 연결 상태: 정상"
else
  echo "네트워크 연결 상태: 이상"
fi

위의 스크립트는 ping 명령어를 사용하여 구글 웹사이트로의 네트워크 연결 상태를 확인합니다. 만약 네트워크 연결이 정상이라면 “네트워크 연결 상태: 정상”을 출력하고, 그렇지 않으면 “네트워크 연결 상태: 이상”을 출력합니다.

대역폭 사용량 모니터링

#!/bin/bash
interface="eth0"
rx1=$(cat /sys/class/net/${interface}/statistics/rx_bytes)
tx1=$(cat /sys/class/net/${interface}/statistics/tx_bytes)
sleep 1
rx2=$(cat /sys/class/net/${interface}/statistics/rx_bytes)
tx2=$(cat /sys/class/net/${interface}/statistics/tx_bytes)
echo "수신: $((rx2-rx1)) bytes/sec | 송신: $((tx2-tx1)) bytes/sec"

위의 스크립트는 eth0 인터페이스의 대역폭 사용량을 모니터링합니다. 첫 번째와 두 번째 측정 시간 간의 바이트 수 차이를 계산하여 수신 및 송신 속도를 출력합니다.

네트워크 관리 스크립트

네트워크 인터페이스 설정 변경

#!/bin/bash
interface="eth0"
ip address add 192.168.1.100/24 dev ${interface}
ip route add default via 192.168.1.1
echo "네트워크 인터페이스 설정이 변경되었습니다."

위의 스크립트는 eth0 인터페이스의 IP 주소와 기본 라우팅을 변경합니다.

방화벽 설정 변경

#!/bin/bash
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
echo "방화벽 설정이 변경되었습니다."

위의 스크립트는 방화벽 설정을 변경하여 TCP 포트 80을 허용하고, 변경된 설정을 적용합니다.

결론

위의 스크립트 예제들은 네트워크 감시와 관리를 자동화하는데 도움이 될 수 있습니다. 이러한 스크립트들을 조합하여 네트워크 운영을 효율적으로 관리할 수 있습니다. 네트워크 관리 스크립트를 작성하려면 해당 리눅스 배포판의 문서 및 관련된 온라인 자료를 참조하는 것이 좋습니다.