第一步、安装
sudo apt-get install hostapd isc-dhcp-server
第二步、开启hostapd
在/etc/hostapd目录下创建 hostapd.conf,内容如下
interface=wlan0 #wlan0为你的无线网卡名称
driver=nl80211 #驱动
ssid=test
hw_mode=g
channel=1 #信道
设置hostapd.conf为hostapd的默认启动文件,编辑 /etc/default/hostapd 将 DAEMON_CONF 改为:
DAEMON_CONF="/etc/hostapd/hostapd.conf"
service hostapd start 开启服务
hostapd默认开机启动,由于我使用的是无线usb网卡,无法自动切换,每次重启电脑后需要停止hostapd后再重启一次,一时找不到原因,索性先禁止其自动启动 systemctl disable hostapd
第三步、开启dhcp
编辑文件/etc/dhcp/dhcpd.conf,在文本后面添加
subnet 10.5.5.0 netmask 255.255.255.0 {
range 10.5.5.26 10.5.5.30;
option domain-name-servers 8.8.8.8;
option routers 10.5.5.1;
option broadcast-address 10.5.5.255;
}
然后编辑文件/etc/default/isc-dhcp-server 的DHCPDv4_CONF和INTERFACEv4
# Defaults for isc-dhcp-server (sourced by /etc/init.d/isc-dhcp-server)
# Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf).
# 上一步文件的路径
DHCPDv4_CONF=/etc/dhcp/dhcpd.conf
#DHCPDv6_CONF=/etc/dhcp/dhcpd6.conf
# Path to dhcpd's PID file (default: /var/run/dhcpd.pid).
#DHCPDv4_PID=/var/run/dhcpd.pid
#DHCPDv6_PID=/var/run/dhcpd6.pid
# Additional options to start dhcpd with.
# Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead
#OPTIONS=""
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACESv4="网卡名称"
#INTERFACESv6=""
然后输入 dhcpd 或者 service isc-dhcp-server start 启动服务。
如果提示 .leases 无法append,是由于isc-dhcp-server已经开机自启了,因此.leases已经被创建了,而当前启动服务的是root用户,因此没有权限去修改.leases,这时可以手动删除/var/lib/dhcp/目录下的dhcpd.leases和dhcpd.leases~,再次输入 dhcpd开启服务,然后别忘了禁止 isc-dhcp-server 开机启动
systemctl disable isc-dhcp-server
如果提示 No subnet declaration for xxxx (no IPv4 addresses).那是因为没有给无线网卡设置ip,那么手动设置一下
ifconfig wlan0 10.5.5.1
然后再次启动服务 service isc-dhcp-server start