我使用笔记本电脑作为 WiFi 接入点。由于这台笔记本电脑具有适当的硬件,因此我能够使用hostapd
.我想使用 DHCP 和iptables
/NAT 转发而不是桥接来更好地控制连接。我编写了一个脚本来执行所有命令。
我的设备能够连接到接入点,并在最初几分钟内可以完全访问互联网。经过这段时间后,没有设备能够再连接到接入点。重新建立连接的唯一方法是重新启动笔记本电脑并重新启动脚本。
这是我的脚本:
#!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
# Clear iptables Rules
iptables -F
iptables -t nat -F
# iptables Rules
iptables -A FORWARD -d 192.168.1.0/24 -o wlan0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -s 192.168.1.0/24 -i wlan0 -j ACCEPT
iptables -t nat -A POSTROUTING -o p4p1 -j MASQUERADE
# Set wlan0 IP
ip addr add 192.168.1.1/24 broadcast 192.168.1.255 dev wlan0
ip link set wlan0 up
# Set DHCP
dnsmasq -C /dev/null >/dev/null 2>&1 --listen-address=192.168.1.1 --dhcp-range=192.168.1.2,192.168.1.200,12h
# hostapd
hostapd /etc/hostapd/hostapd.conf
哪里hostapd.conf
有以下内容:
ctrl_interface=/var/run/hostapd
ctrl_interface_group=wheel
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=3
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
wpa_passphrase=testomesto
driver=nl80211
interface=wlan0
hw_mode=g
channel=1
ssid=osumi-0
附加信息:
- 网络硬件:Broadcom Corporation BCM4311 802.11a/b/g(修订版 01)
- 网络子系统:Dell Wireless 1490 双频 WLAN 迷你卡
- 网络驱动程序:b43-pci-bridge
- 操作系统:Fedora 17(最新)
下面是 iPod 的图像,显示了正确的 IP 和路由器信息
答案1
我的问题的解决方案是安装最新的 b43 社区驱动程序。我按照这里的说明进行操作:http://linuxwireless.org/en/users/Drivers/b43,重新启动笔记本电脑,并与多个 iOS 和 Android 设备连接了两个小时左右,没有出现任何断开连接的情况。