2.3 网络设置
为保障服务器环境的稳定性与可管理性,建议将网络接口配置为静态IP地址,避免因DHCP租约变更或服务中断导致的连接不可达问题。
[1] 静态IP配置(基于Netplan)
Ubuntu 24.04 LTS 默认使用 Netplan 作为网络配置后端。操作前请注意:
- 接口名称(如示例中的 `enp1s0`)因硬件及固件差异而异,请通过 `ip link show` 或 `ls /sys/class/net/` 命令确认实际接口名;
- 原始云初始化配置文件 `/etc/netplan/50-cloud-init.yaml` 将被重命名备份,以防止后续云平台注入覆盖自定义配置。
执行以下步骤完成配置:
```bash
# 备份默认配置
root@localhost:~# mv /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.yaml.org
# 创建新配置文件
root@localhost:~# vi /etc/netplan/01-netcfg.yaml
```
在编辑器中写入以下YAML格式配置(请根据实际网络拓扑替换占位值):
```yaml
network:
version: 2
ethernets:
enp1s0: # ← 替换为实际接口名
dhcp4: false
addresses: [10.0.0.30/24] # ← 静态IPv4地址及子网前缀长度
routes:
- to: default
via: 10.0.0.1 # ← 默认网关地址
metric: 100 # ← 多网卡环境下路由优先级(值越小优先级越高)
nameservers:
addresses: [10.0.0.10, 10.0.0.11] # ← DNS服务器地址列表
search: [srv.world, server.education] # ← DNS搜索域
dhcp6: false
```
应用配置并验证:
```bash
# 设置配置文件权限(仅root可读写,符合安全基线要求)
root@localhost:~# chmod 600 /etc/netplan/01-netcfg.yaml
# 应用网络配置
root@localhost:~# netplan apply
# 验证接口状态与地址分配
root@localhost:~# ip address show enp1s0
```
预期输出应包含已配置的IPv4地址(如 `inet 10.0.0.30/24`),且无DHCP获取的临时地址残留。
[2] IPv6禁用(可选)
若生产环境明确无需IPv6支持,可通过内核参数全局禁用以减少攻击面并简化排错:
```bash
# 持久化禁用IPv6(写入sysctl配置)
root@localhost:~# echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf
root@localhost:~# sysctl -p
# 验证禁用效果(执行后输出中不应出现 inet6 行)
root@localhost:~# ip -4 address show enp1s0