導航:首頁 > 操作系統 > linux下一跳

linux下一跳

發布時間:2023-02-15 04:57:48

❶ 關於 linux 網路,你必須知道這些

我們一起學習了文件系統和磁碟 I/O 的工作原理,以及相應的性能分析和優化方法。接下來,我們將進入下一個重要模塊—— Linux 的網路子系統。

由於網路處理的流程最復雜,跟我們前面講到的進程調度、中斷處理、內存管理以及 I/O 等都密不可分,所以,我把網路模塊作為最後一個資源模塊來講解。

同 CPU、內存以及 I/O 一樣,網路也是 Linux 系統最核心的功能。網路是一種把不同計算機或網路設備連接到一起的技術,它本質上是一種進程間通信方式,特別是跨系統的進程間通信,必須要通過網路才能進行。隨著高並發、分布式、雲計算、微服務等技術的普及,網路的性能也變得越來越重要。

說到網路,我想你肯定經常提起七層負載均衡、四層負載均衡,或者三層設備、二層設備等等。那麼,這里說的二層、三層、四層、七層又都是什麼意思呢?

實際上,這些層都來自國際標准化組織制定的開放式系統互聯通信參考模型(Open System Interconnection Reference Model),簡稱為 OSI 網路模型。

但是 OSI 模型還是太復雜了,也沒能提供一個可實現的方法。所以,在 Linux 中,我們實際上使用的是另一個更實用的四層模型,即 TCP/IP 網路模型。

TCP/IP 模型,把網路互聯的框架分為應用層、傳輸層、網路層、網路介面層等四層,其中,

為了幫你更形象理解 TCP/IP 與 OSI 模型的關系,我畫了一張圖,如下所示:

當然了,雖說 Linux 實際按照 TCP/IP 模型,實現了網路協議棧,但在平時的學習交流中,我們習慣上還是用 OSI 七層模型來描述。比如,說到七層和四層負載均衡,對應的分別是 OSI 模型中的應用層和傳輸層(而它們對應到 TCP/IP 模型中,實際上是四層和三層)。

OSI引入了服務、介面、協議、分層的概念,TCP/IP借鑒了OSI的這些概念建立TCP/IP模型。

OSI先有模型,後有協議,先有標准,後進行實踐;而TCP/IP則相反,先有協議和應用再提出了模型,且是參照的OSI模型。

OSI是一種理論下的模型,而TCP/IP已被廣泛使用,成為網路互聯事實上的標准。

有了 TCP/IP 模型後,在進行網路傳輸時,數據包就會按照協議棧,對上一層發來的數據進行逐層處理;然後封裝上該層的協議頭,再發送給下一層。

當然,網路包在每一層的處理邏輯,都取決於各層採用的網路協議。比如在應用層,一個提供 REST API 的應用,可以使用 HTTP 協議,把它需要傳輸的 JSON 數據封裝到 HTTP 協議中,然後向下傳遞給 TCP 層。

而封裝做的事情就很簡單了,只是在原來的負載前後,增加固定格式的元數據,原始的負載數據並不會被修改。

比如,以通過 TCP 協議通信的網路包為例,通過下面這張圖,我們可以看到,應用程序數據在每個層的封裝格式。

這些新增的頭部和尾部,增加了網路包的大小,但我們都知道,物理鏈路中並不能傳輸任意大小的數據包。網路介面配置的最大傳輸單元(MTU),就規定了最大的 IP 包大小。在我們最常用的乙太網中,MTU 默認值是 1500(這也是 Linux 的默認值)。

一旦網路包超過 MTU 的大小,就會在網路層分片,以保證分片後的 IP 包不大於 MTU 值。顯然,MTU 越大,需要的分包也就越少,自然,網路吞吐能力就越好。

理解了 TCP/IP 網路模型和網路包的封裝原理後,你很容易能想到,Linux 內核中的網路棧,其實也類似於 TCP/IP 的四層結構。如下圖所示,就是 Linux 通用 IP 網路棧的示意圖:

我們從上到下來看這個網路棧,你可以發現,

這里我簡單說一下網卡。網卡是發送和接收網路包的基本設備。在系統啟動過程中,網卡通過內核中的網卡驅動程序注冊到系統中。而在網路收發過程中,內核通過中斷跟網卡進行交互。

再結合前面提到的 Linux 網路棧,可以看出,網路包的處理非常復雜。所以,網卡硬中斷只處理最核心的網卡數據讀取或發送,而協議棧中的大部分邏輯,都會放到軟中斷中處理。

我們先來看網路包的接收流程。

當一個網路幀到達網卡後,網卡會通過 DMA 方式,把這個網路包放到收包隊列中;然後通過硬中斷,告訴中斷處理程序已經收到了網路包。

接著,網卡中斷處理程序會為網路幀分配內核數據結構(sk_buff),並將其拷貝到 sk_buff 緩沖區中;然後再通過軟中斷,通知內核收到了新的網路幀。

接下來,內核協議棧從緩沖區中取出網路幀,並通過網路協議棧,從下到上逐層處理這個網路幀。比如,

最後,應用程序就可以使用 Socket 介面,讀取到新接收到的數據了。

為了更清晰表示這個流程,我畫了一張圖,這張圖的左半部分表示接收流程,而圖中的粉色箭頭則表示網路包的處理路徑。

了解網路包的接收流程後,就很容易理解網路包的發送流程。網路包的發送流程就是上圖的右半部分,很容易發現,網路包的發送方向,正好跟接收方向相反。

首先,應用程序調用 Socket API(比如 sendmsg)發送網路包。

由於這是一個系統調用,所以會陷入到內核態的套接字層中。套接字層會把數據包放到 Socket 發送緩沖區中。

接下來,網路協議棧從 Socket 發送緩沖區中,取出數據包;再按照 TCP/IP 棧,從上到下逐層處理。比如,傳輸層和網路層,分別為其增加 TCP 頭和 IP 頭,執行路由查找確認下一跳的 IP,並按照 MTU 大小進行分片。

分片後的網路包,再送到網路介面層,進行物理地址定址,以找到下一跳的 MAC 地址。然後添加幀頭和幀尾,放到發包隊列中。這一切完成後,會有軟中斷通知驅動程序:發包隊列中有新的網路幀需要發送。

最後,驅動程序通過 DMA ,從發包隊列中讀出網路幀,並通過物理網卡把它發送出去。

多台伺服器通過網卡、交換機、路由器等網路設備連接到一起,構成了相互連接的網路。由於網路設備的異構性和網路協議的復雜性,國際標准化組織定義了一個七層的 OSI 網路模型,但是這個模型過於復雜,實際工作中的事實標准,是更為實用的 TCP/IP 模型。

TCP/IP 模型,把網路互聯的框架,分為應用層、傳輸層、網路層、網路介面層等四層,這也是 Linux 網路棧最核心的構成部分。

我結合網路上查閱的資料和文章中的內容,總結了下網卡收發報文的過程,不知道是否正確:

當發送數據包時,與上述相反。鏈路層將數據包封裝完畢後,放入網卡的DMA緩沖區,並調用系統硬中斷,通知網卡從緩沖區讀取並發送數據。

了解 Linux 網路的基本原理和收發流程後,你肯定迫不及待想知道,如何去觀察網路的性能情況。具體而言,哪些指標可以用來衡量 Linux 的網路性能呢?

實際上,我們通常用帶寬、吞吐量、延時、PPS(Packet Per Second)等指標衡量網路的性能。

除了這些指標,網路的可用性(網路能否正常通信)、並發連接數(TCP 連接數量)、丟包率(丟包百分比)、重傳率(重新傳輸的網路包比例)等也是常用的性能指標。

分析網路問題的第一步,通常是查看網路介面的配置和狀態。你可以使用 ifconfig 或者 ip 命令,來查看網路的配置。我個人更推薦使用 ip 工具,因為它提供了更豐富的功能和更易用的介面。

以網路介面 eth0 為例,你可以運行下面的兩個命令,查看它的配置和狀態:

你可以看到,ifconfig 和 ip 命令輸出的指標基本相同,只是顯示格式略微不同。比如,它們都包括了網路介面的狀態標志、MTU 大小、IP、子網、MAC 地址以及網路包收發的統計信息。

第一,網路介面的狀態標志。ifconfig 輸出中的 RUNNING ,或 ip 輸出中的 LOWER_UP ,都表示物理網路是連通的,即網卡已經連接到了交換機或者路由器中。如果你看不到它們,通常表示網線被拔掉了。

第二,MTU 的大小。MTU 默認大小是 1500,根據網路架構的不同(比如是否使用了 VXLAN 等疊加網路),你可能需要調大或者調小 MTU 的數值。

第三,網路介面的 IP 地址、子網以及 MAC 地址。這些都是保障網路功能正常工作所必需的,你需要確保配置正確。

第四,網路收發的位元組數、包數、錯誤數以及丟包情況,特別是 TX 和 RX 部分的 errors、dropped、overruns、carrier 以及 collisions 等指標不為 0 時,通常表示出現了網路 I/O 問題。其中:

ifconfig 和 ip 只顯示了網路介面收發數據包的統計信息,但在實際的性能問題中,網路協議棧中的統計信息,我們也必須關注。你可以用 netstat 或者 ss ,來查看套接字、網路棧、網路介面以及路由表的信息。

我個人更推薦,使用 ss 來查詢網路的連接信息,因為它比 netstat 提供了更好的性能(速度更快)。

比如,你可以執行下面的命令,查詢套接字信息:

netstat 和 ss 的輸出也是類似的,都展示了套接字的狀態、接收隊列、發送隊列、本地地址、遠端地址、進程 PID 和進程名稱等。

其中,接收隊列(Recv-Q)和發送隊列(Send-Q)需要你特別關注,它們通常應該是 0。當你發現它們不是 0 時,說明有網路包的堆積發生。當然還要注意,在不同套接字狀態下,它們的含義不同。

當套接字處於連接狀態(Established)時,

當套接字處於監聽狀態(Listening)時,

所謂全連接,是指伺服器收到了客戶端的 ACK,完成了 TCP 三次握手,然後就會把這個連接挪到全連接隊列中。這些全連接中的套接字,還需要被 accept() 系統調用取走,伺服器才可以開始真正處理客戶端的請求。

與全連接隊列相對應的,還有一個半連接隊列。所謂半連接是指還沒有完成 TCP 三次握手的連接,連接只進行了一半。伺服器收到了客戶端的 SYN 包後,就會把這個連接放到半連接隊列中,然後再向客戶端發送 SYN+ACK 包。

類似的,使用 netstat 或 ss ,也可以查看協議棧的信息:

這些協議棧的統計信息都很直觀。ss 只顯示已經連接、關閉、孤兒套接字等簡要統計,而 netstat 則提供的是更詳細的網路協議棧信息。

比如,上面 netstat 的輸出示例,就展示了 TCP 協議的主動連接、被動連接、失敗重試、發送和接收的分段數量等各種信息。

接下來,我們再來看看,如何查看系統當前的網路吞吐量和 PPS。在這里,我推薦使用我們的老朋友 sar,在前面的 CPU、內存和 I/O 模塊中,我們已經多次用到它。

給 sar 增加 -n 參數就可以查看網路的統計信息,比如網路介面(DEV)、網路介面錯誤(EDEV)、TCP、UDP、ICMP 等等。執行下面的命令,你就可以得到網路介面統計信息:

這兒輸出的指標比較多,我來簡單解釋下它們的含義。

其中,Bandwidth 可以用 ethtool 來查詢,它的單位通常是 Gb/s 或者 Mb/s,不過注意這里小寫字母 b ,表示比特而不是位元組。我們通常提到的千兆網卡、萬兆網卡等,單位也都是比特。如下你可以看到,我的 eth0 網卡就是一個千兆網卡:

其中,Bandwidth 可以用 ethtool 來查詢,它的單位通常是 Gb/s 或者 Mb/s,不過注意這里小寫字母 b ,表示比特而不是位元組。我們通常提到的千兆網卡、萬兆網卡等,單位也都是比特。如下你可以看到,我的 eth0 網卡就是一個千兆網卡:

我們通常使用帶寬、吞吐量、延時等指標,來衡量網路的性能;相應的,你可以用 ifconfig、netstat、ss、sar、ping 等工具,來查看這些網路的性能指標。

小狗同學問到: 老師,您好 ss —lntp 這個 當session處於listening中 rec-q 確定是 syn的backlog嗎?
A: Recv-Q為全連接隊列當前使用了多少。 中文資料里這個問題講得最明白的文章: https://mp.weixin.qq.com/s/yH3PzGEFopbpA-jw4MythQ

看了源碼發現,這個地方講的有問題.關於ss輸出中listen狀態套接字的Recv-Q表示全連接隊列當前使用了多少,也就是全連接隊列的當前長度,而Send-Q表示全連接隊列的最大長度

❷ linux永久開啟防火牆路由轉發

需求:以其中一台linux主機作為伺服器,對其他主機提供路由轉發功能,實現網路共享。

實現:由於本次學習是在虛擬機中實現,共有兩台linux主機,其中作為伺服器的linux主機先稱作vm1,要共享網路的linux主機稱作vm2,vm2為在vm1中建立的虛擬機

環境:redhalt 6.5

 

vm2配置:

    由於是模擬網路共享的客戶機,在vm設置里將網路模式改為host-only(僅主機模式),並記錄下vm2的網段。實際需求中只需配置伺服器vm1即可

        1.

        2.點擊確定保存後,可以看到此時的vm2已無法訪問網路。

        3.在虛擬機菜單欄點擊 編輯>>>虛擬網路編輯器,可在此查看或編輯你的vm2網段信息。

   

vm1配置(伺服器):

    1.修改/etc/sysctl.conf文件,將配置文件中net.ipv4.ip_forward = 0值改為= 1,開啟數據包的轉發

        [root@localhost ~]# sysctl -p                                 -----使配置文件生效

        也可直接輸入命令:echo 1 > /proc/sys/net/ipv4/ip_forward                               重啟會失效

    2.啟動防火牆:/etc/init.d/iptables start

    3.依次輸入下列兩條命令:

        [root@localhost ~]# iptables -S                                         查看紅帽防火牆默認的規則鏈

        [root@localhost ~]# iptables -D FORWARD 1                    刪除FORWARD里序號為1的規則

    4.開啟地址轉換:

        [root@localhost ~]# iptables -t nat -I POSTROUTING -s 192.168.148.0/24 -j MASQUERADE                ----其中的ip段為vm2配置第三步中的ip段,可自定義

    5.至此已搭建完成,只需將vm2設置為該ip段下任一ip即可成功實現訪問網路。也可直接通過另外一台設備連接vm1,將ip設置到該網段下即可,vm1並不能自動分配

        [root@oracledb ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

                IPADDR=

                NETMASK=

                GATEWAY=

 

 

概念補充:

路由表,指的是路由器或者其他互聯網網路設備上存儲的表,該表中存有到達特定網路終端的路徑,在某些情況下,還有一些與這些路徑相關的度量。
查看伺服器到目標網址經過的ip:traceroute www..com
查看自己主機上的路由表:route -n

分類:
靜態路由表:由系統管理員事先設置好固定的路由表稱之為靜態(static)路由表,一般是在系統安裝時就根據網路的配置情況預先設定的,它不會隨未來網路結構的改變而改變。
動態路由表:動態(Dynamic)路由表是路由器根據網路系統的運行情況而自動調整的路由表。路由器根據路由選擇協議(Routing Protocol)提供的功能,自動學習和記憶網路運行情況,在需要時自動計算數據傳輸的最佳路徑。路由器通常依靠所建立及維護的路由表來決定如何轉發。

在區域網中,主機可以通過廣播的方式來進行網路數據包的發送,但是在不同的網段類的主機想要互相連接時就必須通過路由器來實現。
路由器具有判斷網路地址和選擇IP路徑的功能,它能在多網路互聯環境中,建立靈活的連接,可用完全不同的數據分組和介質訪問方法連接各種子網,路由器只接受源站或其他路由器的信息,屬網路層的一種互聯設備。

轉載於:https://my.oschina.net/shaoyu/blog/854330

來源:https://my.oschina.net/shaoyu/blog/854330
原作者刪帖   不實內容刪帖   廣告或垃圾文章投訴

智能推薦

apache開啟請求轉發
實現訪問goto.test,返回內容為purchase.plate.test 修改httpd.conf配置,將下面的兩個模塊開啟 image.png 修改vhost.conf配置,添加轉發 image.png 轉發的網址後面一定要加反斜杠,否則靜態文件不轉發。...

轉發與路由選擇
轉發:分組在單一的路由器的一條輸入鏈路中,由路由器將該分組移動到合適的輸出鏈路 路由選擇:一個網路中,分組從發送方到接收方時,所採用的路徑 舉個栗子:如果要從北京到成都 路由選擇是:北京->武漢->四川->成都 轉發是:你在北京,你要用火車去武漢,而不是上海。...

路由轉發功能
一、iptables工具移植 1、交叉編譯iptables-1.4.12  ./configure  --prefix=/home/huabiao/bin  --exec-prefix=/home/huabiao/bin  --host=arm  --with- kernel=/home/huabiao/share/HI3520D/linux-3....

路由轉發原理
自我總結,以強記憶。 實驗圖(未配置前) 圖1未對PC和路由器埠(默認down)配置IP和下一跳,故無法通信。 先說說配置下一跳的不同方式的區別: 1.下一跳為本路由器的出口介面; 當配置靜態路由時使用出口介面做為下一跳時,路由器會認為目標網路和介面處在「直連網路」中,而在直連網路中不同設備間的通信是通過ARP協議廣播來獲取到要到達的目標主機的MAC地址。故當pc7與pc...

路由轉發流程
IP 地址和路由轉發 此文檔為回憶文檔,不會詳細解釋原理 文章目錄 IP 地址和路由轉發 一、IP 地址 1.1 作用 1.2 分類 1.3 子網掩碼 二、IP地址識別(路由轉發) 2.1 路由器轉發規則 2.2 最長匹配原則 2.3 路由迭代規則 2.3 預設路由匹配 一、IP 地址 1.1 作用 IP 地址是用於識別計算機網路位置的地址;(IP 協議處於網路層) MAC 地址是計算機物理地址,...

猜你喜歡

DLINK 企業路由器內網部署web開啟埠轉發後還需要開啟是否支持埠迴流功能...
跑後台使用的伺服器,配置一般都很低,帶寬只有2Mb 一些大型文件比如app的更新包使用這種伺服器不可行 但是公司的網路是100Mb對等靜態ip專線 所以能利用起來,每年將會省下8萬塊     說干就干,這個步驟應該不難 我自己用ac88u在家也有搭建web,開啟埠轉發就可以了 但是這個di-7100死活就是不行, 無奈之下,打客服吧 告知ip埠和用戶名密碼之後那邊設置了一下...

Linux運維之LVS使用NAT(路由轉發)模式實現負載均衡
一、lvs-nat模式原理 LVS的轉發主要通過修改IP地址 (NAT模式,分為源地址修改SNAT和目標地址修改DNAT)、修改目標MAC(DR模式)來實現。 NAT模式: 網路地址轉換 NAT(Network Address Translation)是一種外網和內網地址映射的技術。NAT模式下,網路數據報的進出都要經過LVS的處理。LVS需要作為RS(真實伺服器)的網關。當包到達LVS時,LVS...

論壇報名 | 智能信息檢索與挖掘的最新進展和挑戰
與6點陣圖靈獎得主和100多位專家 共同探討人工智慧的下一個十年 長按圖片或點擊閱讀原文,內行盛會,首次免費注冊 2020年6月21-24日,第二屆北京智源大會(官網:https://2020.baai.ac.cn)將邀請包括6點陣圖靈獎獲得者在內的上百位人工智慧領袖,一起回顧過去,展望未來,深入系統探討「人工智慧的下一個十年」。本次大會將開設19個專題論壇,主題涵蓋人工智慧數...

2021年java開發者常見面試題,學習路線+知識點梳理
基礎 JAVA基礎 JAVA集合 JAVA多線程並發 網路 數據結構與演算法 框架 Spring SpringMVC MyBatis 設計模式 分布式 負載均衡 Zookeeper Redis MQ/kafka 微服務 Netty與RPC Spring Boot Spring Cloud Dubbo 調優 MySQL JVM Tomcat 最後 即使是面試跳槽,那也是一個學習的過程。只有全面的復習,...

zabbix api 使用,如何看官方文檔。
zabbix 提供的豐富的API介面,幾乎可以完成所有在zabbix web界面上的操作,實現一個需求我們可以選用不同的API介面,提供多種解決方案。 官方文檔說明 官方文檔:https://www.zabbix.com/documentation/4.0/zh/manual/api 點擊鏈接會進入到下面的界面,介紹了API的使用以及提供的一些方法和一些示例。 在側邊欄我們可以看到不同的API介面...

相關問題
開啟位元組
如何使用python將埠轉發到路由器
在過濾查詢後,Azure路由未轉發到端點
Mikrotik路由器埠轉發 - 無法從Web訪問
C#開啟枚舉
路由器埠轉發和HttpContext.Current.Request.URL
Zend_Router,在參數提供時,向indexController /轉發路由
使用路由或mod_rewrite是否要轉發舊URL?
Winsock客戶端埠和路由器埠轉發
使用UPnP以編程方式添加埠轉發條目進入路由器?
相關文章
windows開啟路由轉發
Linux 路由轉發實驗
linux做路由並實現路由轉發
Windows 10上開啟路由轉發及添加路由
Windows 10上開啟路由轉發及添加路由
Iptables-linux伺服器做路由轉發
虛擬機中linux系統實現路由轉發功能
linux 路由轉發及udhcpd的配置上網
linux配置靜態路由實現路由轉發和quagga實現動態路由實驗
OpenWrt路由開啟DDNS+埠轉發進行外網訪問

熱門文章
美國W+NMN科普:NMN對肝臟的作用:NMN對肝臟的作用如何?
python 持續集成 教程_dotnet 部署 github 的 Action 進行持續集成|簡明python教程|python入門|python教程...
java運行 mavenzip包_java application maven項目打自定義zip包實例(必看)
laravel 8學習記錄(1)—— 配置phpstorm開發環境
A Critical Review of Recurrent Neural Networks for Sequence Learning
ngnix支持thinkphp3.2路由重寫模式的配置,即URL_MODEL=>2的情況
Rabbit MQ 無法訪問到 web 頁面
Linux基礎_使用基礎技巧
C# Owin初探 概念理解
osi七層模型tcp四層模型
推薦文章
【行研資料】2021中國互聯網醫療內容行業研究報告——附下載鏈接
軟體測試和評估
SPI Base Knowledge
Idea 添加JDK自帶的反編譯工具javap
抽象類與介面的區別
JavaScript筆記(5.27)
周志華 機器學習 Day17
聲紋識別的三生三世
快速構建Windows 8風格應用34-構建Toast通知
java格子布局怎麼設置高度_自動布局:獲取UIImageView高度以正確計算單元格高度...
相關標簽
環境配置
windows開啟路由轉發
路由轉發
windows
計算機網路
Windows
linux路由
ubuntu
虛擬機
linux

Copyright © 2018-2023 - All Rights Reserved - www.pianshen.com
網站內容人工審核和清理中!本站和cxyzjd等抄襲本站模板的網站沒有任何關系,請注意分辨!
本站在春節期間即將改版,對人工核實過的涉及csdn版權文章做刪除處理,
僅保留摘要,大家可以點擊摘要後面的「查看原文」跳轉到csdn查看。改版後的網站不再發布任何和csdn有關的文章,謝謝理解。
由於數據、程序改動較大,加之時間匆忙,本次改版會持續數日,可能會間歇性影響用戶訪問。
同時由於csdn自身存在大量版權爭議文章,例如機器人賬號、轉載和不實標注原創問題,本次數據改動均採取人工核實,難免有遺漏和偏差,請來信指正。

❸ Linux下如何根據目的IP來獲取下一跳網關的MAC,netlink可以實現么

獲取MAC和netlink沒有關系.
一開始arp表是空的. 假如一台linux主機(假設為192.168.0.3)要ping一個外網的ip, 通過路由表可知這個數據包要到達的下一跳網關ip, 假設為192.168.0.1. 那麼, 這台linux主機就廣播一個arp請求:"who has 192.168.0.1? tell 192.168.0.3". 網關接收到這個arp請求後, 回應一個arp包給這台Linux主機:"192.168.0.1 is at xx.xx.xx.xx(MAC)", 這樣, 這台Linux主機就獲得了下一跳的網關了, 它會把這個arp信息緩存到arp表. 它不需要知道外網ip對應的MAC, 只把這個ping的ICMP數據包發給網關. 同樣, 這個網關也根據路由表查找下一跳的MAC.

❹ LINUX靜態路由配置

你已經在route2指定了#route
add
-net
192.168.4.0/24
gw
192.168.3.100,這樣下一跳指向route3
192.168.3.100
,數據包被轉發到route3,通過192.168.4.33
這個地址播發到PC2(一個網段)

❺ Linux下如何根據目的IP來獲取下一跳網關的MAC,netlink可以實現么

1、linux可以直接使用路由器的,不需要安裝什麼2、安裝EXE文件,需要安裝一個WINE程序,然後就可以執行安裝很多的EXE文件了

❻ 關於linux雙網卡tracerout問題

系統在引導的過程中,是先載入eth0的配置,在載入eth1的配置,由於系統的默認路由只有一個,所以可能是這個部分引起的你遇到的問題。
所以原因可能會在這里。
解決方法,就是增加網卡的靜態路由,來解決網路訪問問題。

但我也有個疑問是:
eth0 192.168.0.5/24

eth1 10.1.1.2/8

這兩個網口的IP配置,你能訪問到192.168.10.10網路,這個我也挺納悶的,我解釋不通啊。

❼ linux怎麼添加靜態路由

linux系統下路由的操作:

route -n/ip route

route add -host 1.1.1.1/32 gw 172.18.30.45

route add -host 主機ip地址 gw 下一跳[ip或設備]

route add -net 10.20.20.0/24 dev eth0

route add -net 網段 gw 下一跳[ip或設備]

route del -net 10.20.20.0/24 【刪除網段路由】

route del -host 1.1.1.1 【刪除主機路由】

route add default gw 172.18.30.204

route del default gw 172.18.30.204

具體操作:

[root@test1 ~]# ip route

10.10.10.10 via 172.18.30.1 dev eth0

172.18.30.0/24 dev eth0 proto kernel scope link src 172.18.30.45

192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1

169.254.0.0/16 dev eth0 scope link metric 1002

default via 172.18.30.254 dev eth0 proto static

[root@test1 ~]# route

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

bogon bogon 255.255.255.255 UGH 0 0 0 eth0

172.18.30.0 * 255.255.255.0 U 0 0 0 eth0

192.168.122.0 * 255.255.255.0 U 0 0 0 virbr0

link-local * 255.255.0.0 U 1002 0 0 eth0

default bogon 0.0.0.0 UG 0 0 0 eth0

[root@test1 ~]#

[root@test1 ~]# route add -host 1.1.1.1/32 gw 172.18.30.45

[root@test1 ~]# route add -net 10.20.20.0/24 dev eth0

[root@test1 ~]# route del -net 10.20.20.0/24

[root@test1 ~]# route del -host 1.1.1.1

[root@test1 ~]# route add default gw 172.18.30.204

[root@test1 ~]# route del default gw 172.18.30.204

更多linux知識建議參考《Linux就該這樣學》,linux的學習需要多巧多練習,加油吧

❽ linux上如何添加默認路由,是類似於路由器中的8個 0然後指定下一跳的默認路由,不是添加默認網關

ip route add 0.0.0.0/0 via XXXX

❾ 在Linux下 路由表項中有兩條到相同目的IP的路由,如何控制IP包走那一條路由,即可否控制IP包下一跳地址。

很遺憾,不可以這樣均衡分配的,linux下包發送原理是先找路由規則,沒有配置高級路由的就是main這個規則,
也就是route -n或ip route show看到的結果都是main規則下的。
然後找路由,路由是有優先順序的,同等優先順序下,按ip route show顯示順序匹配發送,一旦匹配,後面的就不會
再去看了。
所以根據路由不可以這樣均衡分配的,永遠都辦不到。
但是其它一些情況,比如你這台linux是伺服器,你只是希望上面的網站流量分布在不同網卡,那很容易辦到,為什麼上
面那情況不可以,而現在又可以了呢,因為網站訪問對這台linux來講是被動發送數據的,從哪兒進來就會從哪兒回復出去。
通過DNS或負載均衡器很容易實現。
但你linux做為客戶端僅僅是去上別的網路,是主動發包的,會去找你本機的路由,況且你目的IP相同,那連分類走路由的機會都沒有了。
除非從時間上錯開,定期自動換網關。哈哈

❿ linux 怎麼連接 gre nhrp tunnel

一、多點GRE配置(mGRE),結合NHRP(下一跳地址解析協議)使用 1.中心站點配置: 1)建立tunnel口及相關配置 inter tunnel 0 tunnel source e1/0(指定公網的外出介面作為隧道源地址) tunnel mode gre multipoint(指定隧道的類型為多點GRE)

閱讀全文

與linux下一跳相關的資料

熱點內容
有pdf卻打不開 瀏覽:460
七星彩軟體app怎麼下載 瀏覽:217
32單片機的重映射哪裡改 瀏覽:816
為什麼前端不用刷演算法題 瀏覽:708
對稱加密系統和公鑰加密系統 瀏覽:428
歷史地理pdf 瀏覽:606
物聯網雲伺服器框架 瀏覽:648
sybaseisql命令 瀏覽:183
android權威編程指南pdf 瀏覽:663
哪些軟體屬於加密軟體 瀏覽:646
文件夾75絲什麼意思 瀏覽:470
最便宜sop8單片機 瀏覽:966
圖解周易預測學pdf 瀏覽:420
c盤莫名奇妙多了幾個文件夾 瀏覽:171
貴州花溪門票優惠app哪個好 瀏覽:803
如何說話不會讓人有被命令的感覺 瀏覽:440
哪裡可下載湘工惠app 瀏覽:265
福特python 瀏覽:312
pdf轉換成word表格 瀏覽:353
無線遠端伺服器無響應是什麼意思 瀏覽:672