AV 无码 高潮 在线下载,黄色亚洲无码在线,精品国产sm在线大全,国产色系视频在线观看,亚洲人成网站在线播放2019

  • <wbr id="pgneg"></wbr><bdo id="pgneg"></bdo>
  • <b id="pgneg"></b>

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

        發(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)嗎