linux 创建wifi 热点_linux开启wifi和热点双用
有些情况下我们需要将连接并认证过的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和热点双用相关推荐
- linux创建sudo用户_Linux终极指南-创建Sudo用户
linux创建sudo用户 sudo stands for either "superuser do" or "switch user do", and sud ...
- Android 10.0热点为Enhanced Open模式时不允许WiFI和热点同时开启代码流程梳理
前言: WLAN Enhanced Open 官方介绍 WLAN Enhanced Open :WiFi增强开放,这个功能就是当手机开启热点时,Securty的一个选项,与WPA2/WPA3同级,En ...
- android 获取wifi的加密类型,Android WIFI开发:获取wifi列表,连接指定wifi,获取wifi加密方式,监听wifi网络变化等...
下面是 Android 开发中 WiFi 的常用配置,如:获取当前 WiFi ,扫描 WiFi 获取列表,连接指定 WiFi ,监听网络变化等等. 下面是效果图: GitHub 下载地址:https: ...
- linux系统中同时开启wifi与热点的办法
如果你在linux操作系统中有同时开启wifi与热点的需求,请按下面的办法操作. 目前开启热点后会自动关闭wifi 同时开启wifi与热点的办法 1. 准备工作 查看是否支持AP模式 iw list ...
- linux 创建wifi 热点_Linux_ubuntu14.04怎么建立wifi热点?,创建的热点手机也是可以连接 - phpStudy...
ubuntu14.04怎么建立wifi热点? 创建的热点手机也是可以连接的,这里将分享两个方法 一,kde-nm-connection-editor工具开启热点 在ubuntu软件中心搜索kde nm ...
- linux 校园网开启wifi共享,Linux/Ubuntu 16.04 使用校园网客户端Dr.com DrClient 有线连网,同时开启WiFi热点...
前面写过Ubuntu 16.04 使用校园网客户端 DrClient 无线上网,在这篇文章中将要介绍下,在Ubuntu 16.04上如何使用校园网客户端实现有线登录,这个问题也让博主困惑了很久,但是问 ...
- linux校园网电脑开wifi密码,Linux/Ubuntu 16.04 使用校园网客户端Dr.com DrClient 有线连网,同时开启WiFi热点...
前面写过Ubuntu 16.04 使用校园网客户端 DrClient 无线上网,在这篇文章中将要介绍下,在Ubuntu 16.04上如何使用校园网客户端实现有线登录,这个问题也让博主困惑了很久,但是问 ...
- linux连接校园网wifi,Linux/Ubuntu 16.04 使用校园网客户端Dr.com DrClient 有线连网,同时开启WiFi热点...
前面写过Ubuntu 16.04 使用校园网客户端 DrClient 无线上网,在这篇文章中将要介绍下,在Ubuntu 16.04上如何使用校园网客户端实现有线登录,这个问题也让博主困惑了很久,但是问 ...
- Linux系统开启wifi热点的方法
具体方法如下:使用ap-hotspot来创建WIFI热点,而不要用Ad hoc.终端里输入: $ sudo add-apt-repository ppa:nilarimogard/webupd8 $ ...
最新文章
- WPF指南之一(WPF的结构)
- 在VS2010 中使用subversion 进行代码的分支与合并
- 10分钟装好宝塔面板,一键管理服务器
- [导入][转]Blog写作十大必杀技
- 使用js给数组去重的3种常用方法
- 【作业】条件、循环、函数定义、字符串操作练习
- 10.软件架构设计:大型网站技术架构与业务架构融合之道 --- 事务一致性
- openSSL AES 加密引擎代码分析
- matlab 画图 浓淡有别,matlab画图命令汇总
- 完美收官 | IOTE第十八届国际物联网展精彩落幕,美格智能参展回顾
- linux学习日志,linux学习日记范文
- layer.js 贤心制作的弹出层插件-不仅仅是弹层
- MFC获取菜单、修改菜单文字
- Execl操作基础——自动填充空白单元格
- linux生成相同文件名覆盖吗,去掉Linux中cp覆盖同名文件的提示
- Excel导出工具类
- 成功拿下猿辅导+斗鱼+滴滴+字节+腾讯offer,实战解析
- [NAS] Synology (群晖) DSM同步数据到阿里云盘
- Matlab实现鼠标拖动显示轮廓线
- python 数据分类汇总_Python 实现批量分类汇总并保存xlsx文件
热门文章
- ASEMI代理AD5934YRSZ-REEL7原装ADI车规级AD5934YRSZ-REEL7
- JAVA项目中如何实现图片上传?
- springboot中如何使用RedisTemplate存储实体对象
- 代理ARP的作用和原理
- 【JavaMap接口】特点实现类HashMap常用方法
- 浙江大学 PAT 编程初级2
- java开发 审核流程思路_java 实现一套流程管理、流转的思路(伪工作流) 【仅供参考】...
- npm全局安装和本地安装及卸载
- 汽车钥匙改装成手机蓝牙无钥匙进入一键启动 ,汽车无钥匙进入为何不能集成到手机?蓝牙无钥匙进入一键启动解决方案
- 关于_map文件的全面解析