当前位置: 首页 > news >正文

NetworkManager配置热点

一、配置NetworkManager,将下面配置丢到/etc/NetworkManger/system-connections/目录内命名hotspot.nmconnection即可:

[connection]
id=hotspot
uuid=93d709e2-f59b-41e4-b146-f81918508e3e
type=wifi
interface-name=wlan0
permissions=
timestamp=1741851917[wifi]
band=bg
channel=11
mac-address-blacklist=
mode=ap
seen-bssids=00:AD:A7:00:6D:6F;#改成自己网卡的MAC地址
ssid=box-wifi[wifi-security]
group=ccmp;tkip;
key-mgmt=wpa-psk
pairwise=ccmp;tkip;
proto=wpa;#这里不能配错,否则可能导致iphone连不上
psk=fe123456[ipv4]
address1=192.0.1.254/24
dns-search=
method=shared[ipv6]
addr-gen-mode=stable-privacy
dns-search=
method=auto

注意:NetworkManager配置热点时需要wpa_supplicant支持的,但不需要单独配置wpa_supplicant。上面文件权限是0600,权限配置错误会导致NetworkManager不能正确读取配置文件。

二、配置DHCP服务,我这里用dnsmasq,配置如下:

interface=wlan0
bind-dynamic
domain-needed
bogus-priv
dhcp-range=192.0.1.100,192.0.1.200,255.255.255.0,12h

三、多网卡配置上网优先级,将 下面配置丢到/etc/NetworkManger/dispatcher.d/目录命名99-metric.sh即可:

#!/bin/bashIF=$1
STATUS=$2
METRIC_PRI=(ppp0 usb0 eth1 eth0 wlan0)
#METRIC_PRI定义网口优先级,不要修改该文件
#自定义优先级文件丢到/etc/NetworkManager/dispatcher.d/metric.d/
if [ -d ./metric.d/ ] && [ ! -z $(ls ./metric.d/) ];thensource ./metric.d/*
fiLOG_FILE=/home/linaro/net.log
#if [ ! -f $LOG_FILE ];then
#    touch $LOG_FILE
#fi
#echo "[`date`] IF=$IF STATUS=$STATUS DHCP4_ROUTERS=$DHCP4_ROUTERS IP4_GATEWAY=$IP4_GATEWAY IP4_ADDRESS_0=$IP4_ADDRESS_0 IP4_ROUTE_0=$IP4_ROUTE_0 IP4_NAMESERVERS=$IP4_NAMESERVERS" >> $LOG_FILEfunction get_route_metric()
{DEV_IF=$1LEN=${#METRIC_PRI[@]}for (( i=0; i<$LEN; i++ )); doif [ "${METRIC_PRI[$i]}" = "$DEV_IF" ]; thenreturn $(expr \( $i + 1 \) \* 10)fidonereturn 150
}if [ "$IF" = "eth0" ]
thencase "$STATUS" inup | dhcp4-change)ip route del default dev $IFif [ ! -z $DHCP4_ROUTERS ];thenget_route_metric $IFip route add default via $DHCP4_ROUTERS dev $IF metric $?elif [ "$IP4_GATEWAY" != "0.0.0.0" ];thenget_route_metric $IFip route add default via $IP4_GATEWAY dev $IF metric $?fi;;*);;esacexit 0
fiif [ "$IF" = "eth1" ]
thencase "$STATUS" inup | dhcp4-change)ip route del default dev $IFif [ ! -z $DHCP4_ROUTERS ];thenget_route_metric $IFip route add default via $DHCP4_ROUTERS dev $IF metric $?elif [ "$IP4_GATEWAY" != "0.0.0.0" ];thenget_route_metric $IFip route add default via $IP4_GATEWAY dev $IF metric $?fi;;*);;esacexit 0 
fiif [ "$IF" = "ppp0" ]
thencase "$STATUS" inup | dhcp4-change)ip route del default dev $IFif [ ! -z $DHCP4_ROUTERS ];thenget_route_metric $IFip route add default via $DHCP4_ROUTERS dev $IF metric $?elif [ "$IP4_GATEWAY" != "0.0.0.0" ];thenget_route_metric $IFip route add default via $IP4_GATEWAY dev $IF metric $?fi;;*);;esacexit 0 
fiif [ "$IF" = "usb0" ]
thencase "$STATUS" inup | dhcp4-change)ip route del default dev $IFif [ ! -z $DHCP4_ROUTERS ];thenget_route_metric $IFip route add default via $DHCP4_ROUTERS dev $IF metric $?elif [ "$IP4_GATEWAY" != "0.0.0.0" ];thenget_route_metric $IFip route add default via $IP4_GATEWAY dev $IF metric $?fi;;*);;esacexit 0 
fiif [ "$IF" = "wl*" ]
thencase "$STATUS" inup | dhcp4-change)ip route del default dev $IFif [ ! -z $DHCP4_ROUTERS ];thenget_route_metric $IFip route add default via $DHCP4_ROUTERS dev $IF metric $?elif [ "$IP4_GATEWAY" != "0.0.0.0" ];thenget_route_metric $IFip route add default via $IP4_GATEWAY dev $IF metric $?fi;;*);;esacexit 0 
fi

注意:上面文件权限0755,权限配置错误会导致NetworkManager不能正确读取脚本文件。

四、调试可以先基于wpa_supplicant,下面是配置文件:

ctrl_interface=/run/wpa_supplicant
ap_scan=2network={         ssid="box-hotspot"mode=2frequency=2412proto=WPApairwise=CCMP TKIPgroup=CCMP TKIPkey_mgmt=WPA-PSKpsk="fe123456"priority=2
}

以上所有配置都是基于传统网口命名规则,如较新系统可能不适用,需要根据需求调整!!!

http://www.dtcms.com/a/327124.html

相关文章:

  • Springboot注册过滤器的三种方式(Order 排序)
  • 如何用codeBuddy20分钟处理一单数据分析
  • 10. React组件间的通信
  • MySQL——MySQL引擎层BufferPool工作过程原理
  • K8s 1.32.6版本部署文档
  • Ansible 基础到实操笔记
  • 【Redis在数据治理与数据隐私保护策略中的优化】
  • 新手向:Python编写简易翻译工具
  • 移动端调用大模型详解
  • 【运维进阶】Ansible 自动化
  • 西门子 S7-200 与 S7-1200 借 PPI 以太网模块通讯,赋能食品行业进步
  • 【pxe】通过pxe批量安装centos系统(传统Legacy启动+uefi启动)
  • Neo4j Cypher语句
  • 淘宝API列表:高效获取商品详情图主图商品视频参数item_get
  • 微前端 + Docker + Kubernetes 运作机制
  • 【51单片机定时器流水灯】2022-10-28
  • Docker使用----(安装_Windows版)
  • Go语言实战案例:使用Gin框架构建Hello API
  • windows单机单卡+CIFAR-10数据集+Docker模拟训练
  • 快速了解自然语言处理
  • 《Redis慢查询日志操作:SLOWLOG GET/CONFIG等命令的分析方法》
  • 计算机视觉(4)-相机基础知识恶补
  • 前端css学习笔记3:伪类选择器与伪元素选择器
  • 【shell脚本编程】-4 shell脚本编写冒泡排序
  • Redis命令大全
  • 新型Windows RPC攻击可劫持服务并完全攻陷Active Directory,PoC已公开
  • C++——模板初阶
  • 企业培训笔记:宠物信息管理--实现宠物信息的添加
  • 计算机毕设不知道选什么题目?基于Spark的糖尿病数据分析系统【Hadoop+Spark+python】
  • 多语言与隐形攻击:LLM安全防线为何被频频突破?