nftables를 사용하여 MAC에서 패킷을 필터링/삭제할 수 있습니까?

nftables를 사용하여 MAC에서 패킷을 필터링/삭제할 수 있습니까?

두 개의 시스템이 이더넷을 통해 연결되어 있는데 그 중 하나에는 인터넷 액세스를 제공하는 WiFi 라디오가 있습니다.

이 그림에서 sys#2에는 WiFi 라디오가 있습니다.

sys#1  <---> Ethernet <---> sys#2 <---> wifi <---> internet

sys#2는 이더넷(인터페이스 eth0)에서 Wi-Fi(인터페이스 wlan0)로 패킷을 라우팅합니다. sys#2는 AP에 연결되어 있으며 sys#2 자체는 AP 역할을 하지 않습니다. 저는 nftables 또는 iptables를 사용하여 sys#1과 일치하는 MAC이 없는 sys#2에서 패킷을 필터링하고 삭제하는 방법을 찾고 있습니다. 나는 이더넷에 도착하는 패킷을 삭제하는 데 더 관심이 있습니다. 내가 보호하고 싶은 것은 누군가가 sys#2에 연결하여 WiFi 네트워크에 액세스하는 것을 방지하는 것입니다.

nftables가 이것을 할 수 있습니까? 누군가 이 문제를 해결하기 위해 자신의 MAC을 스푸핑할 수 있다는 것을 알고 있지만 이는 IPSEC 또는 VPN을 통해 연결을 보호할 수 있을 때까지 임시 조치일 뿐입니다.

편집하다: 제안된 nft 명령을 실행하면 오류가 발생합니다.

# nft add rule filter input iif eth0 ether saddr != A4:A3:A3:00:00:00 drop
<cmdline>:1:1-68: Error: Could not process rule: No such file or directory
# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500  metric 1
    inet 10.0.1.1  netmask 255.255.255.0  broadcast 10.0.1.255
     ...

답변1

사용NFFTeth0, 다음 이외의 소스 주소를 가진 네트워크 인터페이스에서 수신된 모든 이더넷 프레임을 폐기합니다 00:00:5e:00:53:00.

nft add rule filter input iif eth0 ether saddr != 00:00:5e:00:53:00 drop

iptables유사한 필터링 허용사과확장하다:

iptables -A INPUT -i eth0 -m mac ! --mac-source 00:00:5e:00:53:00 -j DROP

관련 정보