4. 路由的方式设置WiFi热点(方案二) 4.1 安装必备程序 sudo apt-get install udhcpd |
udhcpd主要为连接到WiFi的设备自动分配IP地址的,当然你也可以换用你所熟悉的软件。 4.2 配置udhcpd,编辑/etc/udhcpd.conf,主要内容如下: start 192.168.42.2 # This is the range of IPs that the hostspot will give to client devices.end 192.168.42.20interface wlan0 # The device uDHCP listens on.remaining yesopt dns 8.8.8.8 4.2.2.2 # The DNS servers client devices will use.opt subnet 255.255.255.0opt router 192.168.42.1 # The Pi's IP address on wlan0 which we will set up shortly.opt lease 864000 # 10 day DHCP lease time in seconds接下来编辑/etc/default/udhcpd并且将下面这行注释掉,以使DHCP Server正常工作: #DHCPD_ENABLED="no"4.3 配置无线网卡 通过下面的命令给无线网卡设置一个IP地址: sudo ifconfig wlan0 192.168.42.1 |
当然为了下次启动仍然有效,我们需要配置/etc/network/interfaces文件: sudo nano /etc/network/interfaces |
注释掉所有的关于无线网卡的部分,最后应该变成下面所示: #wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf#iface default inet dhcp注意保留allow-hotplug wlan0,英文原文是不保留的,但是我操作下来发现如果不保留这段的话,无线网卡有时无法正常配置IP,最后无线网卡IP的配置信息如下: allow-hotplug wlan0iface wlan0 inet static address 192.168.42.1 netmask 255.255.255.04.4 编辑hostapd配置 sudo nano /etc/hostapd/hostapd.conf |
内容如下: interface=wlan0driver=rtl871xdrvssid=My_SSID_Namehw_mode=gchannel=6macaddr_acl=0auth_algs=1ignore_broadcast_ssid=0wpa=2wpa_passphrase=MYPASSWORDwpa_key_mgmt=WPA-PSKwpa_pairwise=TKIPrsn_pairwise=CCMP4.7 启动IP转向功能以便于开通NAT sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward" |
编辑/etc/sysctl.conf改动下面这行: net.ipv4.ip_forward=14.8 配置iptables防火墙 sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT |
到这里路由的NAT功能已经被启用,我们将刚才配置的iptables保存下来以便于下次使用: sudo sh -c "iptables-save > /etc/iptables.ipv4.nat" |
编辑/etc/network/interfaces然后在最后加上下面这行以使每次启动都自动加载iptables配置: up iptables-restore < /etc/iptables.ipv4.nat4.9 重启并测试hostapd
重启完成后,使用下面的命令测试是否正确: sudo hostapd -dd /etc/hostapd/hostapd.conf |
如果没有错误的话,你这时应该能搜索到你所配置的无线信号。然后Ctrl+C退出这个测试。 如果一切正常的话,我们可以设置hostapd的配置文件路径了。 sudo nano /etc/default/hostapd |
去掉注释符号并改动下面这行为我们的配置文件路径: DAEMON_CONF="/etc/hostapd/hostapd.conf"4.10 启动相应软件,并加入启动项 sudo service hostapd start
sudo service udhcpd start
sudo update-rc.d hostapd
enablesudo update-rc.d udhcpd enable |
2013年12月12日更新 最近经常发现无线网卡配置的DHCP不能发挥作用,经过排查发现给无线网卡指定的静态IP失败了,也就是说无线网卡没有IP导致DHCP无法工作,我将/etc/default/ifplugd的内容修改配置如下: INTERFACES="eth0"HOTPLUG_INTERFACES="eth0"ARGS="-q -f -u0 -d10 -w -I"SUSPEND_ACTION="stop" |
|