亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

如何在Linux中route?add命令添加路由(Linux?route)

 更新時間:2024年06月15日 10:57:57   投稿:yin  
route?add命令是用于管理Linux操作系統(tǒng)網絡路由,允許用戶添加、刪除或修改網絡路由表中的條目,在Linux系統(tǒng)上添加靜態(tài)路由,靜態(tài)路由是手動配置的路由,它指定了數(shù)據包從一個網絡到達另一個網絡的路徑,通過添加靜態(tài)路由,可實現(xiàn)網絡分段、轉發(fā)和通信等

route add命令是一個用于管理Linux操作系統(tǒng)網絡路由的命令。它允許用戶添加、刪除或修改網絡路由表中的條目。route add命令用于在Linux系統(tǒng)上添加靜態(tài)路由。靜態(tài)路由是手動配置的路由,它指定了數(shù)據包從一個網絡到達另一個網絡的路徑。通過添加靜態(tài)路由,可實現(xiàn)網絡分段、轉發(fā)和通信等功能。

使用 ip 添加路由

這是最簡單的方式。

<network_ip>/<cidr> 是希望能到達的網絡,<gateway_ip> 是這條路由所使用的網關。若不指定所用的網卡設備,則會自動選擇電腦上的第一個網卡(不包括 loopback)。若要指定設備,可以在命令后面指明:

$ ip route add <network_ip>/<cidr> via <gateway_ip>
?
# 例:
$ ip route add 10.0.3.0/24 via 10.0.3.1

這里用連通兩個 LAN 來舉例:本網絡拓撲中有三個 Linux 主機:

  • IP 地址為 10.0.2.2/24 的 Ubuntu 主機
  • IP 地址為 10.0.3.2/24 的 Ubuntu 主機
  • 作為上述兩個主機所在網絡的路由器的 RHEL8 主機

由于這兩個 Ubuntu 主機在不同的子網中(10.0.2.0 和 10.0.3.0),而它們的 ping 命令又是通過各自的默認網關向外發(fā)出請求,因此兩個主機目前并不能 ping 通。

要查看當前主機(10.0.2.2)的路由,可以使用 ip route (或簡寫為 ip r )

譯注:
dev enp0s3 指本條路由對應的網卡設備
proto 指協(xié)議 "protocol",代表該條路由的路由協(xié)議(routing protocol)。其通常有如下幾個值:
- redirect - 該路由是由 ICMP 重定向添加的
- kernel - 該路由是在自動配置(autoconfiguration)時,由內核添加的
- boot - 該路由是在啟動過程中配置的,會在路由守護進程(routing daemon)啟動時清除
- static - 該路由是由系統(tǒng)管理員手動添加的,會覆蓋動態(tài)路由(dynamic routing)。路由守護進程將按照它們的值運行,而且可能會把這些路由發(fā)給 peers - ra - 該路由是由路由發(fā)現(xiàn)協(xié)議(Router Discovery protocol)添加的
scope 指本條路由到達目的地網絡的距離
- host - 該條路由的目的地地址為 localhost
- link - 該條路由的目的地地址為本地網絡(local network)
- universe - 該條路由的目的地地址在一跳之外(one hop away)
src 指使用本條路由發(fā)送數(shù)據時要經由的網絡接口 IP 。這里的意思是說發(fā)往 10.0.2.0/24 網絡的包都會從 10.0.2.2 地址的網卡發(fā)出。
設置方式例如: ip route add 78.22.45.0/24 via 10.45.22.1 src 10.45.22.12這樣新創(chuàng)建的路由就是:經由 10.45.22.1 發(fā)往 78.22.45.0/24 網絡的數(shù)據包,都會從 10.45.22.12 地址的網卡發(fā)出。但注意這只能影響真正發(fā)出這個包的主機,無法影響轉發(fā)——畢竟幫別的主機轉發(fā)包,肯定不能把人家 IP 包里的源地址給改了(當然 NAT 就是完全另外一回事了)

這個就是 Linux 系統(tǒng)的路由表,每個電腦都有一個。路由器會管理很多的路由。

接下來我們一條一條看看這三條路由

  • 默認 情況下,對網絡發(fā)出的數(shù)據會被轉發(fā)到本地默認網關 10.0.2.1
  • 除非 數(shù)據是發(fā)往 10.0.2.0/24 網絡的。如果是,則通過默認物理鏈路發(fā)送(比如 CAT 網線)到本地網絡
  • 除非 數(shù)據是發(fā)往 169.254.0.0/16 網絡的。如果是,則將通過默認物理鏈路發(fā)送到本地網絡
169.254.0.0/16 地址被稱為 APIPA (用于自動 IP 地址尋址 - Automatic IP Address Addressing)。這是系統(tǒng)在無法連接到網絡上 DHCP 服務器時使用的默認地址

在 10.0.2.2 主機當前的路由配置下(也就是上面圖中的),要發(fā)往 10.0.3.2/24 的數(shù)據都會被轉發(fā)給 10.0.2.1 路由器

然而,這個路由器會把我們發(fā)過去的數(shù)據再轉發(fā)到 10.0.3.0/24 網絡嗎?

在路由器上執(zhí)行一下 ip r 即可知道答案:

這里只有到 10.0.2.0/24 網絡的路由,顯然是有問題的。因此我們需要添加路由規(guī)則

$ ip route add 10.0.3.0/24 via 10.0.3.1

現(xiàn)在再 ping 就應該能通了

在 Ubuntu 上配置永久路由

有三種方式:

  • 將新路由添加進 NetworkManager 配置文件
  • 添加進 Netplan YAML 配置文件
  • 添加進 /etc/network/interfaces 配置文件(較老版本系統(tǒng))

NetworkManager

修改 /etc/NetworkManager/system-connections 目錄下的連接文件。該文件下會有以當前系統(tǒng)中網絡接口命名的配置文件

在網絡配置文件的 IPv4 部分添加一個 route1 屬性

使用下面的命令來讓設置生效

Netplan

Netplan 是一個 ubuntu 獨占的工具,但用起來很簡單

打開對應的配置文件

$ sudo vi /etc/netplan/<configuration_file>.yaml

/etc/network/interfaces

如果發(fā)行版使用的是 ifup 和 ifdown 管理網絡接口,那么可以修改 /etc/network/interfaces 文件來添加路由:

$ sudo vi /etc/network/interfaces
?
auto eth0
iface eth0 inet static
      address 10.0.2.2
      netmask 255.255.255.0
      up route add -net 10.0.3.0 netmask 255.255.0.0 gw 10.0.2.1

在 RHEL / CentOS 上添加永久路由配置

需要在 /etc/sysconfig/network-scripts 目錄中創(chuàng)建一個名為 route-<device> 的配置文件

使用 nmcli

$ sudo nmcli connection modify <interface_name> +ipv4.routes "<network_ip> <gateway_ip>" 

例如,添加一條上文中講過的路由:

$ sudo nmcli connection modify enp0s3 +ipv4.routes "10.0.3.0/24 10.0.3.1"

執(zhí)行下面的命令生效:

$ sudo nmcli connection reload

解決互聯(lián)網連接問題

假設你用來連接互聯(lián)網的路由器是 192.168.178.1/24

檢查當前的路由表,就很容易猜出來無法連接網絡的原因了。思路如下:

  • 要到達的 IP 在我當前的子網內嗎?
  • 若在,則不用通過路由器就能訪問,ARP 和以太網就能實現(xiàn)了
  • 若不在,則需要確保自己的電腦有能夠到達聯(lián)網路由器的路由

首先要理出你所在網絡的架構,如下圖

無論解決什么網絡連接問題,都可以從路由下手:我的電腦有沒有到達目標電腦的路由?

在我和目標地址之間的計算機和路由器,都有沒有正確配置為可以為我進行路由?

如果能夠到達目標地址,那這個目標地址發(fā)回來的信息能否到達我的電腦?

能夠解決這些問題,網絡連接基本也就沒問題了

附加命令說明

1、添加網絡路由

route add -net 目標網段 網關 [設備]

例如,將目標網絡192.168.1.1/24的數(shù)據包通過網關192.168.1.1進行路由:

route add -net 196.168.1.0/24 gw 192.168.1.1

2、添加主機路由

route add -host 目標主機地址 網關 [設備]

例如:將單個主機192.168.1.100的數(shù)據包通過網關192.168.1.1進行路由:

route add -host 192.168.1.100 gw 192.168.1.1

3、指定網絡設備

在某些情況下,可能需要指定要使用的網絡設備。例如:

route add -net 192168.1.0/24 gw 192.168.1.1 dev eth0

4、查看路由表

可以使用route -n命令查看當前路由表

route -n

5、刪除路由

如果不再需要路由,可以使用route del命令刪除它:

route del 目標網關 [設備]

總結

route add命令是Linux系統(tǒng)中管理網絡路由的重要工具。通過使用該命令,可以方便地添加、刪除和修改路由條目,以及查看和永久設置路由信息。掌握routeadd命令,可以更好地管理和配置Linux操作系統(tǒng)的網絡連接。

到此這篇關于如何在Linux中route add命令添加路由(Linux route)的文章就介紹到這了,更多相關Linux中route add命令添加路由內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論