首页 > 代码库 > 通过服务器系统的软ROUTE服务+NAT提供拨号共享上网(校园版)

通过服务器系统的软ROUTE服务+NAT提供拨号共享上网(校园版)

      这是以前在学校时破解共享上网所写的批处理代码,这个可能是我找的旧版本的了,当时是保密配方,刚找到EXE版本反编译出代码来,没时间检查它了,我记得我改过,新版的找不到了,毕业后根本没弄过了,代码更不熟悉了,但是这个比共享卫士好用。而且现在那个无线WIFI的发射器这么流行,还有金山那些软件商都纷纷提供软件版的共享上网的了,用不着这个老方法了吧。不过这个方法还是有不可比拟的地方,就是比WIFI的距离远,内网透传,这就是技术达到落地的效果,哈哈~~


@echo off

mode con cols=84 lines=22

title ---简易强大的共享上网设置程序---  QQ:938009139

color 79


:menu

cls

echo.

echo     建立配置共享上网   --由OPQ基于Win2003制作

echo        ------------------------------------------------------------


echo          [1] 按 1 键 开始建立本机共享上网服务

echo          [2] 按 2 键     查看当前配置信息

echo          [3] 按 3 键     添加共享接入用户

echo          [4] 按 4 键     删除共享接入用户

echo          [5] 按 5 键     停用共享上网服务

echo          [6] 按 6 键 启用对32位Win7 系统支持

echo          [7] 按 7 键 启用对32位Vista系统支持

echo          [m] 按 m 键 --------返回菜单--------

echo.

SET Choice=

SET /P Choice=        请选择要进行的操作:

IF /I ‘%Choice:~0,1%‘==‘1‘ GOTO cmdvpn

IF /I ‘%Choice:~0,1%‘==‘2‘ GOTO showset

IF /I ‘%Choice:~0,1%‘==‘3‘ GOTO adduser

IF /I ‘%Choice:~0,1%‘==‘4‘ GOTO deluser

IF /I ‘%Choice:~0,1%‘==‘5‘ GOTO stopvpn

IF /I ‘%Choice:~0,1%‘==‘6‘ GOTO win7_32

IF /I ‘%Choice:~0,1%‘==‘7‘ GOTO vista

IF /I "%Choice%"=="m" GOTO menu

exit



:cmdvpn

@echo off

cls

echo.

echo   ---------确保是管理员用户权限运行本程序,下面仔细阅读内容,按提示操作.---------

echo.

set Nic=本地连接

set Mask=255.255.255.0

echo 1.如果你可连网的网卡名字不叫[本地连接]而是[本地连接2]或[无线网络连接]之类的,

echo   请在下面光标处输入其名称,如:本地连接3,否则按回车键直接跳过!

set /p Nic=

echo -----------------------------------------------------------------------------------

echo 当前共享设置将选用名称为:%Nic% 的网卡! [此处如弄错误,请关闭本程序,重新打开]

echo -----------------------------------------------------------------------------------

echo.

echo 2.现在请停用(禁用)你的"%Nic%",停用(禁用)后返回本程序,按任意键将继续,按要求填好!

pause>nul

echo.

set /p localip=请输入当前分配你上网的IP地址:

set /p Mask=请输入你分配的IP地址的子网掩码: 255.255.255.0 (默认,即回车;如不是,请输入:

set /p Gway=请输入你分配IP地址的网关所在:

set /p Dns1=请输入适你当地的首选DNS地址:

set /p Dns2=请输入适你当地的次选DNS地址:


echo ------------------------------------------------------

echo 正在进行 %Nic% 的IP设置,请稍等...


echo. IP地址 = %localip%

echo. 子网掩码 = %Mask%

netsh interface ip set address name=%Nic% source=static addr=%localip% mask=%Mask% >nul


echo. 网关 = %Gway%

netsh interface ip set address name=%Nic% gateway=%Gway% gwmetric=1 >nul


echo. 首选DNS = %Dns1%

netsh interface ip set dns name=%Nic% source=static addr=%Dns1% register=PRIMARY >nul


echo. 备用DNS = %Dns2%

netsh interface ip add dns name=%Nic% addr=%Dns2% index=2 >nul


set Addr2=192.168.66.5

set Mask2=255.255.255.0

netsh interface ip add address %Nic% %Addr2% %Mask2%

cls

echo 现在请重新启用名为"%Nic%"的网卡,启后返回本程序,按任意键将会继续!


echo 启动或关闭配置时的影响服务...

sc config sharedaccess start= disabled

net stop "Windows Firewall/Internet Connection Sharing (ICS)"

net stop SharedAccess

sc config "Remote Procedure Call (RPC)" start= auto

net start "Remote Procedure Call (RPC)"

sc config RemoteRegistry start= auto

net start "RemoteRegistry"

sc config "RemoteAccess" start= auto

net start "RemoteAccess"

sc config "Workstation" start= auto

net start "Workstation"

net start "Computer Browser"


@set errorlevel=>nul

@cls

@echo --------请输入用户名回车:即创建拨号连接用户--------:

@set/p "vpnusername="

@echo --------请输入密码回车:即拨号连接用户的密码--------:

@set/p "vpnuserpass="

net user %vpnusername% %vpnuserpass% /add

if errorlevel=1 cls &&cls &&echo "用户可能已存在,创建不成功!" &&pause>nul


echo 为了安全该用户不能为tsinternetuser support_388945a0等

net localgroup users %vpnusername% /del

echo 因此为用户名添加授权拨入策略,以保系统权限安全。

netsh ras set user %vpnusername% permit


echo 设置静态地址池模式

netsh ras ip set addrassign pool


echo 设置静态池范围 ,要用标准的局域网地址,避免将来在访问internet时候地址转发错误。

netsh ras ip add range 192.168.66.6 192.168.66.88


echo 使用地址池的方式分配

netsh ras ip set addrassign method = pool


echo 开启TCP/IP转发,必须首先安装NAT

FOR /F "skip=3 tokens=3" %%i IN (‘@reg query "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v IPEnableRouter‘) do @if %%i NEQ 0x1 (@reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v IPEnableRouter /t REG_DWORD /d 1 /f)


echo 添加NAT协议支持

netsh routing ip nat install


echo 添加nat借口内部私有模式 [win2000中内部不容许在图形界面下添加]

netsh routing ip nat add interface name="内部" mode=private


echo 添加nat接口本地连接全转发

netsh routing ip nat add interface name="%Nic%" full


netsh routing ip igmp delete interface 内部


netsh routing ip igmp install

netsh routing ip igmp add interface 内部 igmpprototype=IGMPRTRV2 ifenabled=enable robustvar=2 startupquerycount=2 startupqueryinterval=31 genqueryinterval=125 genqueryresptime=10 lastmemquerycount=2 lastmemqueryinterval=1000 accnonrtralertpkts=YES


netsh routing ip igmp add interface name="%Nic%" igmpprototype=IGMPPROXY ifenabled=enable


echo 设置删除除了登陆信息记录外的ipsec、remoteaccess记录或警告日志..

@reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\Parameters /v ProhibitIPsec /t REG_DWORD /d 00000000 /f

@reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RemoteAccess\Parameters /v LoggingFlags /t REG_DWORD /d 00000000 /f


echo %Nic%的IP地址为   %localip%

echo 添加默认网关地址为 %Gway%的默认路由支持

route add 0.0.0.0 mask 0.0.0.0 %Gway%


echo 添加一个永久的路由表

route -p add 192.168.66.0 mask 255.255.255.0 %localip%


echo 关闭一些服务以保证网络安全

net stop Schedule

net stop CLIPBOOK

rem net stop Server

cls

echo 已经建立好共享上网接入:

echo ----------------------------------------------------------------------------------

echo 本机开设默认网关地址:192.168.66.5 分机接入可用的IP地址范围:192.168.66.6~88

echo  1.打开网络连接,右键“传入的连接”属性,

echo  2.在"虚拟专用网络"下"允许他人通过Internet或其他网络以"隧道操作"..."前打上勾,确定!

echo 分机设定好IP地址后用拨号连接:用户名%vpnusername%密码为 %vpnuserpass% 入虚拟专用网

echo ----------------------------------------------------------------------------------


pause>nul

goto menu


:showset

cls

@netsh interface show interface

@netsh ras ip show config

@netsh ras show use

@route print

pause >nul

goto menu


:adduser

@set errorlevel=>nul

@echo 请输入要创建的用户名:

@set/p "vpnusername="

@echo 请为用户设置一个密码:

@set/p "vpnuserpass="

net user %vpnusername% %vpnuserpass% /add

if errorlevel=1 cls &&echo MSGBox("用户可能已存在,创建不成功!")

netsh ras set user %vpnusername% permit

net user %vpnusername% %vpnuserpass%

pause >nul

goto menu


:deluser

@set errorlevel=>nul

@echo 请输入要删除的用户名:

@set/p "vpnusername="

net user %vpnusername% /del

if errorlevel=1 cls &&echo"用户可能已删除或权限不足,删除不成功!" && pause>nul

pause >nul

goto menu


:stopvpn

route -f

route delelte 0.0.0.0

net stop "RemoteAccess"

arp -d

echo 刷新本地缓冲区域名解释记录!

ipconfig /flushdns

echo 共享上网服务已停止!

pause >nul

goto menu


:win7_32

copy Win7_x64\ipmontr.dll %systemroot%\system32

copy Win7_x64\ippromon.dll %systemroot%\system32

netsh add helper ipmontr.dll || netsh delete helper ipmontr.dll && netsh add helper ipmontr.dll

netsh add helper ippromon.dll || netsh delete helper ippromon.dll && netsh add helper ippromon.dll

netsh routing ip nat install add interface name="%Nic%" mode=full

netsh routing ip nat install add interface name="内部" mode=private

echo.

echo 已使32位Win7系统支持共享上网!请再在菜单中选择"1"进行开启。

echo 64位Win7系统可能也已获得支持!(待测试)也可做为对Win2008R2的修复!

pause >nul

goto menu



:vista

copy Vista_x86\ipmontr.dll %systemroot%\system32

copy Vista_x86\ippromon.dll %systemroot%\system32

netsh add helper ipmontr.dll || netsh delete helper ipmontr.dll && netsh add helper ipmontr.dll

netsh add helper ippromon.dll || netsh delete helper ippromon.dll && netsh add helper ippromon.dll

echo.

echo 已使32位Vista系统支持共享上网!请再在菜单中选择"1"进行开启。

echo 64位Vista系统可能也已获得支持!(待测试) 也可做为对Win2003的修复!

pause >nul

goto menu


记得还有小一部分内容是要在服务器上设置的。

通过服务器系统的软ROUTE服务+NAT提供拨号共享上网(校园版)