如何在 Linux 中設置默認網關

已發表: 2022-06-25
顯示 Linux 命令行的筆記本電腦。
fatmawati achmad zaenuri/Shutterstock

對 Internet 或任何其他網絡的訪問由默認網關管理。 我們將解釋什麼是默認網關,以及如何在您的 Linux 計算機上設置和更改它。

默認網關

您家中所有連接到互聯網的設備,例如筆記本電腦、台式電腦、手機、平板電腦和智能設備,實際上都連接到您的局域網 (LAN)。

因為它們在同一個網絡上,所以這些設備可以在需要時相互通信。 大多數人都樂於做自己的事情並獨立操作,但如果你有一台打印機,例如,或一個網絡連接的存儲設備,那麼你的一些其他設備將希望能夠連接到它們。

您所有支持網絡的設備都通過 Wi-Fi 或網絡電纜連接到您的路由器。 您的路由器是您網絡的流量控制器。 它將網絡流量從設備引導到設備。 來自每個設備的流量進入路由器,路由器確定數據將發送到哪個設備,並將其發送到目標設備。

互聯網如何運作?
相關互聯網如何運作?

您的路由器是網絡中唯一實際連接到 Internet 的部分。 其他一切都與您的路由器通信,路由器將連接到互聯網。 路由器接收來自基於 Internet 的服務(例如郵件服務器或網站)的響應。 然後,它將它們轉發到網絡內的適當設備。

因此,除了引導網絡周圍的流量外,您的路由器還控制進出互聯網的數據流。 它是一個流量控制器,也是通往其他網絡的網關。 對於大多數人來說,他們唯一關心的其他網絡是互聯網。

發送流量的設備稱為始發設備。 在較大的網絡上,始發設備決定使用哪個路由器。 如果它沒有指定首選項——或者如果只有一個路由器——則使用默認網關。 在大多數家庭網絡中,通常只有一個路由器包含一個網關。

配置默認網關

通常,網關是在安裝操作系統時配置的。 有時,您可能會擁有一台已在不同網絡上使用過的計算機,您需要在該網絡上重新配置網關,或者您可能需要將特定計算機指向不同的網關。 也許您有一個具有不同子網的網絡,並且您有一個充當中介的網關。

如何在 Linux 上使用 ip 命令
相關如何在 Linux 上使用 ip 命令

在 Linux 中使用路由的首選方法是通過ip命令。 ifconfig等其他命令被視為已棄用。

使用ip命令可以查看默認網關設置是什麼,並且可以添加或刪除默認網關。

發現默認網關

要查看在 Linux 計算機上配置的路由,請使用帶有route對象的ip命令。 您可以添加list選項,但由於list是默認操作,因此可以省略。 並且為了進一步節省擊鍵,可以使用“r”來代替“route”這個詞。

 ip路由列表
知識產權

使用 ip 命令找出默認網關

其中一條路線將包含“默認”一詞。 這是到默認網關的默認路由。

有時可以自動添加和刪除路線。 當我們打開 VPN 連接時,在同一台計算機上使用ip r命令會產生不同的結果。 這將為該網絡流量創建一個專用隧道。

使用專用隧道路由

我們可以看到新條目的“dev”設備名稱為“tun0”,表示隧道零。

如果您設置了許多路由,則使用grep提取默認路由會更容易。

 知識產權 | grep 默認

使用 grep 隔離默認網關

相關:什麼是 VPN 隧道,它是如何工作的?

刪除默認網關

實際上,我們正​​在做的是刪除將流量引導到默認網關的路由。 我們可以將ip命令與route對象和delete選項一起使用。 要更改路由表,我們需要使用sudo 。 我們將刪除默認路由,然後列出路由。

 sudo ip route 刪除默認值
知識產權

刪除默認網關

默認網關條目已被刪除。

添加默認網關

要添加默認網關,我們使用帶有route對象的add選項。

我們將添加一個名為“default”的路由,將流量定向到位於 192.168.1.1 的路由器,我們將通過網絡接口“enp0s3”發送該流量。

 sudo ip route add default via 192.168.1.1 dev enp0s3
 知識產權

添加默認網關

使路由更改持久化

到目前為止,我們所做的更改會立即生效,但它們無法在計算機重新啟動後繼續存在。 要使您的更改永久化,需要修改一些配置文件。 這些技術因 Linux 發行版和 Linux 發行版而異。

Ubuntu

在 Ubuntu 中,您可以使用netplan命令和配置文件。

 sudo gedit /etc/netplan/01-network-manager-all.yaml 

在 Ubuntu 上編輯網絡管理器配置文件

將以“ethernets”開頭的文本添加到配置文件中。 請注意,空格很重要。 確保每個連續的縮進級別是兩個空格,並註意在“- to:”行中包含連字符“ - ”。 這將在 192.168.1.1 設置到路由器的默認路由。 將此替換為您的網絡的 IP 地址。

網絡管理器配置文件的內容

保存文件並關閉編輯器。

要應用更改,請使用帶有apply選項的netplan命令:

 須藤網絡計劃申請

應用網絡管理器配置文件中的更改

靜默返回命令行意味著更改已被接受。 如果要在應用更改之前對其進行測試,請使用帶有try選項的netplan命令。

 須藤網絡計劃嘗試

使用網絡管理器配置設置進行試運行

這使您有時間測試您的更改。 按“Enter”鍵提交更改。 如果您在兩分鐘內未按“Enter”鍵,則該過程將超時,您的編輯將不會被應用。 它們仍在配置文件中,但尚未應用於您的網絡設置。

軟呢帽

在 Fedora 中,我們需要編輯“/etc/sysconfig/network”文件,然後添加或編輯“GATEWAY=”行。

 須藤 gedit /etc/sysconf/networks 

在 Fedora 上編輯全局網絡設置文件

該文件可能為空,也可能包含其他設置。 找到並編輯“GATEWAY=”行或添加它。 將 IP 地址替換為適合您網絡的 IP 地址。

網絡配置文件中的 GATEWAY= 行

保存文件並關閉編輯器。

曼扎羅

使用 Manjaro,我們需要編輯或創建一個以您為其設置默認網關的網絡接口命名的文件。 該文件的擴展名為“.network”,文件名與網絡接口相同。

首先,我們需要停止網絡管理器守護進程:

 sudo systemctl stop NetworkManager.service 

停止 Manjaro 上的網絡管理器守護進程

我們可以使用ip addr命令找到接口的名稱:

 ip地址

檢查 IP 地址

我們的接口名稱是“enp0s3”。

查找網絡接口名稱

我們需要在下一個命令中使用它。

 sudo gedit /etc/systemd/network/enp0s3.network 

編輯特定於接口的網絡配置文件

文件中可能已經有條目,或者它可能完全為空。 確保這兩行出現在文件中。 替換網關的 IP 地址和網絡接口的名稱以適合您的計算機和網絡。

特定於接口的網絡配置文件中的 Gateway= 行

保存文件並關閉編輯器,然後重新啟動網絡管理器守護程序。

 sudo systemctl start NetworkManager.service 

啟動網絡管理器守護進程

你可能不會經常改變它

但是當你需要時,你會發現它很容易。 使更改在重新啟動後持續存在稍微複雜一些,但仍然不太困難。

相關:如何在任何計算機、智能手機或平板電腦上查找路由器的 IP 地址