액세스 포인트 모드(WiFi 핫스팟)로 구성된 Wi-Fi 동글이 있는 Raspberry Pi가 있습니다.
사용자가 연결할 때 입력한 모든 URL을 지정된 IP(장치 설정/구성 페이지)로 리디렉션하고 싶습니다. 공항의 공용 핫스팟에 연결하고 다른 페이지를 탐색하려면 이메일을 입력하거나 "이용 약관"에 동의해야 할 때 발생하는 것과 유사한 동작을 찾고 있습니다.
pi 배포판에서 이 작업을 수행할 수 있습니까?
답변1
iptables
모든 트래픽을 AP 주소의 포트 80 및 443으로 리디렉션하는 작은 규칙 집합을 사용하여 이를 달성 할 수 있습니다 .
# iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination localhost:80
# iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination localhost:80
또한 모든 알 수 없는 URL을 시작 페이지로 리디렉션하도록 HTTP 서버를 구성해야 합니다. 그러면 http://www.example.com/path/to/specific/site
사용자가 URL을 입력해도 AP의 웹 서버로부터 404가 수신되지 않습니다.
감시 솔루션(첫 번째 연결 시 특정 페이지로 리디렉션)의 경우 전용 패키지가 존재합니다.WiFi 개.