3.2. xdp-filter 규칙과 일치하는 항목을 제외한 모든 네트워크 패킷 삭제
xdp-filter 를 사용하여 네트워크 패킷만 허용할 수 있습니다.
- 특정 대상 포트(From and to a specific destination port)
- 특정 IP 주소의 출처 및 추가Adding from and to a specific IP address
- 특정 MAC 주소 (From and to specific MAC address)
이렇게 하려면 필터가 특정 규칙과 일치하는 항목을 제외하고 모든 네트워크 패킷을 삭제하도록 정의하는 xdp-filter 의 거부 정책을 사용합니다. 예를 들어 삭제할 패킷의 소스 IP 주소를 모르는 경우 이 방법을 사용합니다.
인터페이스에서 xdp-filter 를 로드할 때 거부 하도록 기본 정책을 설정하면 커널은 특정 트래픽을 허용하는 규칙을 생성할 때까지 이 인터페이스에서 모든 패킷을 즉시 삭제합니다. 시스템에서 잠기지 않도록 하려면 명령을 로컬로 입력하거나 다른 네트워크 인터페이스를 통해 호스트에 연결합니다.
사전 요구 사항
-
xdp-tools패키지가 설치되어 있습니다. - 로컬 또는 트래픽을 필터링할 네트워크 인터페이스를 사용하여 호스트에 로그인되어 있습니다.
- XDP 프로그램을 지원하는 네트워크 드라이버입니다.
절차
xdp-filter를 로드하여enp1s0과 같은 특정 인터페이스에서 패킷을 처리하십시오.# xdp-filter load enp1s0 -p deny선택적으로
-f 기능옵션을 사용하여tcp,ipv4또는ethernet과 같은 특정 기능만 활성화합니다. 필요한 기능만 로드하면 패킷 처리 속도가 향상됩니다. 여러 기능을 활성화하려면 쉼표로 구분합니다.오류와 함께 명령이 실패하면 네트워크 드라이버는 XDP 프로그램을 지원하지 않습니다.
일치하는 패킷을 허용하는 규칙을 추가합니다. 예를 들면 다음과 같습니다.
22번의 패킷을 허용하려면 다음을 입력합니다.# xdp-filter port 22이 명령은 TCP 및 UDP 트래픽과 일치하는 규칙을 추가합니다. 특정 프로토콜만 일치시키려면
-p protocol옵션을 명령에 전달합니다.192.0.2.1패킷을 허용하려면 다음을 입력합니다.# xdp-filter ip 192.0.2.1xdp-filter는 IP 범위를 지원하지 않습니다.MAC 주소로 패킷을 허용하려면
00:53:00:07:BE를 입력합니다.# xdp-filter ether 00:53:00:AA:07:BE
중요xdp-filter유틸리티는 상태 저장 패킷 검사를 지원하지 않습니다. 이를 위해서는-m mode옵션을 사용하여 모드를 설정하지 않거나 시스템이 나가는 트래픽에 응답하는 들어오는 트래픽을 허용하는 명시적 규칙을 추가해야 합니다.
검증
다음 명령을 사용하여 삭제 및 허용된 패킷에 대한 통계를 표시합니다.
# xdp-filter status