使用 brctl 和 hostapd 设置 wifi 热点

使用 brctl 和 hostapd 设置 wifi 热点

我正在尝试在 Debian GNU/Linux 上使用 brctl 和 hostapd 设置 wifi 热点,但似乎不起作用。我遵循的步骤如下:

echo 1 > /proc/sys/net/ipv4/ip_forward
brctl addbr br0
brctl addif br0 eth0
dhclient br0

到目前为止,它都可以正常工作,我可以使用有线连接上网。然后,我启动hostapd。它添加wlan0到桥接器,有线连接停止工作:我无法上网,智能手机(使用 Android)能​​够通过热点进行身份验证,但无法获取 IP 地址并显示“连接受限”。

我读过几份指南和操作方法,但还是找不到解决方案。有什么建议吗?

答案1

有几个关键点需要考虑:

  1. 您必须禁用网络管理器:

    sudo service network-manager stop
    
  2. 你必须开始hostapd桥前:

    sudo hostapd -B /etc/hostapd/hostapd.conf
    
  3. 现在你只需添加eth0到现有的桥梁:

    sudo brctl addif br0 eth0
    
  4. 并将网桥接入网络:

    sudo dhclient br0
    
  5. 现在你必须检查你的路由表是否正常工作:

    sudo add -net 0.0.0.0/0 gw IP_address_of_your_router dev br0
    sudo del -net 0.0.0.0/0 gw IP_address_of_your_router dev eth0
    
  6. 现在将名称服务器添加到 /etc/resolv.conf:以 sudo 形式,

    echo nameserver 8.8.8.8 >> /etc/resolv.conf
    echo nameserver 8.8.4.4 >> /etc/resolv.conf
    

我的工作方式如上所述:我现在正在通过它进行写作。

答案2

我最终选择了另一种方式来做同样的事情,根据此处的指南- 如果您需要始终在线的 hostapd AP,使用 /etc/networks 可能会更好,但是否则可能用处较少。

这是我的 /etc/networks 文件 - 我已将 wlan0 设置为手动,并桥接了 eth0。

# wireless wlan0
allow-hotplug wlan0
iface wlan0 inet manual

# eth0 connected to the ISP router
allow-hotplug eth0
iface eth0 inet manual
#iface eth0 inet6 auto
# Setup bridge
iface br0 inet static
    bridge_ports wlan0 eth0
    address 192.168.1.127
    netmask 255.255.255.0
    network 192.168.1.0
    gateway 192.168.1.1
    dns-nameservers 192.168.1.1

您的 hostapd.conf 可能也值得关注 - 这是我的精简版,因为我选择编辑“库存”版本。我怀疑您的问题很可能就在那里。

### Wireless network name ###
interface=wlan0
### Set your bridge name ###
bridge=br0
driver=nl80211

###CHANGE ANYTHING BELOW THIS TO SUIT!###

### (IN == INDIA, UK == United Kingdom, US == United Stats and so on ) ###
country_code=SG
hw_mode=g
channel=6
wpa=2
## Key management algorithms ##
wpa_key_mgmt=WPA-PSK
 
## Set cipher suites (encryption algorithms) ##
## TKIP = Temporal Key Integrity Protocol
## CCMP = AES in Counter mode with CBC-MAC
wpa_pairwise=TKIP
rsn_pairwise=CCMP
 
## Shared Key Authentication ##
auth_algs=1
 
## Accept all MAC address ###
macaddr_acl=0
 

相关内容