亚洲无码在线播放,欧美性爱一级在线视频,最新国产在线拍揄自揄视频,国产福利在线观看不卡视频,亚洲中文字幕aⅴ无码

<wbr id="au4ne"></wbr>
    1. <source id="au4ne"></source>

      配置路由時指定源地址的命令(路由 源地址 目的地址)

      發(fā)布時間:2024-10-03
      本文為大家介紹配置路由時指定源地址的命令(路由 源地址 目的地址),下面和小編一起看看詳細內(nèi)容吧。
      配置路由時指定源地址
      如果你在一塊網(wǎng)卡上配置了多個ip地址,數(shù)據(jù)包發(fā)出時會使用哪個?在linux上,使用iproute2工具設(shè)置src參數(shù),強制封裝源地址:
      ip 路由添加1.2.3.4/32 通過4.3.2.1 src 3.3.3.3
      但在windows 上,一切都是由內(nèi)部邏輯自動選擇的,其原理如下:
      對于單個網(wǎng)卡,選擇與默認網(wǎng)關(guān)在同一網(wǎng)段內(nèi)最匹配的ip地址作為源;
      當有多個網(wǎng)卡時,首先選擇默認網(wǎng)關(guān)所在的網(wǎng)卡作為發(fā)送網(wǎng)卡,然后根據(jù)單網(wǎng)卡原則在該網(wǎng)卡上選擇一個ip地址作為源。
      所以,如果你的目的地址是1.2.3.4,默認網(wǎng)關(guān)是4.3.2.1,本地連接上有兩個ip地址:4.3.2.2和3.3.3.3,顯然會選擇4.3.2.2作為源ip地址,所以在發(fā)送數(shù)據(jù)包時,4.3.2.2將作為數(shù)據(jù)包的源ip地址。
      但是,有時候為了實現(xiàn)自己的一些策略或者技巧,不想讓系統(tǒng)自動為我封裝源ip地址,比如在使用openvpn的時候就很明顯了。
      首先我們來看一下所謂默認網(wǎng)關(guān)的本質(zhì)含義。默認網(wǎng)關(guān)其實是一個比較特殊的“下一跳”。它實際上是一個下一跳地址。這個地址的作用是把數(shù)據(jù)包丟到下一跳(廢話)。其實它只是一個輔助功能,是真正起作用的。它解析的是mac地址,因為mac地址實際上是封裝在以太網(wǎng)幀中的,而默認網(wǎng)關(guān)只是用來獲取mac地址的,所以如果可以靜態(tài)指定一個mac地址,那么默認網(wǎng)關(guān)就可以任何。所以有一個方法:
      1、生成一個與路由選擇的源ip地址在同一網(wǎng)段的假默認網(wǎng)關(guān),即假下一跳;
      2. 為假網(wǎng)關(guān)ip地址建立到真實網(wǎng)關(guān)mac地址的靜態(tài)arp映射;
      這樣源ip地址的選擇過程就完全符合windows的選擇邏輯,我們從內(nèi)核外部繞過它的限制,這樣本地連接上配置的任何地址都可以被選為源ip地址.
      為了實現(xiàn)手動配置的過程變成自動過程,編程是必不可少的,但是我不想調(diào)用復雜的api(為了實現(xiàn)一個很簡單的功能,我不得不做很多準備工作.),只能寄希望于腳本,但是windows命令行功能太弱了,很尷尬。問了同事,百度,谷歌,反復嘗試,折騰了太久,終于寫了個批處理腳本,發(fā)現(xiàn)windows xp的腳本功能還是很強大的,power shell就更不用說了。腳本如下(不回顯):
      [清楚的]
      設(shè)置目的地=%1
      設(shè)置掩碼=%2
      設(shè)置origw=%3
      設(shè)置源=%4
      : 獲取默認網(wǎng)關(guān)(默認網(wǎng)關(guān)可以自動發(fā)現(xiàn),太花哨,不推薦)
      :getgw
      :set origw=
      :for /f 'delims=: tokens=2' %%i in (''ipconfig | find /i 'default gateway'| findstr [0-9].'') do set origw=%%i
      : 獲取默認網(wǎng)關(guān)的mac地址
      : 獲取mac
      設(shè)置mac=
      for /f 'skip=3 tokens=2' %%i in ('arp -a %origw%') do set mac=%%i
      回聲%mac%|findstr /-
      : 這里有問題。其實ping不通也沒關(guān)系(比如網(wǎng)關(guān)禁止ping)。我們只需要它的mac 地址。
      : 如果連mac地址都不允許解析,那就不要做默認網(wǎng)關(guān)。所以,正確的做法應該是搞反擊,連續(xù)
      : 兩次獲取mac地址失敗視為失敗。
      如果錯誤級別1 (
      ping %origw% -n 1
      如果errorlevel 1 轉(zhuǎn)到結(jié)束
      轉(zhuǎn)到getmac
      )
      設(shè)置gw=
      設(shè)置我=
      : 生成一個假的網(wǎng)關(guān)地址(很簡單的算法,要使用的源ip地址減1)
      for /f 'delims=.tokens=4' %%i in ('echo %source%') do set /a host=%%i-1
      設(shè)置我=
      設(shè)j=
      設(shè)k=
      對于/f 'delims=.tokens=1,2,3' %%i in ('echo %source%') do set gw=%%i.%%j.%%k.%host%
      : 設(shè)置假網(wǎng)關(guān)的arp映射
      arp -s %gw% %mac%
      : 添加路由
      路由添加%destination% mask %mask% %gw%
      :結(jié)束
      將上述腳本保存為'route2.bat',直接使用即可。
      事實上,主機選擇一個與默認網(wǎng)關(guān)不屬于同一網(wǎng)段的ip作為源ip地址并不是一種常見的做法。一個網(wǎng)段的默認網(wǎng)關(guān)在路由時會造成問題,除非它把下一跳指向一個與ip地址所在主機在同一網(wǎng)段的地址,否則可能會因為目的地址不可達而丟包。
      另外,上面的腳本在靜態(tài)建立arp映射的時候有個問題,就是沒有關(guān)聯(lián)windows的“dead gateway detection”功能,所以網(wǎng)關(guān)失效后可以notofy,或者網(wǎng)關(guān)沒有failed, just replaced 買機器換了mac,這時候需要更新mac映射。
      好了,配置路由時指定源地址的命令(路由 源地址 目的地址)的介紹到這里就結(jié)束了,想知道更多相關(guān)資料可以收藏我們的網(wǎng)站。
      上一個:真空泵濾芯的工作原理,普旭真空泵濾芯工作原理,真空泵過濾器的深入了解
      下一個:什么是等電位聯(lián)結(jié)?等電位聯(lián)結(jié)的作用

      勞動合同無效可以仲裁嗎
      數(shù)控外圓磨床在使用過程中該注意的一些維護事項
      超聲波中藥提取設(shè)備的常見故障解決與維護方法介紹
      AC1210FR-07330RL,國巨車規(guī)電阻1210 330Ω ±1% 1/2 W
      直埋預制聚氨酯保溫管
      windows 10創(chuàng)建還原點(window10怎樣創(chuàng)建還原點)
      天平選型關(guān)注六大要素
      怎樣的農(nóng)用植保無人機不僅能提升效率,還能使人身、環(huán)境和資源都得到保護?
      銷售德國waycon拉繩傳感器
      擔保人可以行使先履行抗辯權(quán)嗎