本文以centos7为例, 使用带有无线网卡的笔记本搭建wifi热点.
工具/原料
- 有无线网卡、有线网卡的笔记本一台
- 安装Linux操作系统,我使用的是centos7
方法/步骤
1. 检查确认笔记本网卡支持master模式
首先要安装一个iw:yum install iw -y
然后执行命令:iw list
在命令执行结果中如果看到了下面的内容,就说明这张网卡是支持用于ap做路由的
Supported interface modes:
* IBSS
* managed
* AP
* AP/VLAN
* monitor
* mesh point
2. 安装hostapd
通过 yum install hostapd -y 安装,如果是其它红帽系列的可以安装epel的源,或者找一下hostapd的rpm,下载对应自己发行版的进行安装。其它Linux可以通过源码安装。
3. 修改配置文件
# vim /etc/hostapd/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=ap_password
driver=nl80211
interface=wlan0
hw_mode=g
channel=9
ssid=ap_name
注意修改涉及到的ssid和密码
4. 安装和配置dhcp
# yum install dhcpd -y
# vim /etc/dhcp/dhcpd.conf
将此文件改成如下:
option domain-name-servers 211.161.45.222,10.141.146.10;
default-lease-time 3600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.7.0 netmask 255.255.255.0 {
range 192.168.7.77 192.168.7.99;
option broadcast-address 192.168.7.255;
option routers 192.168.7.7;
}
注意将第一行的nameserver添加成你isp提供的dns,这样解析的速度会快一些,不知道的话就改成谷歌的8.8.8.8好了。subnet 里面设置的是分配给连接无线路由的设备的ip段,可以根据自己需求进行调整,这里给了192.168.7.77-99
需要注意的是,option routers要写成这台机器的wlan0的ip,这个是手动设置的
# ifconfig wlan0 192.168.7.7
5. 配置SNAT
Linux可以很方便的通过iptables配置SNAT服务器,命令如下:
iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -s 192.168.4.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.4.0/24 -j ACCEPT
其中第一条表示将通过本机的转发数据包从eth0(外网)这个网卡发出去,另外两条表示只转发192.168.4.0/24这个网段过来的数据包,这个网段正好是wlan0其它设备连上本机以后分配的网段。
还需要在打开内核的ip转发功能:
# vim /etc/sysctl.conf
添加或修改这样一段:
net.ipv4.conf.default.rp_filter = 1
然后执行命令
# sysctl -p
6. 启动相关服务
/etc/init.d/dhcpd start
/etc/init.d/hostapd start