当前位置:首页 > Linux > 正文

Linux怎么手动设置IP地址?

使用 ifconfigip 命令可临时设置 IP 地址、子网掩码,永久生效需编辑 /etc/network/interfaces (Debian系) 或 /etc/sysconfig/network-scripts/ 下的网卡配置文件 (Red Hat系),设置 IP、子网掩码、网关和 DNS 后重启网络服务。

在Linux系统中手动设置IP地址是网络管理的基础操作,适用于服务器部署、网络调试等场景,以下是详细步骤及注意事项,涵盖主流发行版(Ubuntu、CentOS/RHEL、Debian)的配置方法,操作需管理员权限(sudo),修改前务必备份配置文件。


准备工作

  1. 获取网络参数

    • IP地址:由网络管理员分配(如 168.1.100
    • 子网掩码:常用格式 255.255.0 或 CIDR /24
    • 默认网关:路由器地址(如 168.1.1
    • DNS服务器:如 8.8.8(Google DNS)或本地运营商DNS
    • 网络接口名称:通过 ip link 查看(如 ens33eth0
  2. 备份配置文件

    sudo cp /etc/netplan/*.yaml /etc/netplan/backup.yaml  # Ubuntu
    sudo cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.bak  # CentOS

手动设置IP的方法

方法1:使用 ip 命令(临时生效,重启失效)

# 设置IP和子网掩码
sudo ip addr add 192.168.1.100/24 dev ens33
# 设置默认网关
sudo ip route add default via 192.168.1.1
# 配置DNS(需修改文件)
echo "nameserver 8.8.8.8" | sudo tee -a /etc/resolv.conf

验证:ip addr show ens33ping google.com

方法2:修改配置文件(永久生效)

不同发行版配置文件路径不同:

Linux怎么手动设置IP地址?  第1张

  • Ubuntu (18.04+) 使用 Netplan
    编辑YAML配置文件(如 /etc/netplan/01-netcfg.yaml):

    network:
      version: 2
      renderer: networkd
      ethernets:
        ens33:
          addresses: [192.168.1.100/24]
          routes:
            - to: default
              via: 192.168.1.1
          nameservers:
            addresses: [8.8.8.8, 1.1.1.1]

    应用配置:

    sudo netplan apply
  • CentOS/RHEL (7+) 使用 NetworkManager
    编辑接口配置(如 /etc/sysconfig/network-scripts/ifcfg-ens33):

    DEVICE=ens33
    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=192.168.1.100
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
    DNS1=8.8.8.8
    DNS2=1.1.1.1

    重启网络服务:

    sudo systemctl restart NetworkManager
  • Debian (传统配置)
    编辑 /etc/network/interfaces

    auto ens33
    iface ens33 inet static
      address 192.168.1.100
      netmask 255.255.255.0
      gateway 192.168.1.1
      dns-nameservers 8.8.8.8

    重启服务:

    sudo systemctl restart networking

验证网络连通性

  1. 检查IP配置

    ip addr show ens33  # 确认IP和子网掩码
    ip route show      # 检查网关路由
  2. 测试网络连接

    ping 192.168.1.1        # 测试网关
    ping 8.8.8.8            # 测试外网IP
    ping google.com         # 测试DNS解析

故障排除

  • 网络不通
    • 检查防火墙:sudo ufw status(Ubuntu)或 sudo systemctl status firewalld(CentOS)
    • 确认网线/物理连接正常。
  • DNS解析失败
    验证 /etc/resolv.conf 是否包含正确的DNS服务器。
  • 服务重启失败
    使用 journalctl -xe 查看日志,检查配置文件语法(如YAML缩进)。

安全建议

  1. 使用静态IP绑定关键服务器,避免DHCP租约变化导致服务中断。
  2. 配置完成后,通过SSH多会话测试,防止配置错误导致失联。
  3. 生产环境建议结合MAC地址绑定(DHCP保留IP)增强稳定性。

引用说明:本文参考Linux官方文档(Netplan、NetworkManager)及Red Hat/CentOS系统管理指南,操作前请确认发行版版本,部分命令可能因系统差异需调整。

0