Debian Gnu/Linux 8.3下编译安装Hostapd及本地域服务器搭建

解宝琦

操作系统:Debian Gnu/Linux 8.3

内核: linux-image-4.3.0-0.bpo.1-amd64

网卡:腾达(Tenda) W311M 150M Mini无线USB网卡

最近发现自己的Debian之前可以使用GNOME3下的networkmanager进行WIFI共享上网功能因为内核升级导致无法使用。无奈只好再次通过Hostapd来进行WIFI热点设置,同时为了更块的DNS解析,本次顺便也在本地安装了dnsmasq软件实现了本地化的DNS查询服务,成功恢复了我的小本本作为热点的能力。总结方法如下:

1、准备环境:

1、1.执行vi /etc/apt/sources.list,并添加如下源地址:

deb http://ftp.cn.debian.org/debian/ jessie-backports main contrib non-free

1、2.安装最新内核,及相关软件组件包,避免编译Hostapd出错,依次执行如下命令:

apt-get update

apt-get install linux-image-4.3.0-0.bpo.1-amd64

apt-get install linux-headers-4.3.0-0.bpo.1-all-amd64

apt-get install pkg-config

apt-get install libssl-dev

apt-get install gettext

apt-get install openssl

apt-get install libnl-genl-3-dev

apt-get install libnl-genl-3-200

apt-get install libnl-3-dev

apt-get install libnl-3-200

apt-get install hostapd

2.编译、配置hostapd软件:

2、1. 进入http://w1.fi/hostapd/网站下载hostapd-2.5.tar.gz文件

2、2.执行命令tar -zxvf hostapd-2.5.tar.gz对hostapd-2.5.tar.gz进行解压,当前目录下将生成hostapd-2.5文件夹,使用cd hostapd-2.5进入该文件夹,并执行cp defconfig .config命令,使用vi .config命令对该文件进行修改,修改内容如下:

# Use libnl v2.0 (or 3.0) libraries.

CONFIG_LIBNL20=y

 

# Use libnl 3.2 libraries (if this is selected, CONFIG_LIBNL20 is ignored)

CONFIG_LIBNL32=y

# IEEE 802.11n (High Throughput) support

CONFIG_IEEE80211N=y

之后使用make;make install命令进行编译。系统将在/usr/local/bin目录下生成两个文件名为hostapd、hostapd_cli的可执行文件。

2、3.使用命令cp hostapd.conf /etc/hostapd/将hostapd配置文件复制到/etc/hostapd/文件夹下,并将相关字段修改为如下内容:

interface=wlan1

driver=nl80211

ssid=CMSS

hw_mode=g

channel=7

macaddr_acl=0

auth_algs=3

ignore_broadcast_ssid=0

wmm_enabled=1

ieee80211n=1

ht_capab=[HT40-][SHORT-GI-20][SHORT-GI-40]

wpa=2

wpa_passphrase=luju123456

macaddr_acl=0

auth_algs=1

ignore_broadcast_ssid=0

wpa_key_mgmt=WPA-PSK

wpa_pairwise=TKIP

rsn_pairwise=CCMP

2、4.使用vi /etc/default/hostapd对该文件进行编辑,修改内容如下:

DAEMON_CONF=”/etc/hostapd/hostapd.conf”

2、5.使用vi /etc/init.d/hostapd对hostapd服务脚本进行编辑,修改内容如下:

DAEMON_SBIN=/usr/local/bin/hostapd

并在start)下一行添加如下内容:

sed -i ‘/\[keyfile\]/a unmanaged-devices=mac:c8:3a:35:cb:18:e0’ /etc/NetworkManager/NetworkManager.conf

ip addr add 192.168.11.1/24 dev wlan1

echo “1” >/proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

sleep 2

在stop)下一行添加如下内容:

sed -i ‘/^unmanaged-devices=mac:c8:3a:35:cb:18:e0/d’ /etc/NetworkManager/NetworkManager.conf

echo “0” >/proc/sys/net/ipv4/ip_forward

ip addr del 192.168.11.1/24 dev wlan1

iptables -t nat -D POSTROUTING -o wlan0 -j MASQUERADE

sleep 2

在reload)下一行添加如下内容:

sed -i ‘/^unmanaged-devices=mac:c8:3a:35:cb:18:e0/d’ /etc/NetworkManager/NetworkManager.conf

echo “0” >/proc/sys/net/ipv4/ip_forward

ip addr del 192.168.11.1/24 dev wlan1

iptables -t nat -D POSTROUTING -o wlan0 -j MASQUERADE

sed -i ‘/\[keyfile\]/a unmanaged-devices=mac:c8:3a:35:cb:18:e0’ /etc/NetworkManager/NetworkManager.conf

ip addr add 192.168.11.1/24 dev wlan1

echo “1” >/proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

sleep 2

使用命令systemctl daemon-reload对脚本文件进行重新配置。

3.安装、配置dnsmasq软件:

3、1.使用命令apt-get install dnsmasq安装dnsmasq软件。

3、2.使用vi /etc/dnsmasq.conf命令对该文件进行修改,修改内容如下:

resolv-file=/etc/resolv.dnsmasq.conf

server=/cn/114.114.114.114

server=/taobao.com/114.114.114.114

server=/google.com/8.8.8.8

listen-address=127.0.0.1,192.168.11.1

dhcp-range=192.168.11.50,192.168.11.150,12h

dhcp-option=3,192.168.11.1

dhcp-option=6,192.168.11.1

cache-size=1024

conf-dir=/etc/dnsmasq.d

3、3.使用命令vi /etc/resolv.dnsmasq.conf编辑该文件,并添加如下内容:

nameserver 114.114.114.114

nameserver 223.5.5.5

nameserver 223.6.6.6

3、4.使用命令vi /etc/resolv.conf编辑该文件,并添加如下内容:

nameserver 127.0.0.1

4、启动相关服务:

4、1.分别使用命令systemctl enable dnsmasq.service、systemctl disable hostapd.service开启和关闭两项服务,之后在需要使用热点模式时使用命令systemctl start hostpad.serive进行开启,用户即可使用热点名为CMSS,密码为luju123456,网关地址和DNS均为192.168.11.1的80211N协议无限热点进行上网连接啦

此条目发表在Linux分类目录,贴了, , , , , 标签。将固定链接加入收藏夹。