각 네트워크 클라이언트의 인터넷 대역폭을 모니터링하고 제한합니다.

각 네트워크 클라이언트의 인터넷 대역폭을 모니터링하고 제한합니다.

LAN의 모든 클라이언트에 대한 인터넷 게이트웨이 역할을 하는 dhcpd가 있는 Linux 서버에서: IP/MAC 주소를 기반으로 인터넷 사용량을 모니터링하고 특정 대역폭 소비가 초과되면 인터넷 액세스를 거부하는 방법은 무엇입니까?

답변1

Linux에서는 일부 스크립트를 사용하여 이 작업을 수행할 수 있습니다.

  • iptables각 클라이언트의 모든 대역폭이 별도의 규칙을 통과하도록 방화벽 규칙을 만듭니다 . 커널의 방화벽 하위 시스템은 특정 규칙과 일치하는 네트워크 패킷과 바이트를 계산합니다. 달리면 카운터가 보입니다 iptables -vL. 성능을 향상시키기 위해 다음 옵션을 사용할 수도 있습니다 -n.iptables -vnL
  • 각 클라이언트가 얼마나 많은 데이터를 사용하는지 확인하기 위해 cron에서 실행되는 스크립트를 작성하세요. 그런 다음 특정 숫자를 초과하면 클라이언트가 더 이상 인터넷에 액세스할 수 없도록 스크립트에서 방화벽을 수정하도록 합니다.

iptables방화벽이 지워지면(예: 재부팅 후 또는 이 작업을 수행할 때) 카운터가 재설정 됩니다 iptables -F. 따라서 스크립트가 일부 데이터베이스 등에 대한 결론을 명시하도록 할 수 있습니다.

답변2

트래픽 제한에 대한 귀하의 답변은 Serverfault에 제공됩니다.

https://serverfault.com/questions/174010/limit-network-bandwith-for-an-ip

트래픽을 모니터링하려면 iftop을 설치하세요.

관련 정보