基于linux的Hostap实现wifi热点分享

基于linux的Hostap实现wifi热点分享

 

一、无线网卡信息查看

工具:ifconfig,WirelessTools

lspci          判断网卡型号

Ifconfig     可以看到是否有无线网卡硬件识别,一般为wlan0

ethtool     查看网卡驱动类型

iw list        命令查看是否支持AP模式

 

二、开源hostapd

如何开启AP模式,利用hostapd软件

1,  切换yum源(https://www.cnblogs.com/renpingsheng/p/7845096.html)

1.首先进入/etc/yum.repos.d/目录下,新建一个repo_bak目录,用于保存系统中原来的repo文件

[root@bogon~]# cd /etc/yum.repos.d/

[root@bogonyum.repos.d]# mkdir repo_bak

[root@bogonyum.repos.d]# mv *.repo repo_bak/

2.在CentOS中配置使用网易和阿里的开源镜像

到网易和阿里开源镜像站点下载系统对应版本的repo文件

[root@bo]#wget http://mirrors.aliyun.com/repo/Centos-6.repo

[root@bo]#wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

[root@bo]#ls

Centos-6.repo  CentOS-Base-163.repo  repo.bak

或者手动下载repo文件并上传到/etc/yum.repos.d/目录

3.清除系统yum缓存并生成新的yum缓存

[root@bogon yum.repos.d]# ls       # 列出/etc/yum.repos.d/目录下的文件

Centos-6.repo CentOS-Base-163.repo  repo.bak

[root@bogon yum.repos.d]# yum clean all     # 清除系统所有的yum缓存

[root@bogon yum.repos.d]# yum makecache     # 生成yum缓存

4.安装epel源

[root@bogon yum.repos.d]# yum list | grep epel-release

[root@bogon yum.repos.d]# yum install -y epel-release

5.使用阿里开源镜像提供的epel源

[root@bogon yum.repos.d]#

wget -O /etc/yum.repos.d/epel-6.repohttp://mirrors.aliyun.com/repo/epel-7.repo   

# 下载阿里开源镜像的epel源文件

6.再次清除系统yum缓存,并重新生成新的yum缓存

[root@bogon yum.repos.d]# yum clean all

[root@bogon yum.repos.d]# yum makecache

2,安装hostapd

 

1.Yum直接下载安装,有部分依赖

Downloading Packages:

(1/4): hostapd-2.6-7.el6.x86_64.rpm                                                                                                  

(2/4): libnl3-3.2.21-8.el6.x86_64.rpm                                                                                                

(3/4): openssl-1.0.1e-57.el6.x86_64.rpm                                                                                               

(4/4): openssl-devel-1.0.1e-57.el6.x86_64.rpm                                                                                        

                   2.下载源码

wget http://hostap.epitest.fi/releases/hostapd-2.6.tar.gz

http://w1.fi/releases/hostapd-2.6.tar.gz

                   编译安装

                   yuminstall libnl-devel      openssl-devel          #依赖库

tar -zxvf hostapd-2.0.tar.gz -C /usr/local/src

cd /usr/local/src/hostapd-2.0/hostapd

cp defconfig .config

make

make install

 

3,配置hostapd

修改文件/etc/hostapd/hostapd.conf

 

macaddr_acl=0                      # 可选,指定MAC地址过滤规则,0表示除非在禁止列表否则允许,#1表示除非在允许列表否则禁止,2表示使用外部RADIUS服务器; 

# accept_mac_file:指定允许MAC列表文件所在; 

# deny_mac_file:指定禁止MAC列表文件所在; 

auth_algs=1                        # 采用 OSA 认证算法 

ignore_broadcast_ssid=0 

wpa=3                              # 指定 WPA 类型 

wpa_key_mgmt=WPA-PSK             

wpa_pairwise=TKIP 

rsn_pairwise=CCMP 

wpa_passphrase=ap_password         # 连接 ap 的密码 

driver=nl80211                     # 设定无线驱动 

interface=wlan0                    # 接入点设备名称 

hw_mode=g               # 指定802.11协议,包括 a =IEEE 802.11a,

                                                                          # b = IEEE 802.11b, g = IEEE802.11g 

channel=9                          # 指定无线频道 

ssid=ap_name                       # 连接 ap 的名字

 

运行hostapd /etc/hostapd/hostapd.conf 

4,hostapd报错

1.  可能是由于hostapd对网卡驱动不支持

2.  hostapd已经占用

3.  netmanager接管导致无法配置

 

三,dhcp服务

 

Dhcp-server安装

(1/5):        dhclient-4.1.1-53.P1.el6.centos.3.x86_64.rpm

(2/5):        dhcp-4.1.1-53.P1.el6.centos.3.x86_64.rpm               

(3/5):        dhcp-common-4.1.1-53.P1.el6.centos.3.x86_64.rpm               

(4/5):        dhcp-devel-4.1.1-53.P1.el6.centos.3.x86_64.rpm                   

(5/5):        portreserve-0.0.4-11.el6.x86_64.rpm                            

 

修改配置 (/etc/dhcp/dhcpd.conf)

 

option domain-name-servers211.161.45.222,10.141.146.10;        #dns 服务器 

default-lease-time 3600;                          # 最小租约 3600 秒 

max-lease-time 7200;                          # 最大租约 7200 秒 

log-facility local7;                                             

subnet 192.168.0.0 netmask 255.255.255.0{                       

   range  192.168.0.1 192.168.0.10;                          # ip 起始地址 

   option broadcast-address 192.168.0.255;                     # 广播地址 

   option routers 192.168.0.1;                # 网关 要写成这台机器的 wlan0 的ip 

启动dhcpd

 

 

四,配置ip转发

配置ip

ifconfig wlan0 192.168.0.1 

 

#打开内核转发

echo "1" >/proc/sys/net/ipv4/ip_forward              

或者添加或修改:

vim /etc/sysctl.conf    

net.ipv4.conf.default.rp_filter = 1 

sysctl -p 

 

使用 iptables 设置转发

iptables -t nat -I POSTROUTING -o eth0 -jMASQUERADE     

iptables -A FORWARD -s 192.168.1.0/24 -jACCEPT 

iptables -A FORWARD -d 192.168.1.0/24 -jACCEPT 

 

第一条表示将通过本机的转发数据包从eth0(外网)这个网卡发出去,

另外两条表示只转发192.168.1.0/24这个网段过来的数据包,这个网段正好是wlan0其它设备连上本机以后分配的网段。

 

注意

Iptables默认添加到末尾,需要删除前面的reject

vim /etc/sysconfig/iptables

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值