解决win7、win8不能通过设置网关上网的问题

  实验室没有硬件路由器,而是直接连网络中心,实验室一台电脑作为主机,Dr客户端拨号上网,利用anyrouter软路由使得实验室都能上网。XP,Ubuntu系统下通过设置本机IP、掩码、网关以及DNS服务器都能顺利地上网,然而win7以及win8下不管怎么设置却始终不能上网。用各种指令(当然主要是arp啦)研究了半天,终于发现不管怎么设置,win7win8的网关始终默认是同网段的,并且总是以.254结尾的,也就是说它默认就是连接X.X.X.254网关,而且是动态的。

  OK,总算发现了问题,由于是在同一网段中,那便设置地址也就是IP以及对应的Mac就行了。首先想到用arp绑定.254的IP到开启anyrouter电脑的Mac地址,总是拒绝访问,无奈,只能用netsh命令啦:

netsh interface ipv4 show interface  查看接口参数,主要就是看本地连接/以太网(win8下的称呼)的Index索引号,一般是11,也有12的,

netsh interface ipv4 set neighbors Index “IP” “Mac” store=persistent/active  Index就是本地连接的索引号,IP就是那网关.254,Mac就是安装软路由的Mac地址/LinkLayerAddress(win8下称呼),store为存储状态,persistent为永久生效(默认值),active将在下一次启动时有效。

以上命令win7win8都可以使用,当然最好以管理员身份运行,使用后可以看到arp里面.254的IP变为了静态类型。

在win8下会提示netsh在以后的版本中可能会废除,建议使用TCP/IP的Powershell,类似的命令为:

Get-NetIPInterface  查看接口

Set-Netneighbor -IPAddress X.X.X.254 -InterfaceIndex 11/12 -LinkLayerAddress xxxxxxxxxxxx  //注意不要-连接

其中会出现一个问题,那就是Set-Netneighbor命令只能对permanent类型的IP使用,而.254在arp里面显示为动态的,为stale状态,也就是说这个命令不能绑定非静态的邻域IP和Mac地址,具体解决方法:

考虑使用New-NetNeighbor -IPAddress X.X.X.254 -InterfaceIndex 11/12 -LinkLayerAddress xxxxxxxxxxxx

这样生成的IP-Mac的State就是Permanent。当然netsh命令下有类似的add neighbors命令,应该也可以成功新建邻域IP-Mac对。至此,不管使用旧版本的netsh还是Powershell中的TCP/IP指令,都能正确的在win7/win8下通过网关上网~~~

转载于:https://www.cnblogs.com/lunachy/archive/2012/09/17/2688996.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值