1. 为什么你的 Ubuntu 服务器总'掉线'?从动态 IP 到静态 IP 的转变
不知道你有没有遇到过这种情况:在公司内网搭了个开发服务器,用着用着突然就 ping 不通了。重启一下网络服务,嘿,又能连上了,但过一阵子又不行。或者,你正在用 SSH 连着一台 Ubuntu 机器部署服务,一个网络波动,连接就断了,再连上去发现 IP 地址变了,之前配置的一些服务访问地址全得跟着改。这种'薛定谔的连接'状态,真是让人头疼。
我刚开始用 Ubuntu 做服务器的时候,也经常被这个问题困扰。后来才明白,问题的根源往往出在 IP 地址上。默认情况下,Ubuntu Desktop 和 Server 的某些安装方式会使用 DHCP(动态主机配置协议)来获取 IP。这就像你去图书馆,每次坐的位置都不固定(动态 IP),今天坐 A3,明天可能就变成 B7 了。对于个人电脑上网,这没问题,但对于服务器、NAS、或者需要稳定远程访问的开发机来说,这就是灾难。你需要一个'固定工位'(静态 IP),这样无论何时,你都知道它在哪里,其他服务(比如数据库连接、API 调用、文件共享)才能稳定地找到它。
所以,给 Ubuntu 配置静态 IP,是网络稳定性的第一步,也是最基础、最关键的一步。这不仅仅是改个地址那么简单,它意味着你的机器在网络世界里有了一个固定的、可预期的身份。无论是后续做端口映射、搭建内网服务,还是进行服务间的通信,一个不变的 IP 都是基石。在 Ubuntu 22.04 里,这个任务主要由一个叫Netplan的工具来完成。它可能看起来比老牌的 /etc/network/interfaces 配置文件要陌生一点,但用熟了你会发现,它更清晰、更现代化,尤其是处理多网卡和复杂网络拓扑时,优势明显。
接下来,我就带你一步步搞定它,从认识你的网卡开始,到写出完美的 Netplan 配置,最后再解决 DNS 这个'寻址'问题,让你服务器的网络稳如磐石。
2. 动手之前:摸清家底,找到你的网络接口
配置网络就像给人写信,你得知道收信人的准确地址。在配置静态 IP 之前,我们必须先搞清楚 Ubuntu 系统里那块负责联网的硬件——网络接口卡(Network Interface Card,简称网卡)——叫什么名字。在 Linux 里,网卡不叫'本地连接'或者'以太网',它们有一串看起来有点奇怪的名字,比如 enp0s3、ens33 或者 eth0。
怎么找到它呢?很简单,打开你的终端。我习惯用快捷键 Ctrl + Alt + T。然后输入下面这个命令:
ip addr show
或者用它的简写:
ip a
回车之后,你会看到一串输出。别被吓到,我们只关心其中几行。你会看到类似这样的信息:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet host lo valid_lft forever preferred_lft forever inet6 :: host valid_lft forever preferred_lft forever : enp0s3: BROADCAST,MULTICAST,UP,LOWER_UP mtu qdisc fq_codel state UP qlen linkether :::xx:xx:xx brd ff:ff:ff:ff:ff:ff inet brd noprefixroute enp0s3 valid_lft sec preferred_lft sec inet6 fe80::a00:ff:fexx:xxxx link valid_lft forever preferred_lft forever

