[Linux]如何設置靜態IP位址?

自從將Ubuntu Server 24.04 LTS作業系統建置在VM上後,逐漸導入一些容器和微服務器並使可由其他Client端來連接使用,其中包含AIGC模型和自動化工作流等服務,例如Open-WebUI和n8n。然而,若VM重新開機或路由器因故斷電等等狀態,區網IP位址可能因DHCP機制而變動,進而導致上述容器和微服務器的連結位址也隨著變動,設置靜態IP位址應該是一勞永逸的方式。

以下是在Ubuntu Server 24.04 LTS設置靜態IP位址的實作步驟,相當簡單地解決上述問題,而不同版本的Ubuntu作業系統基本上大同小異,僅是檔案名稱稍微不同。

a.查詢並取得網路卡名稱

設定固定IP前,需先確認網路卡名稱,利用下列指令可知網卡為ens34,對應區網IP為192.168.0.110

bash 复制代码
ip a

b.查詢對應的.yaml檔案

切斷工作路徑到/etc/netplan,查詢是否有對應的.yaml檔案,該.yaml的檔案名稱隨著版本不同而不同,例如在樹莓派 4B安裝的Ubuntu 22.04 desktop的檔案名稱為01-network-manager-all.yaml,而在該虛擬機安裝Ubuntu 22.04 server的檔案名稱為50-cloud-init.yaml

c.編輯.yaml檔案

利用nano編輯50-cloud-init.yaml,如下內容,將固定ip設定為192.168.0.215。

bash 复制代码
sudo nano 50-cloud-init.yaml
bash 复制代码
network:
    ethernets :
        ens34:
            dhcp4: no
            addresses:
                -192.168.0.215/24
            nameservers:
                addresses:
                    -8.8.8.8
                    -8.8.4.4
            routes:
                - to: default
                  via: 192.168.0.1
    version:2

d.啟用設定並確認IP是否已修改

儲存並關閉50-cloud-init.yaml後,執行以下命令以套用新的網路設定,並利用ip a重新查詢IP是否已更換成192.168.0.215

bash 复制代码
sudo netplan apply

ip a

注意事項說明:

  1. dhcp4:設定為no,換言之,關閉DHCP自動分配IP功能,改由取得設定的固定IP。

  2. nameserver代表DNS 伺服器)Domain Name System Servers),用來將網域名稱(如google.com)轉換成 IP 地址,使電腦能夠連接到正確的伺服器。8.8.8.8和8.8.4.4是Google公開的DNS 伺服器,亦可選用其他的公開DNS 伺服器,如下:

3.可利用下列指令取得routes的ip

bash 复制代码
ip r
相关推荐
神筆&『馬良』22 分钟前
Foundation_pose在自己的物体上复现指南:实现任意物体6D位姿检测(利用realsense_D435i和iphone_16pro手机)
目标检测·ubuntu·机器人·视觉检测
70asunflower23 分钟前
Emulation,Simulation,Virtualization,Imitation 的区别?
linux·docker
聆风吟º1 小时前
CANN开源项目实战指南:使用oam-tools构建自动化故障诊断与运维可观测性体系
运维·开源·自动化·cann
NPE~1 小时前
自动化工具Drissonpage 保姆级教程(含xpath语法)
运维·后端·爬虫·自动化·网络爬虫·xpath·浏览器自动化
神梦流1 小时前
GE 引擎的内存优化终局:静态生命周期分析指导下的内存分配与复用策略
linux·运维·服务器
凡人叶枫1 小时前
C++中输入、输出和文件操作详解(Linux实战版)| 从基础到项目落地,避坑指南
linux·服务器·c语言·开发语言·c++
wdfk_prog1 小时前
[Linux]学习笔记系列 -- [drivers][input]serio
linux·笔记·学习
xuhe21 小时前
[全流程详细教程]Docker部署ClawBot, 使用GLM4.7, 接入TG Bot实现私人助理. 解决Docker Openclaw Permission Denied问题
linux·docker·ai·github·tldr
Lsir10110_2 小时前
【Linux】进程信号(下半)
linux·运维·服务器