ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Ad-hoc无线网络实战:Linux下IBSS模式搭建与排错指南

Ad-hoc无线网络实战:Linux下IBSS模式搭建与排错指南 简介《搭建Ad-hoc无线网络[整理].pdf》是一份面向网络初学者的实操型技术文档围绕Ad-hoc无线对等网络的原理与搭建方法展开适合高校局域网组建课程、技能实训或临时无线环境搭建场景。文档共1个PDF大小约1.23MB体量虽小但操作步骤完整已有144人在CSDN学习下载。内容先从Ad-hoc网络的基本概念入手说明其不依赖中央设备、各节点可直接通信的Peer-to-Peer特点随后以TP-LINK无线网卡驱动安装为例逐步演示在Windows 7中创建“计算机到计算机”临时网络、设置SSID、选择WEP安全类型及密钥以及让多台设备保持同一IP网段的配置要点。文中还给出了三台计算机的实训组网流程包括组网图、设备清单、驱动安装截图和ping命令联通性测试方法读者可按照文档逐步搭建并验证一个完整的Ad-hoc对等网络。同时资源也指出了该网络安全性较弱、易受干扰等局限帮助读者在实际部署时权衡使用场景适合动手实践与复习参考。1. Ad-hoc无线网络是什么没有AP也能组网现场调试与应急通信的刚需两台笔记本放在一间没有网线、没有无线路由器的临时办公室要互相传日志、调设备这时候最省事的办法就是让它们直接互连。Ad-hoc无线网络IEEE 802.11 IBSS模式解决的正是这类「没有基础设施也能组网」的场景所有设备在同一个无线域里地位平等不依赖接入点AP也没有中心网关。它和手机热点是两回事——热点是把手机伪装成APAd-hoc则是真正的点对点平等组网。适合野外作业、产线临时调试、网络中断时的应急通信以及机器人、无人机地面站等现场组网需求。下面这套流程从驱动检查讲到IP分配、断流验证和重启自愈按步骤复现就能把两台甚至五台设备用起来。2. 把网卡切进Ad-hoc模式驱动检查、三条命令和Windows那条窄路2.1 网卡能不能干这活先看iw list的输出在Linux下一块无线网卡能不能进Ad-hoc不取决于网卡贵不贵而取决于驱动和固件有没有实现IBSS模式。市面上很多USB无线网卡只做了managed基础设施模式和AP软热点支持压根没做ibss你在后面执行切换命令时就会吃到一鼻子灰。所以在动手之前先用iw工具把网卡的能力摸清楚。# 列出无线接口确认接口名常见的有wlan0、wlp3s0 iw dev # 查看这块网卡支持哪些运行模式这一步最关键 iw list | sed -n /Supported interface modes/,/Band 1/p第一段命令输出所有无线接口的物理设备名第二段命令把iw list里「Supported interface modes」这部分截取出来你会看到类似managed、AP、monitor、IBSS这样的模式列表。如果列表里只有managed和AP说明驱动没做ibss换网卡比折腾驱动省时间。如果看到IBSS继续往下走。还要留意iw list里「valid interface combinations」这一段。如果这块网卡当前正被NetworkManager用在AP模式它可能不允许你同时再开一个ibss后续命令会报Device is busy。另外有些网卡的射频开关默认是软关状态执行任何iw命令前先确认rfkill list里没有无线接口被blocked否则后面切模式时会一直报RTNETLINK answers: Operation not possible。2.2 建立Ad-hoc网络的三条命令set type、join、配IP确认网卡支持ibss之后就可以把接口从managed模式切到IBSS模式。这里有一个前提工作先让NetworkManager下称NM对这块网卡放手否则你刚切完NM一刷新就会把网卡拉回管理模式导致你看到的始终是无线网络连不上而不是卡在Ad-hoc。下面是最小可复现的三步命令# 1. 让NetworkManager不再托管这块网卡避免它来抢接口 sudo nmcli device set wlan0 managed no # 2. 把接口降到down切到ibss模式再拉起来 sudo ip link set wlan0 down sudo iw dev wlan0 set type ibss sudo ip link set wlan0 up # 3. 加入IBSS网络FieldNet是SSID2412对应信道1 sudo iw dev wlan0 ibss join FieldNet 2412 fixed-freq第3条命令是最容易出问题的fixed-freq的意思是强制使用2412 MHz这个频率不要自己跳这一点很重要。如果不带fixed-freq部分驱动的信道选择策略会让两台设备落在不同频点上SSID相同也互相看不见。iw对2.4GHz默认用HT20带宽如果你明确要用40MHz可以写成iw dev wlan0 ibss join FieldNet 2412 fixed-freq HT40但我一般不建议在Ad-hoc里用HT40远距离下HT40的附加数据流更容易受到干扰吞吐反而骤降。切到ibss之后再给接口配一个静态IP因为Ad-hoc默认没有DHCP服务sudo ip addr add 192.168.10.1/24 dev wlan0 sudo ip link set wlan0 upip这条命令放在join之前或之后都行关键是确保接口处于up状态。对第二台设备把IP改成192.168.10.2/24就能在高层ping通了。还有一个实操建议这一步不要急着加加密参数先把开放网络的二层链路打通再加密钥或上层加密排错会容易得多。我就见过有人先配WPA2结果一直卡在认证上最后才发现驱动在IBSS下根本不支持WPA2白折腾两小时。操作到这里可以用下面两条命令确认自己真的处于IBSS状态# 查看接口当前类型、BSSID和频率 iw dev wlan0 info # 查看已经关联到这台设备的对方站点 iw dev wlan0 station dump第一条输出里的type应该是IBSS还会显示BSSID和freq。第二条能看到对端设备的MAC和连接时间。如果station dump里空荡荡说明另一个设备还没有加入同一个BSS问题多半出在信道或BSSID这个放到第5章专门展开。2.3 Windows下搭Ad-hoc看清哪条路还走得通Windows对Ad-hoc的支持跟系统版本、网卡驱动强相关。Windows 7时代「设置临时无线网络」做的确实是IBSS但Windows 10/11把图形入口基本拿掉了命令行里的netsh hostednetwork建出来的是SoftAP——也就是说这台Windows机器仍然扮演AP角色不是严格的Ad-hoc。想做真正peer-to-peer的IBSSWindows网卡驱动里很多已经删掉了IBSS支持这条路确实很窄。如果你想看看Windows这边还有没有戏用管理员身份执行# 查看无线驱动支持的模式和承载网络能力 netsh wlan show drivers看输出里的「支持的无线网卡类型」列表如果包含「临时网络」或「Ad-hoc」字样那这块网卡的驱动还保留IBSS支持你可以尝试加入别人创建的Ad-hoc网络。如果只有「基础设施」和「承载网络」那它建不了IBSS最多用netsh start hostednetwork做一个软热点。血泪经验是Windows的IBSS支持像开盲盒真到野外干活准备一台Linux机器做发起端比在Windows驱动里搏运气靠谱。2.4 NetworkManager为什么会「回收」你的Ad-hoc网在桌面Linux发行版上默认无线网络由NetworkManager托管统信UOS这类国产桌面系统也是一样的架构。NetworkManager把你这块无线网卡当成基础设施模式的客户端来管它看到你切到IBSS会在后台把网卡拉回管理模式重新去连之前保存的Wi-Fi于是你的Ad-hoc连接莫名其妙就没了图形界面还会弹一个无线网络连不上的提示。解决办法是让NM对这块网卡放手nmcli device set wlan0 managed no执行后用nmcli dev status确认wlan0的state变成unmanaged。注意这个设置只在本次开机有效重启后需要重新执行所以我会把它写进网络自启脚本第6章会给出systemd版本。提示一旦把wlan0设为unmanaged图形网络面板里这块网卡就不会再出现在Wi-Fi列表中也不能用它连普通Wi-Fi。一台机器既要上办公室Wi-Fi又要同时做Ad-hoc建议准备两块无线网卡分开用而不是在一个接口上反复切来切去。3. 给Ad-hoc网络分配IP静态地址是默认做法轻量DHCP也可以3.1 Ad-hoc里DHCP不是必需品Ad-hoc网络和家里路由器的区别不只是少了AP还少了DHCP服务器这个角色。IBSS里每台设备地位平等没有谁能天然充当「地址管理员」所以IP地址规划必须显式做掉。两台设备的时候手工静态地址是绝对够用的一分钟就配完四台以上设备时在一台固定不动的设备上跑一个轻量DHCP服务也能让其他设备插上就通。为什么不建议直接跑一个完整的DHCP服务原因有两个一是IBSS里承载DHCP广播的设备如果休眠或关机其他设备的地址续租就会失败表现就是无线网络断流之后再也拿不回地址二是很多桌面系统的NetworkManager会自己发起DHCP探测和你在同一接口上手工配的网段冲突出现「地址刚分配又被清掉」的怪现象。所以我的习惯是能静态就静态必须动态时DHCP服务端只提供地址不做网关和DNS下发。3.2 手工静态配置Linux与Windows操作静态配置的第一原则是子网必须一致。假设发起端设备A是192.168.10.1设备B就配192.168.10.2两台设备都带/24掩码不需要写网关地址二层通了三层就能通。# 设备A发起端 sudo ip addr add 192.168.10.1/24 dev wlan0 sudo ip link set wlan0 up # 设备B加入端 sudo ip addr add 192.168.10.2/24 dev wlan0 sudo ip link set wlan0 up参数说明/24表示子网掩码255.255.255.0两台设备的掩码必须一致故意不配默认网关因为Ad-hoc里没有也不应该有默认网关。如果通信双方不在同一子网ping会直接返回Network is unreachable这个报错本身就是排错线索。Windows设备如果驱动支持Ad-hoc操作路径是控制面板 → 网络和共享中心 → 更改适配器设置 → 右键无线网卡 → 属性 → Internet协议版本4TCP/IPv4把IP改成192.168.10.2子网掩码255.255.255.0。注意Windows加入Ad-hoc后不会像连AP那样主动触发DHCP重试多等几秒再ping 192.168.10.1确认连通。3.3 用dnsmasq在头节点起轻量DHCP服务超过四台设备或者不想每台都手工敲命令的时候我一般会在头节点上跑dnsmasq。选dnsmasq而不是完整DHCP服务器的理由是它足够轻一条命令就能起服务不会抢占本来就稀缺的资源。下面是在IP为192.168.10.1的设备上启动DHCP的最小命令sudo dnsmasq --interfacewlan0 \ --bind-interfaces \ --port0 \ --dhcp-range192.168.10.2,192.168.10.100,255.255.255.0,12h参数说明--interfacewlan0限定dnsmasq只监听wlan0避免它把DHCP服务带到其他网卡上--bind-interfaces强制它只绑定这个接口避免机器上有多块网卡时出现「能ping通却分配不到IP」的玄学问题--port0的意思是关闭dnsmasq自带的DNS功能因为我们只需要DHCP这一个能力--dhcp-range的三个逗号段分别是地址池起始、结束和掩码最后的12h是租约时长。跑起来之后其他设备保持DHCP自动获取即可。第一次连接时如果启动顺序颠倒——DHCP客户端先于服务端——客户端可能一直在请求但服务端还没起来。这种情况下先把服务端设备开机、确认dnsmasq进程活着再让其他设备重连一次无线或者干脆重启一次网卡就能拿到地址。3.4 DHCP模式下要注意的租约与启动顺序头节点必须是整个Ad-hoc网络里最先启动的设备这是我在实际组网里踩过最多次的坑。野外调设备时经常先把下位机开了再开笔记本下位机在DHCP请求阶段拿不到地址之后也不一定主动重试结果就是设备显示Wi-Fi连着但IP是169.254.x.x。解决方式有两种一是调整开机顺序二是在下位机上配一个同网段的备用静态地址同时保留DHCP拿到DHCP分配再覆盖静态配置。另外不要把两个DHCP服务放在同一个Ad-hoc网络里。IBSS是一个广播域两个dnsmasq同时响应请求会互相打架轻则地址反复冲突重则整个三层的连接链路变得时通时断。一个网络只需要一个地址管理员头节点关机时其他设备维持静态地址也能临时通信。4. 加密、信道与速率Ad-hoc必调的三个参数顺带验证无线网络断流4.1 加密WEP不靠谱WPA2要赌驱动敏感数据走上层加密Ad-hoc对加密的支持一直很拧巴这是802.11标准演进留下的历史包袱。早期标准里Ad-hoc只支持WEP而WEP在今天几乎等于明文后来WPA2-PSK虽然理论上覆盖IBSS但很多无线驱动只在managed模式下实现了WPA2逻辑切到IBSS之后就出现「加密开启、连接失败」或「反复重连」的问题。iw命令本身可以通过key参数给IBSS网络加WEP密钥# 用WEP 40位密钥加入FieldNet sudo iw dev wlan0 ibss join FieldNet 2412 fixed-freq key 0:12345参数说明key 0:12345中的0表示密钥索引12345是WEP密钥所有设备必须用同一个索引和同一个密钥。这段命令我几乎只在兼容性测试时用真正干活不建议WEP因为抓包工具几秒就能把密钥还原出来。想试WPA2-PSK的话更常见的路径是用wpa_supplicant切到IBSS模式。配置文件如下network{ ssidFieldNet mode1 key_mgmtWPA-PSK psk至少十六位的现场密码 frequency2412 }运行前先停掉iw的join操作再启动wpa_supplicantsudo wpa_supplicant -D nl80211 -i wlan0 -c /etc/wpa_supplicant-adhoc.conf -B这里mode1就是IBSS模式frequency必须和另一端完全一致。实际执行时你会发现这种配置在部分Atheros网卡上能跑在部分MTK网卡上就频繁掉线完全看驱动心情。我的工程习惯是Ad-hoc网络里不赌wpa_supplicant的IBSS实现数据敏感性靠上层协议解决比如双方都跑SSH加密会话或者业务协议自带加密密码学不依赖802.11这一层。还要说明Ad-hoc场景里没有portal、没有集中认证这本来就是一个信任边界靠无线密钥、身份边界靠应用层控制的临时网络。4.2 信道固定比自动切换可靠用iw事件观察漂移Ad-hoc网络的频点管理是个老大难。路由器里的AP通常被固定在某一个信道上不会自己乱跳IBSS里每台设备地位平等没有信道主人驱动可以自行决定要不要迁移频率。当一个站点认为当前信道干扰过大它可能自己跳到相邻信道其他站点如果不跟着走两次通信就断了。表现就是「SSID还在但互相ping不通」或者数据掉包率突然升高这种断流用普通ping还不容易抓到现场多半要靠UDP灌流才能复现。所以组Ad-hoc的第一原则是所有设备在join命令里都带fixed-freq明确固定到同一信道谁也别让驱动自动选。2.4GHz频段我一般只在1、6、11三个信道里选一个这三个信道互不重叠干扰最小。在选信道之前先扫描一下周边环境sudo iw dev wlan0 scan | grep -E freq:|SSID: | paste - - | sort这段命令把附近所有AP广播的SSID和频率列出来。paste - -把两行合并成一行方便阅读sort让相同频率聚在一起。你根据扫描结果避开最拥挤的频率段选一个相对空的信道做固定频点。5GHz频段的Ad-hoc支持要看驱动很多网卡的IBSS只做了2.4GHz真需要5GHz就先拿同样型号的网卡在几台设备上验证过再批量用。4.3 无线网络断流的验证方法ping、丢包和iperf3抖动验证Ad-hoc链路质量不能只看能不能ping通因为断流往往是间歇性的连续ping 200个包可能只有两三个丢包表面看还行但传文件到一半就超时重传。我的标准流程分三层先ping测基本连通再用iperf3的UDP模式测抖动最后做一次带业务流的长时间验证。先把两端基本连通性跑稳# 在接收端启动iperf3服务端 iperf3 -s # 在发送端先测TCP吞吐 iperf3 -c 192.168.10.2 -t 30 # 再测UDP吞吐重点看Jitter和Lost列 iperf3 -c 192.168.10.2 -t 30 -u -b 20MTCP测的是能跑多快UDP测的才是链路稳不稳。为什么用固定速率去灌因为TCP遇到丢包会自动退避它不会把链路的抖动暴露给你UDP用20Mbps这个固定速率灌30秒收到的包如果出现0.3ms以上的jitter或者0.5%以上的丢包就能确定射频链路存在间歇中断这时候再去看信道占用和省电配置方向才对。ping测试也有个实用技巧# 连续泛洪式ping 200次统计丢包率不要在业务链路上乱跑 ping -f -c 200 192.168.10.2-f参数会把发送频率打到上限能让间歇性断流在几十秒内现形。注意这一步流量会很大只在专门的Ad-hoc验证场景使用。如果泛洪ping丢包率超过1%这条Ad-hoc链路就不适合承载实时业务回到4.2节检查信道。4.4 值得提前挂上的驱动参数无线网卡默认是为「跟随AP漫游」设计的这在Ad-hoc里反而是负担。两个驱动参数会直接影响断流表现第一是省电模式。网卡为了省电会定期进入睡眠在AP模式下这一套配合得好但在IBSS模式下站点间没有协调机制睡眠站点往往错过数据帧表现就是距离一远掉包率飞升。关掉它sudo iw dev wlan0 set power_save off第二是速率回退。IBSS模式下驱动检测到丢包时会把传输速率一路回退到1Mbps回退本身不可怕可怕的是它会伴随频繁的重传计时器超时让延迟从几毫秒飙到几百毫秒。你要是对距离要求高可以固定一个基础速率# 把2.4GHz的legacy速率固定在11Mbps sudo iw dev wlan0 set bitrates legacy-2.4 11参数说明11这个数字在iw里对应11Mbps固定低速率是用吞吐换距离的典型取舍空旷环境下11Mbps的有效通信距离通常比54Mbps远不少。缺点也很明显速率被压死在11Mbps传大文件会明显变慢。我的做法是近距离用默认自动速率远距离固定11Mbps按现场距离做一次取舍。5. Ad-hoc网络遇坑排查连不上、能连没数据、掉包和重启翻车5.1 搜不到SSID信道不匹配、区域码限制和驱动私有NID现象设备A能看到FieldNet设备B扫描列表里根本没有这个SSID或者偶尔出现很快又消失。原因最常见的是两端无线频段不一致。双频网卡如果一台驱动把IBSS广播发在2.4GHz另一台扫描的是5GHz两边永远不会相遇。其次是固定信道没写全一台用fixed-freq固定到2412另一台没固定驱动自己选到2437。还有少数情况是区域码限制某些信道在当地的射频配置里被禁用网卡直接把beacon吞掉了。某些老驱动的私有NID机制也会导致SSID在beacon里不完整显示扫描工具看不到但抓包能看到IBSS报文。解决第一所有设备统一使用fixed-freq并把频率写死例如2412第二用iw dev wlan0 info确认每台设备的频率字段一致第三如果两台设备都是双频卡先强制网卡只工作在2.4GHz频段做验证别让它俩同时处理两个频段。搜不到SSID的坑里八成是信道没固定剩下两成是网卡私有机制换一块同型号网卡对比测试能快速定位。5.2 能加入但ping不通BSSID漂移和IP不互通现象两台设备都能看到FieldNet并显示已连接但互相ping超时图形界面提示无线网络连不上连IP地址都拿不到。原因IBSS网络的BSSID不是AP的MAC地址而是驱动随机生成的产物。两台设备虽然SSID相同但它们可能各生成了一个BSSID处在两个互相看不见的独立IBSS域里这就是「能连没数据」的根本原因。另一个常见原因是两边IP不在同一子网导致路由不可达。解决让所有设备在join命令里显式使用同一个固定BSSIDsudo iw dev wlan0 ibss join FieldNet 2412 fixed-freq 02:11:22:33:44:55这段命令里02:11:22:33:44:55是手工指定的BSSID。为什么用02开头02是本地管理地址的标记位这种地址不会和任何网卡的真实MAC冲突所有设备只要填同一个值就行。填完之后用iw dev wlan0 info核对BSSID字段两台设备的BSSID一致三层再配同网段IP基本一分钟解决问题。注意部分老驱动会忽略手填的BSSID遇到这种情况只能换驱动版本或换网卡。5.3 连接没问题但掉包率升高省电模式与速率回退现象近距离通信一切正常把设备拉开到十几米ping开始出现超过5%的丢包传文件断断续续像是无线网络断流。原因省电模式是第一个怀疑对象。IBSS模式下没有AP统一管理休眠调度站点各睡各的醒来发现对端已经重传多次重传队列一满就开始丢包。第二个原因是速率回退算法链路稍微变差驱动就会从54Mbps一路回退到1Mbps回退过程中产生的延迟和重传让人感觉链路卡死。解决sudo iw dev wlan0 set power_save off把省电关掉再用4.3节的iperf3 UDP方式复测如果仍然掉包就固定基础速率到11Mbpssudo iw dev wlan0 set bitrates legacy-2.4 11这两条命令都能在当前会话立即生效不用重启网卡。把它们写进自启脚本后距离拉远时的掉包率会明显改善。要注意的是固定速率影响的是数据帧速率beacon和控制帧仍然会用最低速率发送所以不会出现「速率固定了反而搜不到」的问题。如果上述操作做完掉包依旧再看天线方向临时组网场景下天线极化方向不一致导致的衰减最容易被忽略。5.4 重启后回到管理模式NetworkManager接管现象配置好的Ad-hoc网络在重启后消失图形界面提示无线网络连不上普通Wi-Fi反而一切正常。原因iw命令设置的ibss模式、IP地址都是「本次会话生效」重启后网卡驱动回到默认的managed模式NetworkManager再把接口接管回基础设施状态。而在统信UOS这类基于NetworkManager的桌面Linux上图形网络开关每次点击都会让NM重新夺回设备控制权哪怕你之前已经执行过nmcli device set wlan0 managed no。解决把整个组网动作固化成开机自动执行的服务并且让NM的托管设置也一起固化# 先设置NM不再托管虽然重启后失效但自启脚本会重新执行它 sudo nmcli device set wlan0 managed no这条命令本身不持久化所以第6章会提供一个systemd unit每次开机自动重放三步关闭托管、切换模式、分配IP。手工命令永远可以干活但只有把它做成服务现场设备重启后才会自己回到组网里。6. 让Ad-hoc组网能交付systemd自启、信道脚本和一次长时验证6.1 用systemd service把组网动作固定下来把组网命令落成服务才能避免重启后反复手工重建。做法是写一个脚本再写一个oneshot服务让它在每次开机后把wlan0拉进IBSS网络#!/bin/bash # /usr/local/bin/ad-hoc-up.sh # 等待wlan0出现防止开机时序问题 for i in $(seq 1 30); do ip link show wlan0 /dev/null 21 break sleep 1 done # 让NetworkManager放手失败不影响后续 nmcli device set wlan0 managed no 2/dev/null || true # 切到ibss模式并加入固定网络 ip link set wlan0 down iw dev wlan0 set type ibss ip link set wlan0 up iw dev wlan0 ibss join FieldNet 2412 fixed-freq 02:11:22:33:44:55 # 分配静态地址 ip addr flush dev wlan0 ip addr add 192.168.10.1/24 dev wlan0对应systemd unit[Unit] DescriptionAd-hoc wireless network boot service Afternetwork-pre.target Wantsnetwork-pre.target [Service] Typeoneshot ExecStart/usr/local/bin/ad-hoc-up.sh RemainAfterExityes [Install] WantedBymulti-user.targetTypeoneshot表示这个服务执行一条命令就结束RemainAfterExityes让systemd认为服务仍然活跃避免依赖它的后续服务误判失败。脚本里等待网卡出现的那段循环很重要我在多台设备上遇到过开机时wlan0还没注册、iw直接报错的情况。启用方式sudo systemctl enable ad-hoc-up.service sudo systemctl start ad-hoc-up.service6.2 写一个信道扫描脚本判断要不要换信道Ad-hoc没有中心节点帮你规划信道现场维护要自己判断频率是否被污染。下面这个脚本按三个固定候选信道轮流扫描把信道上探测到的AP数量写进日志#!/bin/bash # /usr/local/bin/ad-hoc-channel-check.sh for freq in 2412 2437 2462; do echo $freq MHz iw dev wlan0 scan 2/dev/null | grep -E freq: $freq -A 3 | \ grep -E SSID|signal || echo (no nearby AP on this freq) done2412/2437/2462分别对应2.4GHz的1、6、11信道。扫描需要网卡短暂离开网络所以这个脚本要放在闲时跑不要边传数据边扫。把它加进crontab每小时跑一次连续几次日志都显示某个信道AP密度高就该改所有设备上的freq参数换到相对干净的信道。注意修改频率必须所有设备同时改不能只改一半。6.3 交付前建议做一次带业务的长时验证脚本和服务都就位之后我还会做一轮至少两小时的带业务验证两端持续传一个真实文件同时记录每分钟的ping延迟然后分别重启两台设备重启后不碰键盘等一分钟看服务网络是否自己回来。这一步能暴露大多数自启脚本的时序问题比如某块网卡在重启后注册慢了服务却已经在等待超时后以失败退出这时候要把脚本里的等待循环从30秒放宽到60秒。我现在交这套方案一定会问用户一句现场设备会不会经常断电重启。如果会systemd服务的优先级和等待时长就要调得宽容一些如果不会也要把「头节点先开机」的启动顺序写进交付说明。Ad-hoc这种临时网络从来不是搭完就结束它是靠「重启之后能自己回来」才敢交给别人用的。希望帮到你。本文还有配套的精品资源点击获取
返回列表