Linux 修改主机名与配置静态 IP:服务器上线前的标准操作

为什么要改主机名

当你同时管理多台服务器时,每台机器显示的默认主机名(比如 localhostubuntu-default)根本分不清谁是谁。改个有意义的名字——比如 web-01db-masterredis-cache——能让你在终端里一眼识别当前操作的是哪台机器,避免在错误的服务器上执行危险命令。

至于静态 IP,对于服务器来说更是刚需。DHCP 分配的 IP 可能会变,一旦变了,你的域名解析、防火墙规则、监控配置全得改。静态 IP 确保网络配置稳定可靠。

修改主机名

临时修改(立即生效,重启失效)

hostnamectl set-hostname web-01
使用 hostnamectl 修改主机名
使用 hostnamectl 设置新的系统主机名

重新登录终端就能看到新的主机名了。

永久修改(CentOS 7+ / Ubuntu 16.04+)

其实上面的 hostnamectl 命令已经是永久修改了,它会同时更新 /etc/hostname。你只需要再修改 /etc/hosts 让本机解析也对应上:

vi /etc/hosts

找到 127.0.1.1(Ubuntu)或 127.0.0.1(CentOS)那行,把后面的旧主机名改成新的:

# 修改前
127.0.1.1   old-hostname

# 修改后
127.0.1.1   web-01

传统方式(适用于所有 Linux 发行版)

如果 hostnamectl 不可用,可以直接编辑配置文件:

# CentOS
vi /etc/hostname
# 写入:web-01

# 同时修改 /etc/hosts 中的对应条目

修改后重启生效:reboot

配置静态 IP

不同发行版的网络配置方式不太一样,下面分别介绍主流的几种。

Ubuntu 18.04+ / 20.04 / 22.04(Netplan)

Ubuntu 新版本使用 Netplan 管理网络,配置文件在 /etc/netplan/ 目录下:

# 查看当前配置文件
ls /etc/netplan/
# 通常叫 00-installer-config.yaml 或类似名字

编辑配置文件:

vi /etc/netplan/00-installer-config.yaml

修改为静态 IP 配置:

Netplan 配置静态 IP
通过 Netplan YAML 配置文件设置静态 IP 地址
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4

注意:YAML 文件对缩进非常敏感,必须用空格(不能用 Tab),每层缩进 2 个空格。

应用配置:

netplan apply

如果报错,先用 netplan --debug apply 看详细日志。

CentOS 7 / RHEL 7(NetworkManager)

# 查看当前网卡名称
nmcli device status

假设网卡叫 eth0,设置静态 IP:

nmcli connection modify eth0 \
  ipv4.method manual \
  ipv4.addresses 192.168.1.100/24 \
  ipv4.gateway 192.168.1.1 \
  ipv4.dns "8.8.8.8 8.8.4.4"

重启网络连接:

nmcli connection up eth0

CentOS 8+ / RHEL 8+ / Rocky / AlmaLinux(NetworkManager + keyfile)

配置方式和 CentOS 7 类似,也是用 nmcli

nmcli connection modify eth0 \
  ipv4.method manual \
  ipv4.addresses 192.168.1.100/24 \
  ipv4.gateway 192.168.1.1 \
  ipv4.dns "8.8.8.8 8.8.4.4"

nmcli connection up eth0

传统方式:直接编辑网卡配置文件

适用于 CentOS 6 及更老的系统:

vi /etc/sysconfig/network-scripts/ifcfg-eth0

修改为:

TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4

重启网络:

systemctl restart network

验证配置

修改完成后,用以下命令验证:

# 查看主机名
hostname
hostname -f

# 查看 IP 地址
ip addr show eth0

# 测试网络连通性
ping 8.8.8.8
ping www.baidu.com

如果 ping 8.8.8.8 通但 ping www.baidu.com 不通,说明 DNS 配置有问题,检查 /etc/resolv.conf

常见问题

修改 IP 后 SSH 连不上

这是最常见的坑——你改了服务器的 IP,但本地的 SSH 配置(或 known_hosts)还是旧的 IP。如果是远程操作,建议:

  1. 先保留旧配置,确保新 IP 也能用
  2. 用新 IP 开一个新 SSH 连接测试
  3. 确认没问题后再关闭旧连接

Netplan apply 报错

最常见的错误是 YAML 缩进不对。用 netplan --debug apply 看报错位置。也可以用 netplan try——它会先尝试应用新配置,如果网络断了会自动回滚。

多网卡怎么配

如果服务器有多块网卡,每块网卡都需要单独配置。在 Netplan 中:

Netplan 配置静态 IP
通过 Netplan YAML 配置文件设置静态 IP 地址
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
    eth1:
      addresses: [10.0.0.100/24]

总结

修改主机名和静态 IP 是服务器上线前的标准操作,记住这几个命令:

hostnamectl set-hostname web-01        # 改主机名
vi /etc/hosts                         # 同步 hosts
nmcli connection modify eth0 ...      # CentOS 设静态 IP
netplan apply                         # Ubuntu 应用网络配置

做好这些基础配置,后续的管理和排障都会顺畅很多。

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享