用例:
- 每当任何无线设备连接到接入点时,它都会发送 DHCP 请求。接入点会将 DHCP 请求转发到 Fortinet DHCP 服务器并阻止该客户端的所有其他请求。Fortinet DHCP 服务器将为无线设备分配 IP 地址。
- 接入点将把客户端重定向到由网络服务器托管的本地条款和条件页面,并等待客户端接受。
- 当客户接受条款和条件时,接入点将提供互联网访问权限。
笔记:
接入点将有 hostapd 来配置无线接入点。
接入点将具有 eth2388 vlan,所有互联网流量都将通过它进行路由。
接入点将在其本地服务器(Apache、thttpd)中托管 T&C 网页
在接入点上,由于安全原因,任何接口(eth0.2388、wlan0、brvl2388)都不应有 IP
Fortinet dhcp 服务器也将通过 eth0.2388 访问互联网,因此客户端将访问互联网
-----这就是我到目前为止所做的-----
--> 通过添加 2 个接口 eth0.2388 和 wlan0 创建了网桥 brvl2388。出于安全原因,任何接口或网桥都不会有 IP。
--> 通过将接口指定为 wlan0 并创建名为 HOTSPOT 的接入点来运行 hostapd
#hostapd.conf
interface=wlan0
ssid=HOSTSPOT
hw_mode=g
channel=6
ieee80211n=1
wpa=1
wpa_passphrase=12345678
wpa_pairwise=TKIP CCMP
rsn_pairwise=CCMP
通过这样做,我确保客户端设备在 dhcp 范围内获得 ip 并可以访问互联网。
--> 现在我想运行一个网络服务器,它托管 index.html,并且每当客户端连接到 HOSTSPOT 时,他/她都应该重定向到 index.html。
--> 我尝试通过从其配置中禁用 radius 服务器来设置 covachilli。但问题是 covachilli 运行自己的 dhcp 服务器,客户端获取 chilli 范围的 ip,即 10.1.0.2 系列。我希望客户端从外部 DHCP 服务器获取 ip。
--> 我也尝试了一些 iptables 命令,但没有成功。
那么,如何将所有 wlan0 请求重定向到 web 服务器?