Linux:如何在 Ubuntu 中設置靜態 IP 地址?
您的家庭網絡使用 IP 地址在設備之間路由數據,有時當您重新連接到網絡時,設備的地址可能會發生變化。以下是如何為您的 Ubuntu Linux 計算機提供一個在重新啟動後仍然存在的永久 IP 地址。
動態和靜態 IP 地址
家庭網絡上的所有東西,無論是有線連接還是 Wi-Fi,都有一個 IP 地址。IP代表互聯網協議。IP 地址是由三個點分隔的四個數字組成的序列。每個 IP 地址在該網絡中都是唯一的。
IP 地址的作用類似於數字標籤。您的路由器使用這些標籤在正確的設備之間發送數據。通常您的路由器會分配 IP 地址。它知道哪些 IP 地址正在使用,哪些是免費的。當新設備加入網絡時,它會請求一個 IP 地址,而路由器會分配一個未使用的 IP 地址。這稱為 DHCP 或動態主機配置協議。
當設備重新啟動或關閉並再次打開時,它可能會再次獲得其舊 IP 地址,或者可能會被分配一個新 IP 地址。這對於 DHCP 來說是正常的,不會影響您網絡的正常運行。但是,如果您有一台服務器或其他必須能夠通過其 IP 地址訪問的計算機,如果其 IP 地址無法在斷電或重新啟動時倖存下來,您就會遇到問題。
將特定 IP 地址附加到計算機稱為靜態 IP 地址分配。顧名思義,靜態 IP 地址不是動態的,即使計算機關閉再打開也不會改變。
在 Ubuntu 中設置靜態 IP 地址
我們在 Ubuntu 上演示了這種技術,但它應該適用於任何 Linux 發行版。網絡管理器工具於 2004年nmcli
發布,因此它應該存在於幾乎所有標準發行版中。
讓我們看一下計算機上已經存在的網絡連接。我們使用connection
帶有參數的命令show
。
nmcli connection show
這將顯示有關每個連接的一些信息。我們只配置了一個連接。
輸出比終端窗口寬。這是顯示給我們的信息。
NAME UUID TYPE DEVICE
netplan-enp0s3 1eef7e45-3b9d-3043-bee3-fc5925c90273 ethernet enp0s3
- 名稱:我們的網絡連接稱為“netplan-enp0s3”。
- UUID:Linux 用於在內部引用此連接的通用唯一標識符。
- 類型:這是以太網連接。
- 設備:此連接使用網絡接口“enp0s3”。這是此計算機中唯一的網卡。
我們可以使用ip
該命令找出這台計算機正在使用的 IP 地址。
ip addr
在輸出中,我們看到條目“enp0s3”,其當前 IP 地址為 192.168.86.117。“/24”是表示此網絡使用子網掩碼 255.255.255.0 的簡寫方式。記下這個數字,我們稍後會用到。
我們需要選擇要設置為靜態 IP 地址的 IP 地址。顯然,您不能使用已被其他設備使用的 IP 地址。一種安全的方法是使用您當前的 IP 地址。我們確定沒有其他人在使用此 IP 地址。
如果我們想使用不同的 IP 地址,請嘗試 ping 它。我們將檢查 IP 地址 192.168.86.128 是否被使用。如果您網絡上的所有其他設備都在使用 DHCP,並且您沒有收到ping
對該命令的響應,則可以安全使用。
ping 192.168.86.128
即使其他設備之前使用過這個 IP 地址,它也會在下次啟動時被分配一個新的 IP 地址。沒有響應 ping 請求。我們準備好繼續設置 192.168.86.128 作為我們新的靜態 IP 地址。
我們還需要知道您的默認網關的 IP 地址,這通常是您的寬帶路由器。我們可以使用ip
命令和route
選項找到它,我們可以將其縮寫為“r”。
ip r
以“default”開頭的條目是到默認網關的路由。它的 IP 地址是 192.168.86.1。現在我們可以開始發出命令來設置我們的靜態 IP 地址。
第一個命令很長。
sudo nmcli con add con-name "static-ip"ifname enp0s3 type ethernet ip4 192.168.86.128/24 gw4 192.168.86.1
從小部分來看,它並不像聽起來那麼糟糕。我們使用sudo
. 論據nmcli
:
- con:“連接”的縮寫。
- add:我們要添加一個連接。
- con-name “static-ip”:我們的新連接的名稱將是“static-ip”。
- ifname enp0s3:連接將使用網絡接口“enp0s3”。
- 輸入以太網:我們正在創建一個以太網連接。
- ip4 192.168.86.128/24:無類域間路由表示法中的 IP 地址和子網掩碼。在這裡,您需要使用您之前寫下的數字。
- gw4 192.168.86.1:我們要用於此連接的網關的 IP 地址。
為了使我們的連接成為有效的連接,我們需要提供更多細節。我們的連接已經存在,所以我們不添加任何東西,我們更改設置,所以我們使用mod
一個參數。我們正在更改的設置是 IPv4 DNS 設置。8.8.8.8 是 Google 的主要公共 DNS 服務器的 IP 地址,8.8.4.4 是 Google 的備用 DNS 服務器。
請注意,“ipv4”中有一個“v”。在前面的命令中,語法是“ip4”,沒有“v”。更改設置時應使用字母“v”,而不是添加連接時。
nmcli con mod "static-ip"ipv4.dns "8.8.8.8,8.8.4.4"
要使我們的 IP 地址靜態化,我們需要更改 IP 地址獲取其值的方式。默認值為“自動”,這是 DHCP 的設置。我們需要將其設置為“手動”。
nmcli con mod "static-ip"ipv4.method manual
現在我們可以開始或“啟動”我們的新連接。
nmcli con up "static-ip"ifname enp0s3
我們還沒有收到任何錯誤報告,這很好。讓我們nmcli
再看看我們的聯繫。
nmcli con show
結果如下:
NAME UUID TYPE DEVICE
static-ip da681e18-ce9c-4456-967b-63a59c493374 ethernet enp0s3
netplan-enp0s3 1eef7e45-3b9d-3043-bee3-fc5925c90273 ethernet --
我們的靜態 IP 連接處於活動狀態,並且正在使用設備“enp0s3”。現有的“netplan-enp0s3”連接不再與物理網絡接口相關聯,因為我們將“enp0s3”拉出。
使用 GNOME 桌面和應用程序
單擊系統托盤最右端的圖標以顯示系統菜單,然後單擊有線菜單項。如果您使用的是無線連接,請改為單擊您的 Wi-Fi 網絡的名稱。
將顯示可用的連接。點表示正在使用的內容。我們的新連接是活動連接。單擊有線網絡設置或 Wi-Fi 設置菜單項。
顯示有關活動連接的信息。我們可以看到我們的新“靜態 IP”連接具有我們為其設置的 IP 地址、默認網關和 DNS 服務器。您可以通過直接單擊其名稱在可用連接之間切換。
點擊齒輪圖標進入“靜態IP”連接設置。
將打開一個對話框。單擊“IPv4”選項卡。
由於我們已將新 IP 地址設置為靜態,因此選擇了手動單選按鈕。您可以通過選擇“自動 (DHCP)”單選按鈕並單擊綠色的“應用”按鈕將其更改回 DHCP。
要使用設置應用程序創建新連接,請單擊+
有線連接列表上方網絡頁面上的“”圖標。
將出現一個對話框。我們需要為此連接提供一個名稱。
我們稱我們的新連接為“static-2”。單擊“IPv4”選項卡。
選擇手動單選按鈕並填寫地址、網絡掩碼和網關字段。還要填寫 DNS 字段,然後單擊綠色的應用按鈕。注意 DNS 記錄之間的逗號。
我們的新連接列在有線連接面板中。
連接性
使用nmcli
命令或 GNOME 桌面和應用程序,您可以非常輕鬆快速地在網絡連接之間切換。
選擇連接配置文件並根據需要在它們之間移動比擁有一個您不斷編輯的配置文件更方便。如果您正在編輯或添加的連接出現問題,您始終可以恢復到現有連接之一。
發佈留言