网站访问量很大怎么办,安徽网络推广,大连58同城招聘网最新招聘,邢台宇鹏网站建设目录 背景目标为什么需要做自动网络切换网络切换手段 网络环境实现思路和代码部署脚本开机自动执行附录连接两个网络时的路由问题 背景
目标
学校实验室有两个网络环境#xff0c;我电脑使用网线连接稳定但低速的网络A#xff0c;使用WiFi连接高速但不稳定的网络B。因此我电脑使用网线连接稳定但低速的网络A使用WiFi连接高速但不稳定的网络B。因此我希望平时使用网络B当网络B不稳定时自动切换到网络A。
为什么需要做自动网络切换
由于网络B需要使用帐号登录其不稳定主要是由于间歇性登录过期导致的。被退出登录时虽然网络有连接但无互联网访问这导致Windows不会自动切换到另一个网络中。
而且由于我经常需要远程连接到该电脑因此必须寻找一种自动的方法解决该问题。
我也考虑过使用自动登录脚本但问题有概率是网络B本身的故障这时候自动登录就也会失效因此切换到网络A是更加稳妥的方案。
网络切换手段
可选的手段很多例如关闭WiFi适配器、断开当前WiFi、路由表删掉到WiFi接口的路由、控制路由跃点等我选择使用控制路由跃点的方式。
选择该方式主要是为了远程连接时能够更方便地重新登录和使用网络B。
网络环境
连上有线网络A和无线网络B并登录后通过ipconfig指令看到网络配置情况如下
以太网适配器 Ethernet:连接特定的 DNS 后缀 . . . . . . . :本地链接 IPv6 地址. . . . . . . . : IPv4 地址 . . . . . . . . . . . . : 192.168.183.62子网掩码 . . . . . . . . . . . . : 255.255.255.0默认网关. . . . . . . . . . . . . : 192.168.183.254无线局域网适配器 WiFi6:连接特定的 DNS 后缀 . . . . . . . :本地链接 IPv6 地址. . . . . . . . : IPv4 地址 . . . . . . . . . . . . : 172.27.60.26子网掩码 . . . . . . . . . . . . : 255.255.0.0默认网关. . . . . . . . . . . . . : 172.27.255.254route print指令查看路由表呈现如下关键信息
IPv4 路由表活动路由:
网络目标 网络掩码 网关 接口 跃点数
0.0.0.0 0.0.0.0 192.168.183.254 192.168.183.62 25
0.0.0.0 0.0.0.0 172.27.255.254 172.27.60.26 50默认情况下有线网络A192.168的跃点数相较于无线网络B172.27更低因此Windows会优先使用有线网络A。
要优先使用无线网络B但保持有线网络A的连接最方便的方法是减少无线网络B的跃点数。 我们将无线网络B的跃点数设置为小于25即可优先使用无线网络B
# 需要管理员权限
Get-NetIPInterface -InterfaceAlias WiFi6 | Set-NetIPInterface 21或者在控制面板中修改
实现思路和代码
通过跃点数可以轻松控制多个网络的优先级因此当无线网络B连接异常时我们通过调整跃点数使得优先使用网络A。
以下为通过Powershell脚本的实现
# auto_swich.ps1
# 定义WiFi和以太网的接口名称
$wifiInterface WiFi6
$ethernetInterface Ethernet# 定义网络异常时WiFi的跃点值Metric
$wifiMetricHigh 10000# 定义检查的目标地址 (阿里云DNS)
$testAddress 223.6.6.6# 定义检查间隔秒
$checkInterval 60 * 3# 循环检查
while ($true) {Write-Host 正在检查网络连接状态... -ForegroundColor Cyan$wifiConnected Test-Connection -ComputerName $testAddress -Count 1 -Quiet -ErrorAction Stopif (!$wifiConnected) {Write-Host 无网络访问设置WiFi高跃点... -ForegroundColor YellowGet-NetIPInterface -InterfaceAlias $wifiInterface | Set-NetIPInterface -InterfaceMetric $wifiMetricHigh}Write-Host 等待 $checkInterval 秒后重新检查... -ForegroundColor CyanStart-Sleep -Seconds $checkInterval
}
部署脚本开机自动执行
由于脚本需要使用管理员权限因此使用任务计划程序部署。 按WinR打开运行输入taskschd.msc确定打开任务计划程序窗口按照下图将该脚本添加为开机启动的计划任务。
附录
连接两个网络时的路由问题
连接两个网络时通过设置路由控制访问网络资源时使用的网络出口例如
# 需要管理员权限
route add 192.168.0.0 mask 255.255.0.0 192.168.183.254 -p # 访问内网设备走192.168.*
route add 192.168.167.115 mask 255.255.255.255 172.27.255.254 -p # 172.27校园网登录页面
route add 18.0.0.0 mask 255.0.0.0 192.168.183.254 -p # 访问ieeexplore.ieee.org走192.168教育网认证