Raspberry Pi(某种)强制门户

Raspberry Pi(某种)强制门户

我正在尝试用 RPi3 构建一种强制门户。我首先创建一个遵循这些说明的接入点。接下来,我配置 dnsmasq 将 wlan0 上的所有流量指向其自身。echo 'address=/#/172.24.1.1' >> /etc/dnsmasq.conf

连接后,所有流量都将重定向回我的节点应用程序。现在这就是我的问题开始的地方。所有流量都会发送到我的节点应用程序,包括源自树莓派的流量,因此在盒子上时我无法远程登录到任何网站或安装应用程序。

我认为问题出在 iptable 规则上。

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE  
iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT  
iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT  

我需要来自树莓派的所有流量都能够(通过)传到互联网,eth0并且所有传入的流量wlan0都能够继续重定向到我的节点应用程序。

更新:

以下是结果ip route sh

default via 10.1.10.1 dev eth0  metric 202 
10.1.10.0/24 dev eth0  proto kernel  scope link  src 10.1.10.87  metric 202 
172.24.1.0/24 dev wlan0  proto kernel  scope link  src 172.24.1.1 

至于我正在使用什么强制门户软件,答案是否定的。我正在使用我编写的 Node JS 应用程序。这是一个简单的 Express JS 应用程序,可将所有路径重定向到一个页面。

dnsmasq.conf

interface=wlan0                     # Use interface wlan0  
listen-address=172.24.1.1           # Explicitly specify the address to listen on  
bind-interfaces                     # Bind to the interface to make sure we aren't sending things elsewhere  
#server=8.8.8.8                     # Forward DNS requests to Google DNS  
domain-needed                       # Don't forward short names  
bogus-priv                          # Never forward addresses in the non-routed address spaces.  
dhcp-range=172.24.1.50,172.24.1.150,12h     # Assign IP addresses between 172.24.1.50 and 172.24.1.150 with a 12 hour lease time
address=/#/172.24.1.1

IP表

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination      

相关内容