查看: 411|回复: 0

[应用笔记] UB61 Ubuntu下开启wifi热点

[复制链接]

21

主题

21

帖子

67

积分

利尔达员工

Rank: 9Rank: 9Rank: 9

积分
67
发表于 2023-4-24 14:37:36 | 显示全部楼层 |阅读模式
  描述

  UB61支持AP模式,本文旨在介绍如何在linux系统下开启AP也就是开启热点

  过程

  1 安装hostapd

  1.1下载hostapd源码
  git clone git://w1.fi/srv/git/hostap.git       //从官方的git仓库里获取hostapd最新的开发版
  cd hostap/hostapd               //定位到hostap文件

  1.2 配置hostapd
  cp defconfig .config              //复制hostapd目录下的deconfig文件为.config
  vi .config                   //进行编辑

  开启NL80211配置(使能 NL80211)
图1

  1.3 安装libnl和libssl库
  sudo apt-get install libssl-dev libnl-3-dev libnl-genl-3-dev

  1.4 对hostapd进行编译
  make

  1.5 再安装
  sudo make install

  2  配置hostapd

  2.1 查询网卡名称
  ifconfig     //查询到网卡名称为wlan0
图2.1

  2.2 创建配置文件hostapd-minimal.conf
  sudo vi hostapd-minimal.conf     //创建hostapd-minimal.conf文件
图2.2

  添加
  interface=wlan0
  driver=nl80211
  ssid=test
  hw_mode=g
  channel=1              

  ●hostapd操作进程的接口名称。用ifconfig看一下我们的网络设备口,当这里是对wlan0操作时,这里就写上interface=wlan0
  ●驱动接口类型,我们一般都是nl80211/cfg80211的开源驱动架构,hostapd作为用户侧进程,需要和下层cfg80211驱动接口交互,所以这里用nl80211。
  ●ssid的值就是热点名,支持     中文、数字、双引号和转码符号
  ●比较重要的参数之一,早期的80211a/80211b/80211g物理层各不一样,11a是5G下的标准,11g是2.4G下的标准,11b虽然也是2.4G下的,但是因为它是非OFDM调制,所以后面的11n/11ac/11ax等不再兼容它。从80211n开始物理层没有根本性的变化,都是在前向兼容。所以对于802.11n/ac/ax等制式,物理层这里字段还是80211a(对应5G)或者80211g(对应2.4G),只有这两种选择。除此之外还有ad选择,对应60G频段。
  ●信道值,默认为0,当为0时代表不指定信道,热点在环境中找个较干净的信道来实施,这个机制对应叫ACS(自动频率选择)
图2.3

  2.3 修改网卡wlan0 的IP为 192.168.1.1   
  sudo ifconfig wlan0 192.168.1.1 netmask 255.255.255.0
图2.4

  2.4 开启hostapd
  sudo hostapd hostapd-minimal.conf -B      //如下【图2.6】所示,表示已经成功启动了hostapd
图2.5

  注:成功启动了hostapd 手机可以搜到hostapd的wifi “test”。但是连不成功,这是因为电脑没有安装dhcp服务,不能给连接的终端分配ip地址,如下【图2.6】,继续下一步3 安装启动dhcp服务
图2.6

  3 安装启动dhcp服务

  3.1 安装dhcp server
  sudo apt-get install isc-dhcp-server

  3.2 编辑文件/etc/default/isc-dhcp-server
  sudo vi /etc/default/isc-dhcp-server     //INTERFACES=”无线网卡名称“,如下【图3.1】所示
图3.1

  3.3 编辑文件/etc/dhcp/dhcpd.conf
  sudo vi /etc/dhcp/dhcpd.conf

  在文本中添加
  subnet 192.168.10.0 netmask 255.255.255.0 {
   range 192.168.10.10 192.168.10.100;              
   option subnet-mask 255.255.255.0;               
   option routers 192.168.10.1;                           
   option domain-name-servers 192.168.10.1;   

  ●rang:网段
  ●option subnet-mask:设置客户端子网掩码
  ●option routers:默认网关
  ●option domain-name-servers:域名服务器地址
图3.2

  3.4 启动dhcp server
  sudo dhcpd
图3.3

  error:
  can't open /var/lib/dhcp/dhcpd.leases for append
图3.4

  解决:更改权限
  sudo chmod 777 /var/lib/dhcp/dhcpd.leases

  注:启动成功dhcpd,这个时候打开ap,手机可以分配到ip地址如下【图3.5】,但是还是无法上网,如下【图3.6】,我们需要启动网络共享,进行IP转发和IP转换
图3.5
图3.6

  4 启动internet共享

  4.1 启用IP转发
  echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward

  4.2 配置路由转发表
  sudo iptables -t nat -A POSTROUTING -o ens33 -j MASQUERADE    //ens33为自己的internet连接名称,通过ifconfig查询

  4.3 开启AP
  sudo hostapd hostapd-minimal.conf

  用手机连接就可以上网正常,如图5
图5

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表