我正在寻找一种在 VPN 断开后正确恢复互联网连接的方法。
因此我创建了这个批处理文件来检查我的互联网连接并尝试用以下命令修复和恢复它:
CMD /C %SystemRoot%\system32\msdt.exe Skip TRUE -path %Windir%\diagnostics\system\networking -ep NetworkDiagnosticsPNI
问题似乎无法解决断开 VPN 连接后互联网连接问题???
所以我的问题是是否有任何命令甚至 powershell 命令可以恢复我的互联网连接?
完整批次代码:检查Internet连接.bat
@echo off
Title Checking Internet Connection & Mode 70,4 & color 0B
::-------------------------------------------------------------------------------------
REM First We Check The Status Of The Internet Connection
Call :Check_Connection
::-------------------------------------------------------------------------------------
:Main
Title Your Extrenal IP Address
Mode 50,4 & Color 0A
for /f "tokens=2 delims=: " %%A in (
'nslookup myip.opendns.com. resolver1.opendns.com 2^>NUL^|find "Address:" ^| findstr /v "208.67.222.222" '
) Do (
If "%%A" NEQ "127.0.0.1" (
set "ExtIP=%%A"
) else (
Color 0C & echo(
echo No internet connection !
)
)
echo(
If defined ExtIP (
echo You are connected to the internet !
echo Your External IP is : %ExtIP%
)
Pause>nul & Exit
::-------------------------------------------------------------------------------------
:Check_Connection
Title Checking Internet Connection ...
SetLocal EnableDelayedExpansion
Mode 50,3 & Color 0B
echo(
echo( Please Wait... Checking Internet Connection ...
Timeout /T 1 /NoBreak>nul
Ping www.google.nl -n 1 -w 1000>nul
cls
echo(
if [!errorlevel!] EQU [1] (
Color 0C & set "internet=Not Connected To Internet"
echo( Connection Status : !Internet!
CMD /C %SystemRoot%\system32\msdt.exe ^
Skip TRUE -path %Windir%\diagnostics\system\networking -ep NetworkDiagnosticsPNI
Timeout /T 1 /NoBreak>nul & Goto Check_Connection
) else (
Color 0A & set "internet=Connected To Internet"
echo( Connection Status : !Internet!
Timeout /T 1 /NoBreak>nul & Goto Main
)
EndLocal
::-------------------------------------------------------------------------------------
答案1
看看为什么你的 VPN 无法恢复你的网络设置。这种情况通常不会发生在我或我打交道的客户身上。
尝试运行 TCP/IP 和 DNS 重置:
以管理员身份运行打开 cmd.exe
(1)netsh int ip reset c:\resetlog.txt
(2)ipconfig /flushdns
(3)重启计算机并测试。
答案2
网络接口(无论是 Wi-Fi 还是有线)有两层:物理层和逻辑层。物理层是您可以触摸到的所有内容,其他所有内容都是逻辑层。
为 NIC 配置的 IP 寻址会创建一个逻辑接口,允许系统与外部世界通信。添加 VPN 会创建一个单独的逻辑接口,即系统与 VPN 提供商之间的隧道。当 VPN 断开连接时,操作系统必须从一个逻辑接口切换到另一个逻辑接口,而 Windows(或驱动程序)并不总是能很好地处理这种突然的变化。
当它处于故障状态时,你可以测试两件事:
- 发出命令
ipconfig /release
并ipconfig /renew
强制执行新设置 - 给出命令
netsh interface ip set address "Wi-Fi" dhcp
。您可以使用命令找到正确的接口名称netsh interface ip show config
。
如果其中一个选项有效,您可以将其添加到您的脚本中。
为了简化故障排除,我会改为 ping 一个 IP 地址,例如 Google 的 DNS 8.8.8.8
。如果您运行脚本并且 ping 成功但浏览失败,则您已经知道您有一个 IP 并且网关正常工作,因此 DNS 中存在某些故障。如果 ping DNS 名称失败,则可能有多个故障点。