詳解如何在Linux上添加路由
在添加路由之前,我們需要先了解一些基本概念。
基本概念
什么是路由?
路由是指確定數(shù)據(jù)包從源節(jié)點(diǎn)到目的節(jié)點(diǎn)的路徑的過(guò)程。這個(gè)過(guò)程涉及到在網(wǎng)絡(luò)中的多個(gè)節(jié)點(diǎn)之間選擇最佳路徑,以確保數(shù)據(jù)包的有效傳輸。
路由表
路由表是一個(gè)數(shù)據(jù)結(jié)構(gòu),用于存儲(chǔ)路由信息。在Linux系統(tǒng)中,路由表由內(nèi)核維護(hù),用于決定數(shù)據(jù)包的下一跳路由。
路由類(lèi)型
在Linux中,有幾種常見(jiàn)的路由類(lèi)型:
- 靜態(tài)路由: 由管理員手動(dòng)配置的路由,不會(huì)自動(dòng)更新。
- 動(dòng)態(tài)路由: 由路由協(xié)議動(dòng)態(tài)學(xué)習(xí)和更新的路由。
查看當(dāng)前路由信息
在添加新路由之前,我們需要先查看當(dāng)前系統(tǒng)的路由表,以便了解當(dāng)前的網(wǎng)絡(luò)配置情況。
使用 ip route 命令查看路由表
在終端中輸入以下命令可以查看當(dāng)前系統(tǒng)的路由表:
ip route

這會(huì)列出系統(tǒng)中所有的路由信息,包括目的地址、網(wǎng)關(guān)和接口等。
使用 route 命令查看路由表
route 命令也可以用來(lái)查看路由表:
route -n

這個(gè)命令的輸出與 ip route 類(lèi)似,提供了路由表的詳細(xì)信息。
理解路由表的輸出
查看路由表時(shí),可以理解以下幾個(gè)重要的列:
- 目標(biāo)地址: 要到達(dá)的目標(biāo)網(wǎng)絡(luò)或主機(jī)的IP地址。
- 網(wǎng)關(guān): 下一跳的IP地址,即數(shù)據(jù)包到達(dá)目標(biāo)地址時(shí)需要經(jīng)過(guò)的路由器或網(wǎng)關(guān)。
- 接口: 數(shù)據(jù)包從哪個(gè)網(wǎng)卡出去。
添加路由
一旦我們了解了當(dāng)前的路由配置,就可以開(kāi)始添加新的路由了。
使用 ip route add 命令添加臨時(shí)路由
要添加新的路由,可以使用 ip route add 命令。以下是該命令的基本語(yǔ)法:
ip route add <目標(biāo)網(wǎng)絡(luò)> via <下一跳地址> dev <出口網(wǎng)卡>
<目標(biāo)網(wǎng)絡(luò)>: 目標(biāo)網(wǎng)絡(luò)的IP地址及子網(wǎng)掩碼,例如192.168.1.0/24。<下一跳地址>: 數(shù)據(jù)包傳輸?shù)侥繕?biāo)網(wǎng)絡(luò)時(shí)的下一跳地址。<出口網(wǎng)卡>: 數(shù)據(jù)包傳輸?shù)侥繕?biāo)網(wǎng)絡(luò)時(shí)的出口網(wǎng)卡。
例如,要將數(shù)據(jù)包發(fā)送到目標(biāo)網(wǎng)絡(luò) 192.168.2.0/24,下一跳地址為 192.168.1.1,出口網(wǎng)卡為 eth0,可以執(zhí)行以下命令:
ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0
使用 ip route del 命令刪除路由
如果需要?jiǎng)h除已添加的路由,可以使用 ip route del 命令。以下是該命令的基本語(yǔ)法:
ip route del <目標(biāo)網(wǎng)絡(luò)>
例如,要?jiǎng)h除之前添加的路由到目標(biāo)網(wǎng)絡(luò) 192.168.2.0/24,可以執(zhí)行以下命令:
ip route del 192.168.2.0/24
永久保存路由配置
上述方法添加的路由是臨時(shí)的,系統(tǒng)重啟后會(huì)失效。如果需要永久保存路由配置,可以將路由信息添加到網(wǎng)絡(luò)配置文件中。
在大多數(shù)Linux系統(tǒng)中,網(wǎng)絡(luò)配置文件位于 /etc/network/interfaces 或 /etc/sysconfig/network-scripts 目錄下。你可以編輯這些文件,將路由信息添加到文件中。
例如,在 /etc/network/interfaces 文件中添加一行類(lèi)似于以下內(nèi)容的配置:
up ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0
使用 nmcli 在Linux上添加路由
除了使用傳統(tǒng)的命令行工具之外,如 ip route add,Linux 還提供了 NetworkManager 命令行工具 nmcli,用于管理網(wǎng)絡(luò)配置,包括添加路由。
確認(rèn) NetworkManager 服務(wù)狀態(tài)
在使用 nmcli 之前,首先需要確認(rèn) NetworkManager 服務(wù)是否正在運(yùn)行??梢允褂靡韵旅顧z查服務(wù)狀態(tài):
sudo systemctl status NetworkManager
如果服務(wù)未運(yùn)行,可以使用以下命令啟動(dòng)它:
sudo systemctl start NetworkManager
使用 nmcli 添加路由
添加臨時(shí)路由
要添加臨時(shí)路由,可以使用 nmcli 的 connection modify 命令。以下是添加臨時(shí)路由的基本語(yǔ)法:
sudo nmcli connection modify <連接名稱(chēng)> +ipv4.routes "<目標(biāo)網(wǎng)絡(luò)>/<子網(wǎng)掩碼> <下一跳地址>"
<連接名稱(chēng)>: 要添加路由的網(wǎng)絡(luò)連接的名稱(chēng)。<目標(biāo)網(wǎng)絡(luò)>/<子網(wǎng)掩碼>: 要添加路由的目標(biāo)網(wǎng)絡(luò)和子網(wǎng)掩碼。<下一跳地址>: 數(shù)據(jù)包傳輸?shù)侥繕?biāo)網(wǎng)絡(luò)時(shí)的下一跳地址。
例如,要將數(shù)據(jù)包發(fā)送到目標(biāo)網(wǎng)絡(luò) 192.168.2.0/24,下一跳地址為 192.168.1.1,可以執(zhí)行以下命令:
sudo nmcli connection modify "Wired Connection 1" +ipv4.routes "192.168.2.0/24 192.168.1.1"
永久保存路由配置
要將添加的路由配置永久保存,可以使用 nmcli 的 connection modify 命令,并在后面加上 --persistent 選項(xiàng)。這將在網(wǎng)絡(luò)配置文件中添加路由信息,以便在系統(tǒng)重新啟動(dòng)后仍然有效。
sudo nmcli connection modify "Wired Connection 1" +ipv4.routes "192.168.2.0/24 192.168.1.1" --persistent
檢查路由配置
你可以使用 nmcli 命令來(lái)檢查添加的路由配置,確保路由已正確添加:
nmcli connection show "Wired Connection 1"
這將顯示與連接相關(guān)的詳細(xì)信息,包括添加的路由信息。
以上就是詳解如何在Linux上添加路由的詳細(xì)內(nèi)容,更多關(guān)于Linux添加路由的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Linux統(tǒng)計(jì)目錄下文件個(gè)數(shù)的常見(jiàn)命令總結(jié)
在?Linux?系統(tǒng)中,常常需要了解某個(gè)目錄中包含多少文件,這不僅有助于管理文件,也能夠幫助我們分析目錄結(jié)構(gòu)、存儲(chǔ)空間的使用情況,下面我們就來(lái)看看有哪些方法吧2025-11-11
centos6超20TB磁盤(pán)的分區(qū)格式化的示例代碼
這篇文章主要介紹了centos6超20TB磁盤(pán)的分區(qū)格式化的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
Linux中替換某個(gè)目錄下所有文件中的特定字符串的方法
這篇文章主要介紹了在Linux中使用find和sed命令進(jìn)行批量字符串替換的方法,包括基礎(chǔ)用法、安全用法、進(jìn)階場(chǎng)景和安全操作流程,覆蓋了從基礎(chǔ)字符串替換到復(fù)雜場(chǎng)景的詳細(xì)步驟,并提供了示例,需要的朋友可以參考下2025-12-12
重啟寶塔面板后提示-ModuleNotFoundError: No module named ''geventwebso
這篇文章主要介紹了重啟寶塔面板后提示-ModuleNotFoundError: No module named 'geventwebsocket',本文給出了解決方法,需要的朋友可以參考下2019-11-11

