스마트 홈 장치를 로컬 네트워크에 연결하는 방법을 찾으려고 하는데 인터넷 액세스가 거부됩니다.
IP 주소에 바인딩하는 별도의 규칙을 설정하는 대신 로컬 네트워크에 액세스할 수 있지만 인터넷 바인딩 패킷을 삭제하는 DD-WRT 라우터에 가상 WiFi를 만들어 보았습니다.
기본적으로 모든 새로운 가상 WiFi는 브리지 인터페이스의 기본 풀과 혼합됩니다.
이는 전혀 드문 문제가 아니며 표준 접근 방식은 가상 인터페이스를 다른 서브넷과 전체 규칙 세트를 사용하여 자체 브리지로 이동하는 것 같습니다 iptables
. 예를 들어dd-wrt: VAP가 인터넷에 액세스하지 못하도록 방지
우리는 확실히 더 잘할 수 있습니다.
ebtables
원하는 효과를 얻을 수 있는 규칙 을 추가하고 싶습니다 . 다음과 같은 불법적인 규칙:
ebtables -t broute -I BROUTING -i wl0.1 -o $(get_wanface) -j REJECT
-o
이 경우에는 아무런 효과가 없으므로 REJECT
내가 얻을 수 있는 가장 가까운 것은 다음과 같습니다.
ebtables -t broute -I BROUTING -i wl0.1 -p IPv4 --ip-destination ! 192.168.1.0/24 -j DROP
여기서의 설계는 브루트 테이블(글로벌 체인의 초기)에 연결하고 브리지 라우터에서 패킷을 삭제하는 것입니다. 가상 WiFi에 들어가고 로컬 서브넷이 아닌 다른 곳으로 전송되는 모든 패킷을 대상으로 합니다.
이런 종류의 일. 아마도 처음으로 로컬/완 테스트를 수행했지만 진단 앱이 중단되고 네트워크가 매우 건강하지 않은 것처럼 느껴졌습니다.
내 생각에는 ebtables가 IP로 멋진 작업을 수행할 수 없기 때문에 REJECT 개념이 여기에 적용되지 않기 때문이라고 생각합니다. DROP은 전화를 끊을 수 있고 DROP 패킷이 어디로 가는지 처리할 방법이 없기 때문에 문제가 됩니다. (저는 패킷이 어디로 가는지/가로채는 방법/거부하는 방법 등도 모릅니다.)
이 ebtables
접근 방식은 효과가 있습니까, 아니면 실패할 운명입니까?
답변1
전체적으로 :
ebtables -F INPUT
ebtables -A INPUT -i wl0.1 -p IPv4 --ip-destination 192.168.1.1/24 -j ACCEPT
ebtables -A INPUT -i wl0.1 -p IPv4 --ip-destination 255.255.255.255 -j ACCEPT
ebtables -A INPUT -i wl0.1 -p IPv4 -j DROP
ebtables -A INPUT -i wl0.1 -p IPv6 -j DROP
ebtables -L --Lc
- (선택 사항) 기존
ebtables
규칙을 새로 고칩니다(지우기). - 제한된 Wi-Fi를 통해 로컬 서브넷으로 전송된 모든 항목을 수락합니다.
- 제한된 Wi-Fi를 통해 브로드캐스트 주소로 전송된 모든 항목을 수락합니다.
- 제한된 Wi-Fi(예: IPV4)에서 나오는 다른 콘텐츠를 삭제하세요.
- IPV6와 같은 제한된 WiFi에서 다른 콘텐츠를 삭제하세요.
- (선택사항) 방금 추가한 규칙 + 카운터 표시
회상 - 이 연습의 목적은 다음 구성을 만드는 것입니다.
br0 -
- eth0 Wired ethernet | 192.168.1.0/24 | INTERNET
- wl1 5 GHz WiFi | 192.168.1.0/24 | INTERNET
- wl0 2.4 GHz WiFi | 192.168.1.0/24 | INTERNET
- wl0.1 2.4 GHz WiFi | 192.168.1.0/24 | NO INTERNET
(참고 - 동일한 브리지 내의 모든 인터페이스는 모두 동일한 서브넷에 있으며 대부분 인터넷이 있고 하나는 인터넷이 없습니다.)
다른 모든 항목을 삭제할 수 있는데 왜 DROP 규칙에 프로토콜을 지정해야 합니까? 프로토콜과 관련이 없는 것을 발견했습니다.
ebtables -A INPUT -i wl0.1 -j DROP
...Wi-Fi 연결이 설정된 상태에서 작동합니다. 그러나 새로운 WiFi 연결의 경우 인증할 수 없습니다. 이는 규칙이 WPA2-PSK에서 요구하는 비IP 트래픽을 차단하기 때문이라고 생각합니다.
이것이 누군가에게 도움이 되기를 바랍니다. 내 사용 사례는 Kasa 스마트 홈 장치를 내 네트워크에 연결하고 로컬 스마트 홈 시스템에 액세스할 수 있게 하지만 집에 전화를 걸거나 스스로 업데이트할 수 없도록 하는 것입니다. (TPLINK가 개방형 프로토콜을 종료한다는 이야기를 들었기 때문에 자체 업데이트 부분이 주요 동기입니다).