iptables - 목록 MAC 주소 이외의 리디렉션

iptables - 목록 MAC 주소 이외의 리디렉션

내 라우터에서 iptables를 사용하여 모든 네트워크 트래픽을 내 페이지로 리디렉션합니다.

그런데 내 Mac 주소 목록을 제외하는 방법을 모르겠습니다.

제가 주문한 것은 다음과 같습니다.

iptables -t nat -A PREROUTING -m mac ! --mac-source xx-xx-xx-xx-xx-xx -p tcp --dport 80  -j DNAT --to 127.0.0.1:8080 (Host A)
iptables -t nat -A PREROUTING -m mac ! --mac-source xx-xx-xx-xx-xx-xx -p tcp --dport 80  -j DNAT --to 127.0.0.1:8080 (Host B)

그러나 호스트 A에 대한 명령을 실행합니다. 이는 호스트 A가 웹에 정상적으로 액세스할 수 있지만 호스트 B는 여전히 리디렉션된다는 의미입니다.

두 Mac 주소에 정상적으로 액세스하려면 어떻게 해야 합니까?

답변1

이것을 사용하십시오 :

iptables -t nat -A PREROUTING -m mac --mac-source xx-xx-xx-xx-xx-xx -j ACCEPT (Host A)
iptables -t nat -A PREROUTING -m mac --mac-source xx-xx-xx-xx-xx-xx -j ACCEPT (Host B)
iptables -t nat -A PREROUTING -p tcp --dport 80  -j DNAT --to 127.0.0.1:8080

처음 두 명령은 A와 B의 패킷을 허용하므로 패킷이 다른 호스트에서 오는 경우에만 리디렉션이 발생합니다.

관련 정보