解說如何設定Linux電腦的固定IP、閘道器、子網路遮罩。
需要系統版本:Ubuntu 24.04以上。
當Linux電腦連線上網的時候,我們會把它接在數據機或路由器後面。此時電腦的IP通常是透過DHCP取得的區域IP,每次重開機IP可能都會變化。
如果需要做通訊埠轉發跑伺服器服務的話會讓人困擾,所以我們得將目前的區域IP變成固定IP,也就是靜態IP (static IP)。
Linux發行版多半是透過「NetworkManager」或「systemd-networkd」的服務管理網路,Ubuntu使用的Netplan也會尊重NetworkManager端的設定。故,我們將透過NetworkManager附屬工具來設定Linux的固定IP。
1. 如何查看Linux系統IP#
GNOME桌面請點選系統設定 → 連線,點齒輪查看區域IP(IPV4)
KDE Plasma桌面環境可以點選系統右下角「連線」得知區域IP(IPV4)
如果以上都沒辦法,請使用nmcli
指令查看。此指令會印出所有活躍中的網路連線。
區域連線的IP請看「已連線」的乙太網路卡IP,如下圖的enp2s0
的inet4,旁邊192.168.
開頭的就是區域IP。另外,請一併記住route4後面的閘道器位址。
2. 設定固定IP的方式#
我們可以將目前分配到的IP當作日後固定連線的IP,例如我的IP分配到的是192.168.1.105
,以後就用這個IP固定連線。
此處提供三種設定方法,效果都是一樣的,請選擇您覺得最方便的方法。
nmcli指令#
這是NetworkManager附屬的指令工具,不論什麼桌面環境都可以用,也適合SSH模式操作。
- 開啟終端機輸入下述指令,列出所有連線。這裡的例子是修改乙太網路的連線,TYPE會顯示
ethernet
,NAME應該會顯示eth0
之類的。
nmcli con show
# 範例輸出
NAME UUID TYPE DEVICE
eth0 6b5b3d59-3378-42ce-bb30-63da7c6a8230 ethernet enp2s0
- 選取乙太網路連線
eth0
,設定IPV4位址為你想要的位址。IP後面的/24
等同設定子網路遮罩為255.255.255.0
。
nmcli con mod "eth0" ipv4.address "192.168.1.105/24"
- 依照上面取得的資訊,設定閘道器位址。
nmcli con mod "eth0" ipv4.gateway "192.168.1.1"
- 最後將連線方式改為手動,防止DHCP重新分配IP
nmcli con mod "eth0" ipv4.method manual
- 重新啟動連線。
nmcli con up "eth0"
- 再透過指令確認IP是否已經固定。
nmcli
# 範例輸出
enp2s0: 已連線 to eth0
ethernet
ip4 預設
inet4 192.168.1.105/24
route4 192.168.1.0/24 metric 100
route4 default via 192.168.1.1 metric 100
GNOME網路連線#
僅限GNOME桌面環境,例如Ubuntu、Fedora。
點選系統設定 → 連線,點選旁邊的齒輪
將「自動」取消勾選,改為手動連線,填入靜態IP與閘道器,點選套用。
KDE連線編輯器#
僅限KDE Plasma桌面環境使用,例如openSUSE、Kubuntu。
開啟系統設定 → 連線
點選IPV4,將「方法」改為手動。
在下方輸入靜態IP,子網路遮罩會自動帶入。之後點選新增。
點選右下角的套用。