我有两个无线接口。wlan1 和 wlan0。我想在 wlan1(airbase-ng
和isc-dhcp-server
)上托管一些接入点,并将数据包从接入点接口(at0
)重定向到wlan0
应该连接到某个 WiFi 的接口。
这是我的 dhcp.conf
ddns-update-style none;
authoritative;
subnet 10.0.0.0 netmask 255.255.255.0{
range 10.0.0.100 10.0.0.254;
option domain-name-servers 8.8.8.8;
option broadcast-address 10.0.0.255;
option routers 10.0.0.1;
default-lease-time 600;
max-lease-time 7200;
}
我已经使用过这样的配置将数据包重定向到iptables
,eth0
但现在我需要用 来执行此操作wlan0
。有什么想法吗?我已经尝试过了wpa_supplicant
,但似乎不起作用。
我正在运行 Debian 8 x64。PC 是 Asus s300ca,wlan1
是 TP-Link TL-WN722N 原始帖子在这里:堆栈流
答案1
正在监听的接口hostapd
处于监控模式,因此无法直接将数据包从该接口路由出去。事实上,您通常的做法是将此接口与 eth0 接口一起放入桥接中。
当您不使用 eth 接口时,您仍然可以创建一个具有虚拟接口的桥,例如 tap0,而不是 eth0。
ip tuntap add tap0 mode tap user root
ip link set tap0 up
ip link add br0 type bridge
ip link set tap0 master br0
interface=br0
现在您可以使用里面的指令hostapd.conf
。下一步,我们使用br0
作为 dhcp 监听请求的接口。最后,您必须同时启用 IPv4 数据包转发以允许 hostapd 收集的数据包通过 wlan0 路由,并使用 MASQUERADE:
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE