nftable 필터 입력은 호스트 트래픽을 차단합니다.

nftable 필터 입력은 호스트 트래픽을 차단합니다.

nftables를 사용하여 Debian 10에서 Linux 라우터를 설정하려고 합니다. 나는 몇 가지 튜토리얼을 따르고 문제에 대한 혼란을 가중시키는 몇 가지 독서를 했습니다. 내 라우터, WAN, 관리 및 LAN1에 3개의 인터페이스가 있고 기본 설정이 예상대로 작동하지만 이제 서버에서 업데이트를 수행하려고 하면 WAN 인터페이스에서 나오는 로컬 트래픽이 차단되는 것을 발견했습니다. 내 nftable.conf는 다음과 같습니다

#!/usr/sbin/nft -f

flush ruleset

table inet filter {
    chain output {
            type filter hook output priority 0; policy accept;
    }
    chain input {
            type filter hook input priority 0; policy accept;
            iif WAN ip protocol icmp accept
            iif WAN drop
            iif LAN1 ip protocol icmp accept
            iif LAN1 udp dport {67, 68} accept
            iif LAN1 counter drop
            iif Management accept
    }
    chain forward {
            type filter hook forward priority 0; policy drop;
            iif LAN1 oifname WAN accept
            iif WAN oifname LAN1 ct state related,established accept
    }
}

 table ip nat {
    chain prerouting {
            type nat hook prerouting priority 0; policy accept;
    }
    chain postrouting {
            type nat hook postrouting priority 100; policy accept;
            oif WAN masquerade
    }
}

icmp 규칙 때문에 WAN 인터페이스를 통해 IP 주소를 ping할 수 있지만 WAN 인터페이스에 대한 다른 모든 트래픽을 차단하고 싶기 때문에 "iif WAN 삭제" 규칙을 도입하면 DNS가 도메인 이름을 확인할 수 없습니다. WAN 인터페이스를 통해 서버에 연결할 수 있습니다.

내가 이해한 바에 따르면 출력 규칙은 호스트로부터의 아웃바운드를 허용해야 하는데 호스트 트래픽이 입력 필터에 의해 차단되는 이유를 이해할 수 없습니다.

LAN1 인터페이스에 연결된 클라이언트 노드에서 수행한 일부 테스트에 따르면 클라이언트는 트래픽이 제한되지 않더라도 호스트를 탐색할 수 있습니다.

누구든지 내 실수를 지적하거나 이것이 호스트 트래픽에 영향을 미치는 이유를 설명할 수 있다면.

감사해요

답변1

입력 체인의 규칙은 WAN에 도착하고 라우터 자체로 향하는 모든 패킷을 삭제합니다(ICMP 패킷 제외). 라우터 자체가 연결을 설정할 수 있도록 하려면 iff WAN ct state established,related accept전달 체인의 규칙과 유사한 규칙이 필요합니다. 이 규칙이 먼저 와야 합니다 iff WAN drop. 좋은 측정을 위해 루프백 인터페이스에 대한 명시적인 수락 규칙도 추가하겠습니다.

관련 정보