이와 같은 브리지에는 세 개의 인터페이스가 있습니다.
auto br0
iface br0 inet static
bridge_ports enp0s10 wlx00e032800384 wlx08beac0a6c1d
address 192.168.1.31
netmask 255.255.255.0
개방형 AP가 세 번째 인터페이스에서 실행되고 있습니다. 먼저 MAC 주소 1개를 제외한 모든 것을 차단하고 싶습니다. 나는 이것이 트릭을 수행할 것이라고 생각합니다(그리고 해당 인터페이스의 모든 것을 AP 상자에 대한 ssh로만 제한합니다)
iptables -A INPUT -i wlx08beac0a6c1d -m mac ! --mac-source 00:30:65:05:9F:4D -j DROP
iptables -A INPUT -i wlx08beac0a6c1d -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o wlx08beac0a6c1d -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i wlx08beac0a6c1d -j DROP
iptables -A OUTPUT -o wlx08beac0a6c1d -j DROP
그러나 그것은 진실이 아니다.
내 생각엔 그 이유는 iptables
내가 br0
개별 인터페이스만 보고 신경 쓰지 않기 때문인 것 같은데? 이를 수행할 수 있는 방법이 있습니까?
한 가지 방법은 개방형 AP를 다른 서브넷에 배치한 다음 어떻게든 두 서브넷 사이를 라우팅하는 것입니다.
답변1
예,physdev
:
신체 발달
이 모듈은 브리지 장치의 슬레이브인 브리지 포트 입력 및 출력 장치를 일치시킵니다. 이 모듈은 투명한 브리징 IP 방화벽을 구현하는 인프라의 일부이며 2.5.44 이상의 커널 버전에만 유용합니다.
[!] --physdev-in이름 패킷을 수신하는 브리지 포트의 이름(브릿지 포트로 들어오는 패킷에만 적용)입력하다,앞으로그리고사전 라우팅체인). 인터페이스 이름이 "+"로 끝나면 이 이름으로 시작하는 모든 인터페이스가 일치합니다. 패킷이 브리지 장치를 통해 도착하지 않는 경우 "!"를 사용하지 않는 한 패킷은 이 옵션과 일치하지 않습니다. [!] --physdev-out이름 패킷이 전송될 브리지 포트의 이름(수신 브리지 패킷의 경우)앞으로그리고후면 배선체인). 인터페이스 이름이 "+"로 끝나면 이 이름으로 시작하는 모든 인터페이스가 일치합니다. [!] --physdev-is-in 패킷이 브리지 인터페이스를 통해 들어온 경우 일치합니다. [!] --physdev-exited 패킷이 브리지 인터페이스를 통해 나가는 경우 일치합니다. [!] --physdev-is-bridged 패킷이 브리지되어 라우팅되지 않는 경우 일치합니다. 이는 FORWARD 및 POSTROUTING 체인에서만 유용합니다.