LAN에서 외부 세계로의 라우터 역할을 하는 freebsd 상자가 있습니다. 여러 인터넷 제공업체, OpenVPN 서버 및 클라이언트, NAT 등이 있습니다.
언제, 누구에게, 누구에게, 어떤 공급자를 통해, 어떤 프로토콜을 통해, 얼마나 많은 바이트가 전송되었는지에 대한 완전한 통계를 얻고 싶습니다.
최소 시간 단위는 1시간이라는 점에 동의합니다. 즉, 밀리초 단위의 정밀도는 필요하지 않습니다.
vnstat2, ntopng 및 기타 몇 가지 프로그램을 사용해 보았지만 필요한 것이 없는 것 같거나 명확하지 않았습니다.
왜 이 기능이 사용하기 쉽지 않은지 모르겠습니다. 하지만 저는 freebsd를 잘 못하거든요. 그러니 제게 몇 가지 단서를 주세요.
답변1
네트워크 트랜잭션에 대한 자세한 정보를 얻으려면 FreeBSD 또는 Linux의 Netflow 생성기 구현을 사용할 수 있습니다.
이름 ng_netflow - Cisco의 NetFlow 구현
설명 ng_netflow 노드는 FreeBSD를 실행하는 라우터에서 Cisco의 NetFlow 내보내기 프로토콜을 구현합니다. ng_netflow 노드는 들어오는 트래픽을 수신하고 그 안에서 고유한 흐름을 식별합니다. 흐름은 끝점 IP 주소, TCP/UDP 포트 번호, ToS 및 입력 인터페이스로 구분됩니다. 만료된 흐름은 노드에서 NetFlow 버전 5/9 UDP 데이터그램으로 내보내집니다.
NetFlow 자체의 경우:
NetFlow는 IP 트래픽 정보를 수집하고 네트워크 트래픽을 모니터링하기 위해 Cisco에서 개발한 네트워크 프로토콜입니다. 트래픽 데이터를 분석하여 네트워크 트래픽과 흐름에 대한 그림을 구축할 수 있습니다.
반품rfc 3954 - NetFlow 서비스 내보내기 버전 9
Netflow 데이터를 저장하려면 서버 수집기라는 것도 필요합니다. Linux 또는 FreeBSD 시스템일 수 있습니다. 실제 라우터에 설치하면 안 됩니다. 알려진 구현 중 하나는 다음과 같습니다.엔프슨
NfSen은 nfdump netflow 도구에 대한 그래픽 웹 기반 프런트 엔드입니다.
NfSen을 사용하면 다음이 가능합니다.
- 네트워크 흐름 데이터 표시: RRD(Round Recurrent Database)를 사용하여 흐름, 패킷 및 바이트.
- 네트워크 스트리밍 데이터를 쉽게 탐색할 수 있습니다.
- 지정된 시간 범위 내에서 네트워크 흐름 데이터를 처리합니다.
- 역사적이고 지속적인 아카이브를 만듭니다.
- 다양한 조건에 따라 알림을 설정합니다.
- 네트워크 스트림 데이터를 주기적으로 처리하는 플러그인을 직접 작성하세요.
사용 가능한 대역폭에 따라 NetFlow 생성은 CPU 집약적일 수 있습니다. 어떤 경우에는 라우터의 스위치 포트를 미러링하고 다른 컴퓨터를 사용하여 이러한 작업을 수행하는 것이 알려진 전략입니다.
특정 대역폭 임계값에 도달한 후 NetFlow를 생성해야 하는 경우 전문 라우터를 선택하는 것이 더 합리적일 수 있습니다.
마지막 주의 사항은 NAT를 사용하면 내부/LAN 인터페이스에서 NetFlow를 캡처해야 한다는 것입니다. 그렇지 않으면 누가 무엇을 하고 있는지 알 수 없습니다.
Cisco 장치에서 NetFlow 데이터를 수집하기 위해 NfSen을 사용하여 5~6개월 동안 트래픽을 유지하기 위해 약 100GB의 데이터를 사용했습니다. 마일리지는 다를 수 있습니다.