有些情况下我们需要将连接并认证过的wifi共享出来,这样就无需多个认证达到多人使用了

无线网卡是否支持AP模式

无线设备必须兼容 nl80211标准 ,并且支持 AP (Access Point)工作模式。可通过 iw list 命令查看无线网卡设备信息, 输出信息到Supported interface modes 段落中要有 AP 模式:1iw list

输出中包含* AP代表支持AP模式,可开启热点1

2

3

4

5

6

7

8

9

10

11

Wiphy phy1

...

Supported interface modes:

...

* AP

...

valid interface combinations:

* #{ managed } <= 2048, #{ AP, mesh point } <= 8, #{ P2P-client, P2P-GO } <= 1,

total <= 2048, #channels <= 1, STA/AP BI must match

...

注意:#channels <=1 代表开启的热点必须所连wifi用同一信道

创建热点接口

查看无线网卡设备接口1ip a1

2

3

4wlan0: ...

link/ether ...

inet ...

...

创建虚拟接口1

2

3sudo iw dev wlan0 interface add wifi_ap type managed addr 12:34:56:78:ab:cd

# 或

sudo iw phy phy0 interface add wifi_ap type managed addr 12:34:56:78:ab:cd

如需删除接口使用命令sudo iw dev wifi_ap del即可删除

可使用macchanger给虚拟接口生成一个随机Mac地址1sudo macchanger -r wifi_ap

如需恢复Mac地址使用命令macchanger -p wifi_ap

配置热点

安装hostapd1sudo pacman -S hostapd

配置hostapd1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60sudo vim /etc/hostapd/hostapd.conf

# 热点名

ssid=test_wifi_ap

# 配置密码

wpa_passphrase=password

wpa=2

wpa_key_mgmt=WPA-PSK

wpa_pairwise=TKIP CCMP

# 修改

# 接口

interface=wifi_ap

# 信道(保持与wifi一样)

channel=1

# 其它使用默认,也可自行根据注释说明修改

logger_syslog=-1

logger_syslog_level=2

logger_stdout=-1

logger_stdout_level=2

ctrl_interface=/run/hostapd

ctrl_interface_group=0

hw_mode=g

beacon_int=100

dtim_period=2

max_num_sta=255

rts_threshold=-1

fragm_threshold=-1

macaddr_acl=0

auth_algs=3

ignore_broadcast_ssid=0

wmm_enabled=1

wmm_ac_bk_cwmin=4

wmm_ac_bk_cwmax=10

wmm_ac_bk_aifs=7

wmm_ac_bk_txop_limit=0

wmm_ac_bk_acm=0

wmm_ac_be_aifs=3

wmm_ac_be_cwmin=4

wmm_ac_be_cwmax=10

wmm_ac_be_txop_limit=0

wmm_ac_be_acm=0

wmm_ac_vi_aifs=2

wmm_ac_vi_cwmin=3

wmm_ac_vi_cwmax=4

wmm_ac_vi_txop_limit=94

wmm_ac_vi_acm=0

wmm_ac_vo_aifs=2

wmm_ac_vo_cwmin=2

wmm_ac_vo_cwmax=3

wmm_ac_vo_txop_limit=47

wmm_ac_vo_acm=0

eapol_key_index_workaround=0

eap_server=0

own_ip_addr=127.0.0.1

网络设置

可使用网桥或NAT两种模式,网桥模式还得单独取得认证才能上网,而NAT模式则是认证后再将网络转发分享出来

NAT设置

启动包转发

检查包转发配置情况1sudo sysctl -a |grep forward

信息为用于控制每个默认值,每个接口的转发的选项,以及每个接口的IPv4 / IPv6的单独选项

启用临时包转发1sudo sysctl net.ipv4.ip_forward=1

要想选择性地为某一个具体的网卡提供包转发,使用sysctl net.ipv4.conf.interface_name.forwarding=1来代替

永久开启需编辑/etc/sysctl.d/30-ipforward.conf1

2

3net.ipv4.ip_forward=1

net.ipv6.conf.default.forwarding=1

net.ipv6.conf.all.forwarding=1

启用NAT

使用iptables配置规则来启用NAT1

2

3

4

5

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

sudo iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

sudo iptables -A FORWARD -i wifi_ap -o wlan0 -j ACCEPT

# 保存规则

sudo iptables-save > /etc/iptables/iptables.rules

或1

2

3

4

5

6sudo nft add table ip nat

sudo nft add chain ip nat prerouting { type nat hook prerouting priority 0 ; }

sudo nft add chain ip nat postrouting { type nat hook postrouting priority 100 ; }

# 永久保存

sudo nft list ruleset > /etc/nftables.conf

配置DHCP

配置DHCP自动分配IP,可通过使用dhcpd或dnsmasq来启用DHCP服务

DHCP服务器必须允许UDP端口67的传入连接。对于DNS请求,还必须允许到UDP / TCP端口53的传入连接。1

2

3

4

5

6iptables -I INPUT -p udp --dport 67 -i net0 -j ACCEPT

iptables -I INPUT -p udp --dport 53 -s 192.168.123.0/24 -j ACCEPT

iptables -I INPUT -p tcp --dport 53 -s 192.168.123.0/24 -j ACCEPT

# 保存规则

sudo iptables-save > /etc/iptables/iptables.rules

给接口添加静态IP1sudo ip addr add 10.0.0.254/24 dev wifi_ap

配置hdcpd服务

需要安装dhcpd包1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23# 原有的 dhcpd.conf 中包含多个未被注释的示例,所以先将其备份再新建一个

sudo mv /etc/dhcpd.conf /etc/dhcpd.conf.backup

sudo vim /etc/dhcpd.conf

# 添加配置内容

option domain-name-servers 114.114.114.114,8.8.8.8;

option subnet-mask 255.255.255.0;

option routers 10.0.0.254;

subnet 10.0.0.0 netmask 255.255.255.0 {

range 10.0.0.0 10.0.0.0;

}

# 配置MAC地址绑定固定IP

option domain-name-servers 114.114.114.114,8.8.8.8;

option subnet-mask 255.255.255.0;

option routers 10.0.0.254;

subnet 10.0.0.0 netmask 255.255.255.0 {

range 10.0.0.0 10.0.0.0;

host macbookpro{

hardware ethernet 11:22:33:aa:bb:cc;

fixed-address 10.0.0.10;

}

}

启动DHCP服务1

2

3

4

5# 启用IPv4 DHCP

sudo systemctl start dhcpd4

# 启动IPv6 DHCP

sudo systemctl start dhcpd6

开启热点

启动hostapd即可1sudo systemctl start hostapd

使用脚本

安装

ArchLinux系可直接用pacman安装1sudo pacman -S create_ap

使用

添加虚拟网络接口并设置地址1sudo iw dev wlan0 interface add wifi_ap type managed addr 12:34:56:78:ab:cd

配置热点1sudo create_ap -c 11 wifi_ap eth0 SSID passwowd

linux 创建wifi 热点_linux开启wifi和热点双用相关推荐

  1. linux创建sudo用户_Linux终极指南-创建Sudo用户

    linux创建sudo用户 sudo stands for either "superuser do" or "switch user do", and sud ...

  2. Android 10.0热点为Enhanced Open模式时不允许WiFI和热点同时开启代码流程梳理

    前言: WLAN Enhanced Open 官方介绍 WLAN Enhanced Open :WiFi增强开放,这个功能就是当手机开启热点时,Securty的一个选项,与WPA2/WPA3同级,En ...

  3. android 获取wifi的加密类型,Android WIFI开发:获取wifi列表,连接指定wifi,获取wifi加密方式,监听wifi网络变化等...

    下面是 Android 开发中 WiFi 的常用配置,如:获取当前 WiFi ,扫描 WiFi 获取列表,连接指定 WiFi ,监听网络变化等等. 下面是效果图: GitHub 下载地址:https: ...

  4. linux系统中同时开启wifi与热点的办法

    如果你在linux操作系统中有同时开启wifi与热点的需求,请按下面的办法操作. 目前开启热点后会自动关闭wifi 同时开启wifi与热点的办法 1. 准备工作 查看是否支持AP模式 iw list ...

  5. linux 创建wifi 热点_Linux_ubuntu14.04怎么建立wifi热点?,创建的热点手机也是可以连接 - phpStudy...

    ubuntu14.04怎么建立wifi热点? 创建的热点手机也是可以连接的,这里将分享两个方法 一,kde-nm-connection-editor工具开启热点 在ubuntu软件中心搜索kde nm ...

  6. linux 校园网开启wifi共享,Linux/Ubuntu 16.04 使用校园网客户端Dr.com DrClient 有线连网,同时开启WiFi热点...

    前面写过Ubuntu 16.04 使用校园网客户端 DrClient 无线上网,在这篇文章中将要介绍下,在Ubuntu 16.04上如何使用校园网客户端实现有线登录,这个问题也让博主困惑了很久,但是问 ...

  7. linux校园网电脑开wifi密码,Linux/Ubuntu 16.04 使用校园网客户端Dr.com DrClient 有线连网,同时开启WiFi热点...

    前面写过Ubuntu 16.04 使用校园网客户端 DrClient 无线上网,在这篇文章中将要介绍下,在Ubuntu 16.04上如何使用校园网客户端实现有线登录,这个问题也让博主困惑了很久,但是问 ...

  8. linux连接校园网wifi,Linux/Ubuntu 16.04 使用校园网客户端Dr.com DrClient 有线连网,同时开启WiFi热点...

    前面写过Ubuntu 16.04 使用校园网客户端 DrClient 无线上网,在这篇文章中将要介绍下,在Ubuntu 16.04上如何使用校园网客户端实现有线登录,这个问题也让博主困惑了很久,但是问 ...

  9. Linux系统开启wifi热点的方法

    具体方法如下:使用ap-hotspot来创建WIFI热点,而不要用Ad hoc.终端里输入: $ sudo add-apt-repository ppa:nilarimogard/webupd8 $ ...

最新文章

  1. WPF指南之一(WPF的结构)
  2. 在VS2010 中使用subversion 进行代码的分支与合并
  3. 10分钟装好宝塔面板,一键管理服务器
  4. [导入][转]Blog写作十大必杀技
  5. 使用js给数组去重的3种常用方法
  6. 【作业】条件、循环、函数定义、字符串操作练习
  7. 10.软件架构设计:大型网站技术架构与业务架构融合之道 --- 事务一致性
  8. openSSL AES 加密引擎代码分析
  9. matlab 画图 浓淡有别,matlab画图命令汇总
  10. 完美收官 | IOTE第十八届国际物联网展精彩落幕,美格智能参展回顾
  11. linux学习日志,linux学习日记范文
  12. layer.js 贤心制作的弹出层插件-不仅仅是弹层
  13. MFC获取菜单、修改菜单文字
  14. Execl操作基础——自动填充空白单元格
  15. linux生成相同文件名覆盖吗,去掉Linux中cp覆盖同名文件的提示
  16. Excel导出工具类
  17. 成功拿下猿辅导+斗鱼+滴滴+字节+腾讯offer,实战解析
  18. [NAS] Synology (群晖) DSM同步数据到阿里云盘
  19. Matlab实现鼠标拖动显示轮廓线
  20. python 数据分类汇总_Python 实现批量分类汇总并保存xlsx文件

热门文章

  1. ASEMI代理AD5934YRSZ-REEL7原装ADI车规级AD5934YRSZ-REEL7
  2. JAVA项目中如何实现图片上传?
  3. springboot中如何使用RedisTemplate存储实体对象
  4. 代理ARP的作用和原理
  5. 【JavaMap接口】特点实现类HashMap常用方法
  6. 浙江大学 PAT 编程初级2
  7. java开发 审核流程思路_java 实现一套流程管理、流转的思路(伪工作流) 【仅供参考】...
  8. npm全局安装和本地安装及卸载
  9. 汽车钥匙改装成手机蓝牙无钥匙进入一键启动 ,汽车无钥匙进入为何不能集成到手机?蓝牙无钥匙进入一键启动解决方案
  10. 关于_map文件的全面解析