因实验室路由器接入校园网拨号充当路由器作用的同时,我又通过迷你PC走VPN共享给路由器,让其同时又作为另一个网段无线有线交换机使用,只需要通过修改ip即可在不同网段切换,达到内网和外网快速更换的目的。
有两个网段192.168.1.x(校园网)与192.168.137.x(VPN共享)
@echo 获取管理员权限运行
@echo off
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
@echo 如果修改失败,右键编辑本bat
@echo 修改有线连接名称(第20行)net_lan为本机网络和共享中心的值,常见的有“本地连接”,“以太网” 等
@echo 修改无线连接名称(第21行)net_wlan为本机网络和共享中心的值,常见的有“WLAN”,“无线网络连接”,“无线网络连接 3” 等
set net_lan="本地连接"
set net_wlan="WLAN"
@color 7
@echo.
@echo 选择上网方式:
@echo 【1】有线外网上网
@echo 【2】有线实验室上网
@echo 【3】无线外网上网
@echo 【4】无线实验室上网
@echo 【5】退出
@echo.
@set /p choice= 您的选择:
@echo.
@if "%choice%"=="1" goto ip1_lan
@if "%choice%"=="2" goto ip2_lan
@if "%choice%"=="3" goto ip1_wlan
@if "%choice%"=="4" goto ip2_wlan
@if "%choice%"=="5" goto exit_bat
goto main
:ip1_lan
@echo 有线IP自动设置开始....
@echo.
@echo 正在设置IP及子网掩码
@echo 正在生成随机ip地址
@set /a i=%random%%%252+2
@echo 随机ip地址为:192.168.137.%i%
@cmd /c netsh interface ip set address name="%net_lan%" source=static addr=192.168.137.%i% mask=255.255.255.0 gateway=192.168.137.1 gwmetric=1
@echo 正在设置DNS服务器
@cmd /c netsh interface ip set dns name="%net_lan%" source=static addr=114.114.114.114 register=PRIMARY
@echo 正在设置DNS服务器
@cmd /c netsh interface ip add dns name="%net_lan%" addr=202.113.5.6
@echo 设置完成
pause
exit
if errorlevel 2 goto main
if errorlevel 1 goto end
:ip2_lan
@echo 有线IP自动设置开始....
@echo.
@echo 自动获取IP地址....
@netsh interface ip set address name = "%net_lan%" source = dhcp
@echo 自动获取DNS服务器....
@netsh interface ip set dns name = "%net_lan%" source = dhcp
@rem 设置自动获取IP
@echo 设置完成
pause
exit
if errorlevel 2 goto main
if errorlevel 1 goto end
:ip1_wlan
@echo 无线IP自动设置开始....
@echo.
@echo 正在设置IP及子网掩码
@echo 正在生成随机ip地址
@set /a i=%random%%%252+2
@echo 随机ip地址为:192.168.137.%i%
@cmd /c netsh interface ip set address name="%net_wlan%" source=static addr=192.168.137.%i% mask=255.255.255.0 gateway=192.168.137.1 gwmetric=1
@echo 正在设置DNS服务器
@cmd /c netsh interface ip set dns name="%net_wlan%" source=static addr=114.114.114.114 register=PRIMARY
@echo 正在设置DNS服务器
@cmd /c netsh interface ip add dns name="%net_wlan%" addr=202.113.5.6
@echo 设置完成
pause
exit
if errorlevel 2 goto main
if errorlevel 1 goto end
:ip2_wlan
@echo 无线IP自动设置开始....
@echo.
@echo 自动获取IP地址....
@netsh interface ip set address name = "%net_wlan%" source = dhcp
@echo 自动获取DNS服务器....
@netsh interface ip set dns name = "%net_wlan%" source = dhcp
@rem 设置自动获取IP
@echo 设置完成
pause
exit
if errorlevel 2 goto main
if errorlevel 1 goto end
:exit_bat
if errorlevel 2 goto main
if errorlevel 1 goto end
:end