凌峰创科服务平台

Linux服务器如何设置静态IP地址?

在Linux服务器上设置IP地址是网络管理的基础操作,不同Linux发行版(如CentOS、Ubuntu、Debian等)可能采用不同的配置方式,但核心原理一致,以下是详细的IP设置方法,涵盖静态IP、动态IP(DHCP)配置,以及常见问题的排查。

Linux服务器如何设置静态IP地址?-图1
(图片来源网络,侵删)

查看当前网络配置

在设置IP前,需先了解当前网络状态,使用ip addrifconfig命令(需安装net-tools包)查看网络接口信息,包括接口名称(如eth0ens33)、MAC地址、当前IP地址等。

ip addr show

输出示例中,inet字段显示当前IP,BROADCAST等字段标识接口状态。

静态IP配置

静态IP适用于需要固定IP地址的场景,如服务器长期提供服务,配置方法因发行版而异:

基于Systemd的发行版(CentOS 7+、Ubuntu 16.04+)

CentOS/RHEL系统

使用NetworkManagernmcli命令行工具(推荐):

Linux服务器如何设置静态IP地址?-图2
(图片来源网络,侵删)
nmcli con mod "ens33" ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8
nmcli con up "ens33"

参数说明:

  • ipv4.method manual:手动配置静态IP
  • ipv4.addresses:IP地址/子网掩码(如168.1.100/24表示子网掩码为255.255.255.0)
  • ipv4.gateway:默认网关
  • ipv4.dns:DNS服务器

也可通过修改配置文件/etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DEVICE=ens33
ONBOOT=yes

保存后执行systemctl restart network生效。

Ubuntu/Debian系统

修改/etc/netplan/01-netcfg.yaml(文件名可能不同):

network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
      dhcp4: no
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]

应用配置:

netplan apply

传统发行版(CentOS 6、Ubuntu 14.04等)

通过修改/etc/network/interfaces(Ubuntu)或/etc/sysconfig/network-scripts/ifcfg-接口名(CentOS 6),方法与上述类似,但需注意语法差异。

动态IP(DHCP)配置

若服务器通过DHCP自动获取IP,需确保BOOTPROTO=dhcp(CentOS)或dhcp4: yes(Ubuntu Netplan),配置后重启网络服务:

# CentOS
systemctl restart network
# Ubuntu
netplan apply

使用dhclient命令手动触发DHCP请求(需安装dhcp-client包):

dhclient eth0

多IP地址配置

服务器可能需要绑定多个IP到同一接口,

  • CentOS:在ifcfg-ens33中添加IPADDR1NETMASK1等变量,或创建ifcfg-ens33:0文件:
    DEVICE=ens33:0
    IPADDR=192.168.1.101
    NETMASK=255.255.255.0
    ONBOOT=yes
  • Ubuntu:在Netplan配置中添加多个地址:
    addresses:
      - 192.168.1.100/24
      - 192.168.1.101/24

网络服务管理

  • 启动/停止/重启网络服务
    systemctl start/stop/restart network  # CentOS
    systemctl start/stop/restart networking  # Ubuntu
  • 开机自启
    systemctl enable network

配置验证与故障排查

  1. 检查IP配置
    ip addr show ens33
    ping 192.168.1.1  # 测试网关连通性
    ping 8.8.8.8      # 测试外网连通性
  2. 查看网络日志
    journalctl -u network  # CentOS
    journalctl -u networking  # Ubuntu
  3. 常见问题
    • IP冲突:使用arp -a查看局域网内IP占用情况。
    • DNS解析失败:检查/etc/resolv.conf中的DNS配置,或使用nslookup测试域名解析。
    • 服务未启动:确认networknetworking服务状态为active

网络配置工具对比

工具 适用系统 优点 缺点
nmcli CentOS 7+, Ubuntu 命令行友好,支持图形化管理 参数较多,需学习
Netplan Ubuntu 18.04+ YAML配置简洁,支持多后端 CentOS需额外安装
ifcfg文件 传统Linux 兼容性好,直观 文件分散,管理复杂

相关问答FAQs

Q1: 修改IP配置后无法联网,如何快速排查?
A: 首先检查ip addr确认IP是否生效,然后ping网关和外网IP,若网关不通,检查网关配置;若外网不通,检查DNS和防火墙规则(firewall-cmd --list-allufw status),最后查看系统日志(journalctl -u network)定位错误。

Q2: 如何为Linux服务器配置双网卡绑定(Bonding)以提高可靠性?
A: 双网卡绑定需修改内核模块加载配置(/etc/modprobe.d/bonding.conf),添加alias bond0 bonding,并在网络配置文件中定义Bond接口(如ifcfg-bond0),设置BONDING_OPTS="mode=1 miimon=100"(模式1为active-backup),重启网络服务后,两块物理网卡将共享一个IP地址,实现冗余。

分享:
扫描分享到社交APP
上一篇
下一篇