争怎路由网:是一个主要分享无线路由器安装设置经验的网站,汇总WiFi常见问题的解决方法。

设置路由时怎么指定源地址

时间:2024/11/20作者:未知来源:争怎路由网人气:

路由器是连接各个网络的设备,它能够以最佳的路径将接收到的信号发送出去,是互联网络的枢纽。路由器具有判断网网络地址和选择网络IP的功能,能在多个互联网络中建立连接,同时路由器只接受源网站和其他路由器的信息,属于互联设备。

  欢迎大家来到本站,本文为大家介绍配置路由时如何指定源地址,欢迎大家阅读,希望能帮到你。

  如果你的一块网卡上配置了多个IP地址,那么在数据包发出时会使用哪一个呢?在Linux上,使用iproute2工具可以设置src参数强制封装源地址:

  ip route add 1.2.3.4/32 via 4.3.2.1 src 3.3.3.3

  但是在Windows上,一切都是内部逻辑自动选择的,其原则如下:

  单网卡时,选择和默认网关在同一网段的最匹配IP地址为源;

  多网卡时,首先选择默认网关所在的网卡作为发送网卡,然而在该网卡上按照单网卡原则选择一个IP地址作为源。

  因此,如果你的目标地址是1.2.3.4,默认网关是4.3.2.1,本地连接上两个IP地址:4.3.2.2和3.3.3.3,很显然,4.3.2.2会作为源IP地址被选择,这样在发包的时候,4.3.2.2将作为数据包的源IP地址。

  然而有时候为了实现自己的一些策略或者小技巧,并不希望系统为我如此自动地封装源IP地址,比如显而易见地是在使用Open的时候。

  首先我们看下所谓的默认网关的本质意义是什么。默认网关其实是一个更加特殊的“下一跳”,它其实就是一个下一跳地址,这个地址的目的在于将数据包扔给下一跳(废话),其实它只是一个辅助作用,真正起作用的是由它解析到的MAC地址,因为MAC地址才会真正封装在以太帧当中,那个默认网关只是用来得到这个 MAC地址的,因此如果能静态指定一个MAC地址,那么这个默认网关可以是任意的。于是就有了一个办法:

  1.为一条路由生成一个和欲选择的源IP地址在同一个网段的假的默认网关,即假的下一跳;

  2.为该假网关IP地址建立一条静态的到真网关的MAC地址的arp映射;

  如此一来,源IP地址的选择过程将完全符合Windows的选择逻辑,我们也就从内核外部绕开了它的限制,从而可以选择任意的本地连接上配置的地址作为源IP地址。

  为了将手工配置的过程实现成一个自动的过程,编程是必不可少的,然而我又不想去调用那复杂的API(为了实现一个很简单的功能不得不做超级多的准备工作...),只能寄希望于脚本了,然而Windows命令行功能实在太弱,很为难。问同事,百度,google,一遍遍地尝试,折腾了太久,终于写出一个批处理脚本,发现Windows XP的脚本功能还是很强大的,更不必说Power Shell了。脚本如下(没有echo off):

  [plain]

  set destination=%1

  set mask=%2

  set origw=%3

  set source=%4

  ::获取默认网关(可以自动发现默认网关,太花哨,不提倡)

  :::GetGW

  ::set origw=

  ::for /f "delims=: tokens=2" %%i in ('"ipconfig

关键词:设置路由时如何指定源地址




Copyright © 2012-2018 争怎路由网(http://www.zhengzen.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版