편리한 네트워크 트래픽 분석 도구 bandwidthd
로빈아빠
본문
서버관리를 하다보면 네트워크 트래픽을 분석할 일이 반드시 생깁니다.
일부 호스트가 네트웍을 폭주시키는 경우가 생기기 때문이지요.
지금까지는 iftop 을 사용해서 실시간 네트워크 트래픽을 분석했지만 이건 급할 때 임시방편으로 사용하는 도구일 뿐입니다.
참고로 iftop 은 이렇게 사용합니다.
반드시 root 권한이 필요하고, 인터페이스를 반드시 정해줘야 합니다.
다른 건 몰라도 모니터링을 위해 root 권한은 과분하다는 생각이 듭니다. 게다가 이 iftop은 순간의 트래픽만 보여주므로 지금 당장 문제를 일으키는 호스트를 알아내는 데만 사용할 수 있습니다.
여기, 더 좋은 도구를 소개합니다. bandwidthd 입니다.
홈페이지 : http://bandwidthd.sourceforge.net/
설치는 우분투 10.10 기준으로 매우 쉽습니다.
몇 가지 의존성이 있지만 그 중 가장 중요한 건 웹 서버입니다. 웹을 통해서 보고서를 보도록 돼있으므로 아파치 웹서버가 설치돼있어야 합니다.
설치중에 listen할 인터페이스를 묻습니다만, 버그인지 설정 파일이 생성되지 않습니다. 아래 명령으로 설정 파일을 복사해주세요.
그리고 텍스트 에디터로 편집합니다. 설정 파일을 읽어보시면 직관적으로 설정할 수 있지만 여기 샘플 설정을 첨부합니다.
dev 에 네트워크 인터페이스를 적습니다. 특별히 모든 인터페이스를 검사하고 싶으면 "any"라고 하면 됩니다.
그 외의 것은 설정파일에 주석이 달려있으므로 따로 설명하지는 않겠습니다.
그리고 서비스를 다음 명령으로 실행합니다.
오류 없이 시작됐다면 약 5분가량 지난 뒤에 아래 url로 접속해봅니다.
보고서가 생성돼있을 겁니다. 보고서가 어떻게 보일지는 아까 소개해드린 홈페이지로 접속해서 확인해보세요.
이 보고서는 어디서나 볼 수 있으므로 보안상 문제가 될 수 있습니다.
아파치 설정 파일을 아래와 같이 수정합니다.
/etc/apache2/conf.d/bandwidthd 의 내용
굵게 표시한 부분입니다. 특정 네트워크 위치에서만 해당 페이지를 들어갈 수 있게 하는 겁니다.
이건 호스트 기반이고 Auth 모듈을 사용하면 암호를 입력하게 할 수도 있습니다. ".htpasswd" 를 사용하면 되니까 설명은 생략합니다.
크리에이티브 커먼즈 라이센스
일부 호스트가 네트웍을 폭주시키는 경우가 생기기 때문이지요.
지금까지는 iftop 을 사용해서 실시간 네트워크 트래픽을 분석했지만 이건 급할 때 임시방편으로 사용하는 도구일 뿐입니다.
참고로 iftop 은 이렇게 사용합니다.
# iftop -i eth0
반드시 root 권한이 필요하고, 인터페이스를 반드시 정해줘야 합니다.
다른 건 몰라도 모니터링을 위해 root 권한은 과분하다는 생각이 듭니다. 게다가 이 iftop은 순간의 트래픽만 보여주므로 지금 당장 문제를 일으키는 호스트를 알아내는 데만 사용할 수 있습니다.
여기, 더 좋은 도구를 소개합니다. bandwidthd 입니다.
홈페이지 : http://bandwidthd.sourceforge.net/
설치는 우분투 10.10 기준으로 매우 쉽습니다.
# aptitude install bandwidthd
몇 가지 의존성이 있지만 그 중 가장 중요한 건 웹 서버입니다. 웹을 통해서 보고서를 보도록 돼있으므로 아파치 웹서버가 설치돼있어야 합니다.
설치중에 listen할 인터페이스를 묻습니다만, 버그인지 설정 파일이 생성되지 않습니다. 아래 명령으로 설정 파일을 복사해주세요.
# cp /usr/share/doc/bandwidthd/bandwidthd.conf /etc/bandwidthd/
그리고 텍스트 에디터로 편집합니다. 설정 파일을 읽어보시면 직관적으로 설정할 수 있지만 여기 샘플 설정을 첨부합니다.
subnet 172.16.0.0/16
subnet 165.246.43.0/24
dev "any"
subnet 165.246.43.0/24
dev "any"
dev 에 네트워크 인터페이스를 적습니다. 특별히 모든 인터페이스를 검사하고 싶으면 "any"라고 하면 됩니다.
그 외의 것은 설정파일에 주석이 달려있으므로 따로 설명하지는 않겠습니다.
그리고 서비스를 다음 명령으로 실행합니다.
# service bandwidthd start
오류 없이 시작됐다면 약 5분가량 지난 뒤에 아래 url로 접속해봅니다.
http://your.domain.name/bandwidthd
보고서가 생성돼있을 겁니다. 보고서가 어떻게 보일지는 아까 소개해드린 홈페이지로 접속해서 확인해보세요.
이 보고서는 어디서나 볼 수 있으므로 보안상 문제가 될 수 있습니다.
아파치 설정 파일을 아래와 같이 수정합니다.
/etc/apache2/conf.d/bandwidthd 의 내용
<Directory /var/lib/bandwidthd/htdocs>
Options +FollowSymLinks
AllowOverride All
order deny,allow
deny from all
allow from 192.168.43.0/24
</Directory>
Alias /bandwidthd /var/lib/bandwidthd/htdocs/
Options +FollowSymLinks
AllowOverride All
order deny,allow
deny from all
allow from 192.168.43.0/24
</Directory>
Alias /bandwidthd /var/lib/bandwidthd/htdocs/
굵게 표시한 부분입니다. 특정 네트워크 위치에서만 해당 페이지를 들어갈 수 있게 하는 겁니다.
이건 호스트 기반이고 Auth 모듈을 사용하면 암호를 입력하게 할 수도 있습니다. ".htpasswd" 를 사용하면 되니까 설명은 생략합니다.
크리에이티브 커먼즈 라이센스
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-동일조건변경허락 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
관련링크
댓글목록
등록된 댓글이 없습니다.