세이박스

공개 네트워크 모니터링 툴 활용 NTOP

서버,보안

[공개 네트워크 모니터링 툴 활용] ③ NTOP
NTOP은 소스까지 공개돼 있는 공개 네트워크 모니터링 툴로 상용 제품과 같은 다양한 기능과 강력한 분석 기능은 제공하지 않지만, 네트워크 관리자에게 꼭 필요한 기능을 무료로 제공해 많이 사용되는 툴이다. 실시간으로 현재의 네트워크에 대한 전체적인 상황을 한 눈에 보여주는 NTOP은 네트워크 관리자와 보안 담당자에게는 빠질 수 없는 툴로 자리잡고 있다.
 
다소 추상적으로 들릴 수 있겠지만 네트워크를 구축, 운영, 관리하다보면 담당자는 ‘최소’와 ‘최대’사이에서 많은 고민에 빠지게 된다. ‘최소’라 함은 ping이나 traceroute, MRTG 등을 이용해 주로 네트워크의 연결 여부와 사용량 정도 등을 확인하고 모니터링하는 수준이고, ‘최대’라 함은 주로 대규모 사이트에서 별도의 네트워크 담당자가 대형화면을 통해 Domain Manager나 오픈뷰, 유니센터TNG 등 고가의 NMS를 활용해 네트워크 상태 분석과 품질 추이까지를 모두 분석하는 수준을 의미한다.

이는 네트워크의 경우뿐만 아니라 시스템 관리에도 마찬가지인데, 물론 어느 분야에서나 이런 고가의 툴이 없다고 관리가 불가능한 것도 아니고, 있다고 하더라도 단순히 장애여부 외의 용도에 활용하지 못한다면 무용지물이다. 따라서 이 두가지의 중간 수준에서 담당자들에게 꼭 필요한 기능만을 제공하면서도 부담이 없는 도구에 대한 필요성이 날로 높아지고 있다. 시스템 분야에서는 이같이 꼭 필요한 기능만 제공해 널리 사용되는 TOP이라는 툴이 있으며, 네트워크 분야에서 TOP의 역할을 하겠다는 NTOP 또한 네트워크 분야에서 폭넓게 사용되고 있다.

활용 목적에 따른 설치 방법
먼저 NTOP을 사용하기위한 설치단계에서 관리자는 활용할 목적을 미리 정해야 한다. 즉, NTOP을 활용하는 방식으로 특정 시스템 단위로 인/아웃바운드되는 트래픽에 대한 상세분석을 원할 경우와, 네트워크 전반에 흐르는 트래픽을 분석할 경우가 있다. 이같은 방식의 차이에 따라 설치하는 환경을 다르게 해야 원하는 결과를 얻을 수 있기 때문이다.

먼저 특정 시스템 단위의 상세 분석을 위해서는 NTOP 프로그램을 해당 시스템에 직접 설치하면 되고, 후자의 경우에는 NTOP 전용 시스템을 별도로 지정해서 설치하는 것이 바람직하다. 스위칭 환경의 네트워크 구성(일반적인 구성)이라면, 백본이나 WAN-LAN 연결지점의 스위치에서 미러링 포트를 잡아 NTOP 전용으로 연결하거나 네트워크 TAP 장비를 이용해 모든 포트를 경유하는 트래픽을 NTOP의 모니터링 NIC으로 전달하도록 구성해야 한다. 이때 트래픽량에 따른 NTOP 시스템의 하드웨어 사양에 대한 고려가 필수적이며(예를 들어 기가비트 환경이라면, 64비트 PCI/66Mhz이상의 슬롯이 지원되는 시스템), 여유가 있을 경우에는 ‘NetFlow’라는 플러그인을 이용해 여러 네트워크의 복사된 트래픽들을 복수의 인터페이스에 각각 연결하면 통합 관리 환경에서 인터페이스별로 각각의 리포팅이 가능하다.

NTOP 프로그램 설치
NTOP은 소스코드까지 완전히 공개돼 있을뿐 아니라 운영체제 플랫폼에 독립적인 구조로 코딩돼 있어 리눅스나 유닉스 환경뿐 아니라 윈도우 환경까지 지원한다. 다만 Win32 바이너리의 경우에는 상용화돼 있기 때문에 별도로 구매해야 한다.

따라서 대부분 유닉스나 리눅스에 설치하게 되며, 이때 리포팅에 필요한 gd-1.8.3 이상, libpng-1.2.4 이상, zlib-1.1.4와 패킷 캡처를 위한 libcap 등 동작에 필요한 필수 라이브러리가 많기 때문에 리눅스 기반에서 바이너리 패키지로의 설치방식을 권장한다. 설치를 위해 소스를 컴파일하고 복잡한 준비과정을 거치는 것은 그리 효과적인 일이 아니기 때문이다.

리눅스 환경에서는 www.ntop.org에서 제공하는 rpm 패키지로 설치하고, 솔라리스의 경우는 sunfreeware.com에서 지원되는 바이너리 패키지 파일로 설치하면 된다.
다음은 각 운영체제에서의 설치 방법이다.

  • 솔라리스 : pkgadd -d ./(디렉토리명)/ntop.2.2(패키지명)
  • 리눅스 : rpm --install ./(디렉토리명)/ntop.2.2.rpm
  • 윈도우 : ntop-2.2(demo).exe 실행(설치 단계에서 pcap 2.3이 함께 설치된다)
  • 소스 설치 : pcap.2.2.gz를 압축 해제하고 tar를 푼 다음 해당디렉토리에서 ./configure;make;make install 하면 된다.

    설치후 관리환경에 접속하기 위해서는 ‘Interactive Mode’라 불리는 유닉스 셸의 CLI 화면을 통해 텍스트 기반으로 접속하거나 웹브라우저를 통해 관리포트(default: 3000번)로 접속해 GUI로 된 관리 메뉴에 접속할 수 있다.

    주로 실시간 분석이 꼭 필요한 경우를 제외하고는 웹 관리 화면으로 접속하면 더 풍부한 데이터와 리포트를 통해 많은 정보를 얻을 수 있다. 이때 NTOP에서 제공하는 웹 엔진은 인증 등 보안 요소가 없기 때문에 보안에 문제를 일으킬 수 있다(인가받지 않은 사용자가 NTOP의 관리 환경에 접속).

    이때에는 방화벽을 통해 인가된 IP만 관리 포트에 접속하게 한다거나 NTOP을 사설 IP로 구성한 다음 공인 IP의 아파치 서버를 프록시로 구성해 연결한 후 아파치를 통해 인증을 받은 후 사용하게 할 수 있다. 이같은 경우는 인가된 사용자만 뒷단의 NTOP 서버의 컨텐츠를 이용할 수 있도록 네트워크를 구성할 수 있다.
    NTOP의 내부 구조
    NTOP은 크게 네트워크에서 패킷을 수집하는 ‘Packet Sniffer’, 수집된 패킷을 필터링하고 분석하는 ‘Packet Analyzer’, 그리고 분석한 자료를 관리자가 읽을 수 있도록 보고서를 만드는 ‘Report Engine’으로 구성돼 있다.

    특히 패킷 캡처와 패킷 필터링 기능의 상당부분을 libcap(unix)이나 pcap(win32)를 활용하기 때문에 플랫폼에 종속적이지 않고 작으면서도 다양한 시스템에 포팅할 수 있도록 구성돼 있다. 또한 이같은 범용 패킷 캡처 라이브러리가 작은 버퍼를 가지고 있어 패킷 로스가 발생하는 것을 보완하기 위해 애플리케이션 레벨에서 충분한 2차 버퍼를 만들어 제공한다.

    또한 ‘Packet Analyzer’ 모드에서는 기존의 IP 레벨로 노드를 구분하고, 부가정보로 MAC 등을 제공하는 것이 아니라 MAC 기반으로 노드를 분석한다. 따라서 TCP/IP 외에도 OSPF, IPX, Appletalk, UDP, STP 등 다양한 프로토콜에 대해 원활하게 지원할 수 있다. 그리고 ‘Report Engine’에서는 앞서 언급했듯이 웹기반 관리모드와 실시간 데이터가 갱신되는 셸에서의 CLI를 제공해 ‘Packet Analyzer’에서 분석한 데이터를 가공해 보여준다.

    NTOP의 주요 기능
    모든 설치 과정을 마치고 NTOP의 관리환경에 접속하면, 상단의 기능 탭에서 ‘total’, ‘Recv’, ‘Sent’, ‘Stats’, ‘IP Traffic’, ‘IP protocol’, ‘Admin’ 등을 확인할 수 있다(그림 1).

    (그림 1) 현재 세션을 맺고 있는 호스트별로 상세정보를 제공하는 화면

    먼저 Total 메뉴에서는 NTOP이 설치된 시스템(이하 NTOP 스테이션)에 인/아웃바운드 되는 모든 트래픽에 대해 노드별로 정렬해 전체 프로토콜, TCP/UDP, 처리량, 호스트 상태 등을 확인할 수 있는 화면이 제공되고, 원하는 프로토콜별, 호스트별, 시간별로 정렬할 수 있다(그림 2). 특히 TCP/UDP의 경우에는 telnet, ftp, mail 등을 비롯해 메신저, edonkey, kazaa등 기존의 잘 알려진 서비스에 대해서도 미리 분류돼 있기 때문에 네트워크 관리자가 쉽게 각 서비스별 통계를 확인할 수 있다(그림 3). 또한 호스트 상태는 시간대별로 시스템의 총 트래픽에 대한 통계를 제공해 어느 시간대에 얼마나 사용했는지 확인할 수 있다(그림 4).

    (그림 2) 각각의 트래픽에 대해 호스트별 트래픽 정보 보기 화면

     
    (그림 3) 트래픽 통계에서 p2p등 잘 알려진 서비스에 대한 서비스별 분석이 가능하다

     
    (그림 4) 네트워크 부하에 대한 그래프

    ‘Recv’와 ‘Sent’에서는 ‘Total’에서 합한 인바운드와 아웃바운드 트래픽에 대해 구분해 정보를 제공하고, ‘Stats’에서는 시스템에 맺어진 세션을 중심으로 세션을 물고 있는 노드들의 상세정보, 트래픽 통계, 네트워크 부하 그래프, 멀티캐스트에 대한 통계를 확인할 수 있다.

    (그림 5) IP 프로토콜에 대한 통계그래프

    또한 ‘IP traffic’과 ‘IP Protocol’에 대한 별도의 상세메뉴에서는 라우팅과 어드레스 네이밍 등 TCP/IP 네트워크 송신에 가장 중요한 IP 프로토콜에 대한 일반적인 통계 정보 외에도 상세하고 고급 가공 데이터를 제공한다(그림 5). 이를 통해 현재 맺어진 네트워크 세션에 대한 상세 정보와 네트워크 관리자가 쉽게 로컬의 인가/비인가 라우터를 찾아낼 수 있는 기능, VLAN 등에 대한 데이터 수집과 잘못된 설정 등을 찾아낼 수 있도록 해주는 등 다양하게 활용할 수 있다.

    (그림 6) 패킷 종류별 통계
     
    NTOP의 활용
    이런 NTOP의 기능들은 얼핏 단순하게 여겨질 수 있으나, 네트워크 관리자가 실시간 또는 짧은 시간동안의 트래픽 분석에 필요한 정보와 통계를 충분히 제공하기 때문에, 구성된 네트워크에 대해 진단할때 편리하게 이용할 수 있다.

    NTOP은 MRTG 정보와 같은 통계 위주의 데이터나 스니퍼 등의 툴처럼 지정된 시간동안 패킷을 캡처해 오랜시간 분석하는 것이 아니라 실시간으로 연결한 각 네트워크 세그먼트에 현재 흐르는 트래픽상의 모든 세션과 통계를 제공하고 VLAN이나 OSPF등 현황을 파악할 수 있게한다.

    따라서 장비의 잘못 설정된 사항 뿐 아니라 통신 애플리케이션 단계에서 문제가 발생한 부분의 트래픽 상황 파악을 통해 네트워크를 최적화하고 오남용을 방지하고 네트워크 효율성을 높이는데, 충분히 필요한 정보를 제공한다.

    또한 NTOP은 네트워크 운영을 위한 모니터링뿐만 아니라 보안에도 응용할 수 있다. 예를 들어 현재의 해킹 추세가 시스템 크래킹에서 지난 1.25 대란처럼 주로 네트워크를 통하여 시스템을 마비시키는 형태로 전이되고 있다.

    이때 NTOP을 이용하면 그 어떤 IDS보다도 룰셋이 필요없는 모니터링 도구로 활용할 수 있다. NTOP은 특정 포트나 프로토콜(UDP, 1434port)의 과부하에 대해 하나의 화면에서 직관적으로 알려주며, 또한 시스템별로 DoS 공격을 감지하기 위해 맺어진 세션을 모두 확인하고 세션을 맺은 시스템에 대한 정보를 얻을 수 있다. 또한 네트워크 내에서 인터넷공유 등 인가되지 않은 라우팅 기능을 하는 PC나 장비를 찾아낼 수도 있다. 또한 스니핑을 위한 인터페이스(promiscuous mode)를 감지해 관리자가 쉽게 해킹에 대응할 수 있다.

    NTOP의 한계
    지금까지는 NTOP의 장점에 대해 살펴봤다. NTOP을 실제 현장에서 사용하면서 몇가지 아쉬운 점에 대해 언급한다면, 무엇보다도 실시간 트래픽에 대한 모니터링 도구인 만큼 데이터들이 모두 휘발성이라는 것이다.

    관리자가 디버깅이나 장애처리를 위해 항상 모니터링하는 것 이외에 잠시라도 자리를 비우면 그 시간의 데이터는 텅비게되어 분석할 수 없으므로 이럴 경우 NTOP은 적합하지 않다. 또한 리포팅 모듈에서 데이터 익스포트(Export) 기능이 있긴 하지만 단순히 텍스트만으로 보내기때문에 엑셀 등의 별도의 툴을 이용해야 하는 등 여러모로 번거롭다.


    네트워크와 보안 관리자에게 큰 도움
    최근 성능 문제를 해결하기위해 한 업체의 네트워크 진단을 의회한 적이 있다. 방화벽이 3차로 구성되고 주로 VRRP와 OSPF 구성에 최종 스위치까지 모두 이중화 또는 그 이상으로 구성되는 등 설계가 매우 복잡한 구조였기에 전문 업체에 최적화에 대한 검증을 부탁한 것이었다.

    그런데 소위 전문가들도 ping이나 traceroute, Exceed 등과 Nettools에 들어있는 몇가지 도구로부터 나오는 간단한 결과와 그동안의 경험에 따른 감으로 네트워크를 분석하는 정도라는 것에 놀라움을 금치못했다. 물론 상세분석을 위해 사용하는 스니퍼 역시 모니터링을 할 시점만을 캡처해 분석하거나 실시간 분석 역시 거의 로(raw) 데이터를 그냥 뿌려주는 형태여서 숙련된 전문가가 아니면 스니퍼와 같은 툴로 원하는 결과를 얻기는 정말 어려운 일이라는 것을 절감했다.

    이제 최소한 네트워크에 한번도 연결되지 않은 시스템은 거의 존재하지 않을 만큼 네트워크가 중요해진 상황에서 네트워크의 접속 여부만 체크하거나 대역폭 모니터링 정도를 하는 담당자라면 점차 자동화된 툴에 밀려 도태될 것이다.

    이런 사람에게는 아무리 좋은 툴과 시간을 준다 해도 언제나 답은 네트워크 회선의 고속화와 장비 증설일 것이기 때문이다. 점차 네트워크 엔지니어의 설자리가 좁아지는 현실에서 네트워크 자원이 풍족해지고 장비가 좋아질수록 기계가 할 수 없는 네트워크의 품질을 분석하고 향후를 예측하는 일과 네트워크를 통해 애플리케이션의 문제를 지적해 낼 수 있는 능력을 갖춰야 한다. 이에 NTOP은 모든 네트워크 관리자들에게 충분한 분석능력을, 보안 관리자에게는 IDS보다도 뛰어난 사전탐지 능력을 제공한다.
     
    출처: http://www.zdnet.co.kr
  • MRTG(Multi Router Traffic Grapher)를 이용한 네트웍 트래픽 모니터링

    서버,보안

    MRTG(Multi Router Traffic Grapher)를 이용한 네트웍 트래픽 모니터링

    글쓴날 : 2000년 2월 17일(목)
    글쓴이 : 문태준
    (http://www.taejun.pe.kr, taejun@taejun.pe.kr, taejun@hitel.net)


    참고자료

    리눅스월드(이건 국내판입니당) 97년 11월호 MRTG 자료

    http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/mrtg.html
    (mrtg 홈페이지입니다. www.mrtg.org 해도 됩니다)

    TCP/IP 관련 서적

    http://www.taejun.pe.kr/board2/include/linuxinfo/files/php1ua66O/mrtg-japan.html
    (이건 무식하게 MRTG 일본번역자료를 다시 한일번역프로그램으로 돌린 것입니다.
    이런것을 이용하여 일본리눅스 문서 프로젝트 자료를 번역하는 것도
    재미있을듯. 저도 예전에 좀 해보고 말았지요. 잡담이 길었네용~~)




    0. 들어가며

    네트웍이 점차 보편화되고 이제 조그만 사무실에서도 보통 전용선을
    사용하는 많이 사용하고 있지요. 그러면서 체계적으로 네트웍에 대한
    모니터링을 하는 것도 중요해질 것입니다.

    상용 네트웍 관리툴말고로 리눅스(및 기타 유닉스)에서는 MRTG라는
    공개툴을 이용하여 네트웍 상황을 모니터링할 수 있습니다.

    이전에 SNMP에 대해서 설명합니다.

    ㅇ SNMP(Simple Network Management Protocol)
    네트웍에 연결되어 있는 장치에서 네트웍에 관련된 정보를 모으고
    문제점등을 보고할 수 있는 기능을 제공하는 프로토콜입니다.
    C/S 모델을 기반으로 작동하며 각 네트웍 장비에 Agent 가 있고
    중앙(클라이언트)의 Manager에서 정보를 관리합니다.
    자세한 내용은 TCP/IP 관련 서적을 참고하세요.


    ㅇ MRTG란 무엇인가?
    The Multi Router Traffic Grapher (MRTG)는 네트워크의 부하를 감시하는
    툴입니다. MRTG는 현재 네트워크의 상태를 HTML로 만들어서 사용자가
    쉽게 볼 수 있지요.
    http://www.ee.ethz.ch/stats/mrtg/ 에서 예를 볼 수 있습니다.
    (설정을 조정하면 웹출력화면에서 한글도 지원이 됩니다.)

    대부분의 UNIX와 NT에서 작동합니다. 당근 리눅스도 지원되니깐 제가
    이 글을 쓰는 것이겠지요?
    라우터에서 트래픽 카운터를 읽는 SNMP를 사용하는 펄 스크립트와
    트래픽 데이타를 수집하고 쉽게 읽을 수 있도록 그래픽 화면으로
    변환하는 C로 구성되어있답니다. 속도가 요구되는 부분을 C로 작성
    한 것이지요. 리눅스에서 넷스케이프로 보면 되겠지요?

    MRTG는 매일매일의 트래픽 상황, 과거 7일간, 4주간, 1년간 트래픽
    상황을 그래프로 생성합니다. 로그를 효율적으로 관리하기 때문에
    로그가 커질 염려는 하지 않아도 되고 2년간의 자료를 보관합니다.
    그래서 비교적 저스펙의 하드웨어에서도 50개 이상의 네트웍 링크를
    모니터링할 수 있습니다.

    또한 네트웍 트래픽뿐만 아니라 모든 SNMP 변수에 대해서도 모니터링이
    가능합니다. 외부 프로그램을 이용해서 MRTG가 모니터링할 수 있는
    자료를 모을 수도 있습니다. 또한 시스템 부하, 로그인세션 , 모뎀의
    가용성 등도 mrtg를 이용해 모니터링할 수 있다. 2개이상의 데이터 소스를
    하나의 그래프로 나타낼 수도 있습니다. MRTG를 이용해 squid도
    모니터링가능한데 doc 디렉토리에 참고 문서가 있답니다.


    ㅇ MRTG의 특징


    1.대부분의 Unix플랫폼과, WindowsNT상에서 동작 합니다
    2.간단하게 커스터마이즈할 수 있도록 Perl를 사용하고 있습니다.
    3.이식성이 좋은 펄을 사용해 SNMP 부분을 프로그래밍했습니다.
    그래서 별도로 SNMP 패키지를 설치할 필요가 없습니다.
    4.로그를 정리하기 위한 독자의 알고리즘의 채용을 하고
    있으므로, MRTG의 로그파일의 사이즈가 커지지 않습니다.
    5.MRTG에는 반자동의 설정용툴을 지원합니다.
    6.MRTG는 라우터 포트설정이 변경되면 자동으로 체크하여
    사용자에게 알려줍니다.(메일)
    7. 속도가 중요한 부분은 C로 작성되었습니다.
    8.Thomas Boutell의 GD library 를 사용합니다. 그래프는
    GIF 포맷으로 만들어집니다.
    9. MRTG가 생성하는 HTML파일을 상세하게 설정하는것이 가능.
    10.MRTG는 GNU PUBLIC LICENSE 로 제공됩니다.

    MRTG의 역사, 릴리즈 노트 등응 생략합니다.




    contrib 디렉토리에 위에서 말한 cpu부하등의 정보를 모니터링하는
    툴과 문서가 있습니다.

    00INDEX cfgmaker_cisco/ get-multiserial/ mrtgindex.cgi/
    00INDEX~ cisco_ipaccounting/ ircstats/ mrtgmk/
    14all/ cisco_tftp/ jm/ ovmrtg/
    GetSNMPLinesUP/ ciscoindex/ mrtg-archiver/ ping-probe/
    NSI/ cpuinfo/ mrtg-blast/ portmasters/
    PMLines/ cpumon/ mrtg-dynip/ rdlog2/
    TCH/ diskmon/ mrtg-ipacc/ rumb-stat/
    ascendget/ distrib/ mrtg-ipget/ stat/
    atmmaker/ forecd/ mrtg-mail/ whodo/
    cfgmaker_ATM/ get-active/ mrtgidx/ xlsummary/






    1. mrtg 설치하기

    http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/mrtg.html


    1.MRTG의 최신판을 다운 로드
    http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/pub/

    mrtg-2_8_9_tar.gz

    tar xvfz mrtg-2_8_9_tar.gz 하면 풀리겠지요?

    [root@taejun mrtg-2.8.9]# ls
    ANNOUNCE
    CHANGES
    COPYING
    COPYRIGHT
    MANIFEST
    Makefile.in
    README
    configure* ------>> 첫 환경설정
    configure.in
    contrib/ ----->> 각충 추가 프로그램
    doc/ ------>> 문서
    images/ -------->> 이미지 파일.
    install-sh*
    run/ ---->> 실행스크립트. 제일 중요
    src/
    translate/ --->> 지원언어


    제가 사용할때는 2.8.9 였습니다. 이전버전는 모르겠는데
    HTML 생성시 한글을 지원해서 좋더라구요. 최근에 추가된듯.


    Kensoon Hwang

    사용하는 분들 이분에게 감사의 편지라도....


    2. GD 라이브러리가 없으면 아래 사이트에서 받아서 컴파일
    http://www.boutell.com/gd/

    3. Perl 5.004_4 이상 버전이 있어야합니다.
    http://www.perl.com/perl/info/software.html

    4. ./configure
    시스템에 맞는 Makefile을 만들어주지요.
    펄이나 GD경로가 맞는지 확인해보아야하는데 아마 자동으로
    찾아줄 것입니다. 저도 변경하지 않고 그냥 했지요. ok

    5. make
    rateup실행 파일을 만들기 위해서 make 를 실행합니다.
    rateup 프로그램은 db 파일을 업데이트하고 그래픽 이미지등을
    생성하는 프로그램이라고 하네요. 신경쓰지 말고 그냥 make

    6. MRTG에서 생성할 웹페이지 디렉토리를 정합니다.
    /usr/local/www/htdocs/mrtg 라고 가정하지요.
    그러면 여기에 imags 디렉토리 밑의 mrtg*.gif 파일을 다 복사해
    줍니다.

    7. run 디렉토리에 실행파일이 있습니다. 확인합시다.
    BER.pm SNMP_Session.pm SNMP_util.pm cfgmaker* cfgmaker_ip*
    cfgmaker_phys indexmaker* locales_mrtg.pm mrtg*

    8. 다음에 자신의 mrtg.cfg파일을 작성 합니다.
    이 파일에 관한 정보는config.html에 있습니다.
    아마 처음에는 익숙하지 않은 것입니다.
    doc 디렉토리에 샘플파일이 있으니 이것을 참고하는 것도 좋습니다.

    이걸 자동으로 만드는 툴이 cfgmaker입니다.
    (라우터의 포트번호를 알아내는 프로그래이랍니다)

    cfgmaker @ mrtg.cfg

    라우터의 community@route 주소 를 지정해야지요.
    라우터의 community 이름을 모른다면 public을 사용해보고
    그래도 안되면 관리자에게 문의하세요.

    ./cfgmaker public@203.239.148.193 > mrtg.cfg
    이런 식으로 하면 됩니다. 보통 라우터는 gateway주소겠지요?

    여기서 mrtg.cfg 설정하는 것이 좀 여러운 부분입니다.

    위에서 자동으로 생성된 파일을 다음과 같이 수정합니다.
    이건 제일 윗줄에 적으면 되죠. Language는 직접 추가해야합니다.

    WorkDir: /usr/local/www/htdocs/mrtg/
    Language: korean --->> 한글 설정


    대략 이런 형태로 설정될 것입니다.

    WorkDir: /usr/local/www/htdocs/mrtg
    Target[love]: 2:public@myrouter.somplace.edu
    MaxBytes[love]: 64000
    Title[love]: Traffic Analysis ISDN
    PageTop[love]:

    Stats for our ISDN Line




    WorkDir: /usr/local/www/htdocs/mrtg
    --> 웹 파일이 생성될 디렉토리

    Target[love]: 2:public@myrouter.somplace.edu
    --> [love] -> 체크하고자하는 라우터의 포트에 붙이는 이름.
    나중에 보면 love.html로 됩니당.
    --> 2 : 라우터의 포트번호
    --> public : 라우터의 commnunity 이름
    --> myrouter.somplace.edu : 라우터 주소지정

    MaxBytes[love]: 64000
    -->> 전송속도를 나타냅니다.

    Title[love]: Traffic Analysis ISDN
    -->> 말그대로 이에 대한 제목이라고 보면 됩니다.

    PageTop[love]:

    Stats for our ISDN Line


    -->> 웹페이지 제일 위에 올라가는 말입니다.

    쩝. 위 설명을 좀 빈약하군요.
    doc 밑의 config.html 이나 config.txt를 참고하세요.

    그리고 한국사람들은 한글 지원을 추가합시다!!!


    9. 이제 MRTG를 실행해야겠지요?
    run 디렉토리에서

    ./mrtg mrtg.cfg

    만약 설정파일에 에러가 있다면 에러를 냅니다.
    에러가 없다면 이제 라우터에서 트래픽 자료를 수집하지요.
    그런데 처음에 실행하면 MRTG가 로그 파일이 없다고 에러
    메시지가 나오는데 두세번 실행하면 없어지니 너무
    놀라지 마세요.


    10. MRTG를 crontab에 등록합니다.

    0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/local/mrtg/run/mrtg /usr/local/mrtg/run/mrtg.cfg

    (실제로 작성할때는 위에서 는 빼야겠지요? 여러줄의미)

    첫컬럼이 무지 긴데 */5 로 해도 되겠지요.
    이제 /usr/local/www/htdocs/mrtg/ 로 가서 웹에서 확인해보세요.

    여기까지 하였다면 축하~~~~~~~



    2. 기타

    2.1. 개요 페이지 만들기
    링크가 많다면 페이지가 여러개 필요합니다.
    위에서 Target[love] 라고 되어있는데 이렇게 [ ] 안에 들어가 있는
    문자열로 웹의 mrtg 디렉토리 밑에 love.html 과 관련 그래픽파일이
    생깁니다. 그렇다면 이러한 타겟에 대한 개요 페이지를 만들면 편리할
    것입니다. 그러니깐 여러가지 링크에 대한 주메뉴화면이라고나 할까요.

    indexmaker

    이렇게 설명이 되어있는데요.

    저의 경우는 이렇게 했습니다.

    indexmaker -t 'All My Router' -r . -o /usr/local/www/htdocs/mrtg/index.html mrtg.cfg

    (실제로 작성할때는 위에서 는 빼야겠지요? 여러줄의미)

    명령어의 도움말 보시면 이해가 갑니다. 여기까지 설명하기에는 헥헥~



    2.2. 프락시, 로컬 캐쉬 문제
    MRTG는 기본적으로 5분마다 그래프를 업데이트합니다.
    그런데 프락시나 로컬 캐쉬때문에 문제가 생길 수 있다고 합니다.
    아파치 서버를 사용한다면 mrtg.cfg 에서 WriteExpire와
    아파치 웹서버의 MetaDir 키워드를 적절히 세팅해야합니다.
    이에 대해선 MRTG 홈페이지 참고. 제가 잘 되니깐 별로 고민안하게
    되네요.


    2.3. 추가기능
    MRTG의 본래의 목적은 트래픽 감시입니다만, 어떤
    SNMP변수도 모니터링할 수 있습니다. 모뎀 뱅크 상황,
    서버의 부하, 인터페이스의 에러율 등.

    이에 대해서는 mibhelp.txt 와 contrib 디렉토리를 참고하세요.





    4. 마치며

    대략 이정도로 정리를 합니다.
    설정 파일에 대한 설명은 이후로 미룹니다. 물론 몇십년이 될지
    장담은 못 하겠지요.

    네트웍에 대해 정확히 모니터링해서 쓸데없이 대용량의 회선쓰지말고
    돈을 절약합시다. SNMP에 대해서는 관련 서적을 참고하시구요.
    저도 잘 모릅니다.