Linux如何设置IP地址?详细步骤方法有哪些?

Linux系统中设置IP地址是网络配置的基础操作,无论是服务器部署、开发环境搭建还是网络故障排查,都需要掌握这一技能,IP地址的设置分为临时配置和永久配置两种方式,前者重启后失效,适合临时测试;后者写入系统配置文件,重启后依然生效,不同Linux发行版(如Debian/Ubuntu、CentOS/RHEL等)的配置方法存在差异,需根据系统类型选择对应方案。

如何给linux设置ip地址吗

临时设置IP地址(重启后失效)

临时配置通过命令行直接修改内核网络参数,无需编辑配置文件,适合快速测试或临时调整网络,常用工具为ifconfig(传统工具)和ip(新一代推荐工具,功能更强大)。

使用ip命令设置IP地址

ip命令是Linux网络配置的核心工具,隶属于iproute2包,现代Linux系统默认安装。
步骤如下:
(1)查看当前网络接口
首先确认网络接口名称(如eth0ens33等),命令如下:

ip addr show

输出会列出所有接口,例如2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000,其中eth0即为接口名。

(2)为接口分配IP地址和子网掩码
使用ip addr add命令,格式为ip addr add <IP地址>/<子网掩码位数> dev <接口名>,为eth0设置IP地址168.1.100,子网掩码255.255.0(对应CIDR表示/24):

ip addr add 192.168.1.100/24 dev eth0

(3)激活网络接口
若接口处于关闭状态(state DOWN),需先激活:

ip link set eth0 up

(4)配置默认网关
IP地址仅用于本地网络通信,访问外网需配置网关,命令格式为ip route add default via <网关IP>

ip route add default via 192.168.1.1

(5)验证配置
通过ip addr show查看IP是否分配成功,ip route show查看网关是否添加,并用ping测试连通性:

ping 192.168.1.1  # 测试网关
ping www.baidu.com  # 测试外网(需DNS配合)

(6)删除临时IP地址
若需撤销配置,使用ip addr del命令:

如何给linux设置ip地址吗

ip addr del 192.168.1.100/24 dev eth0

使用ifconfig命令设置IP地址

ifconfig是传统网络工具,部分旧系统仍支持,但新版本Linux已逐渐弃用(需安装net-tools包)。
步骤如下:
(1)查看网络接口ifconfig
(2)设置IP地址和子网掩码ifconfig <接口名> <IP地址> netmask <子网掩码>

ifconfig eth0 192.168.1.100 netmask 255.255.255.0

(3)激活接口ifconfig eth0 up
(4)配置网关route add default gw <网关IP>

route add default gw 192.168.1.1

(5)验证配置ifconfig查看IP,route -n查看网关,ping测试连通性。

永久设置IP地址(重启后生效)

永久配置需修改网络配置文件,不同发行版的文件路径和格式差异较大,需分类说明。

Debian/Ubuntu系统

Debian/Ubuntu早期版本使用/etc/network/interfaces文件,新版(Ubuntu 18.04+)推荐Netplan(基于YAML格式的配置工具)。

(1)传统方法(/etc/network/interfaces,适用于Ubuntu 16.04及以下、Debian旧版)

步骤如下:

  • 编辑配置文件:sudo nano /etc/network/interfaces
  • 修改或添加以下内容(以静态IP为例):
    auto eth0  # 开机自动激活接口
    iface eth0 inet static  # static表示静态IP,dhcp表示动态获取
    address 192.168.1.100  # IP地址
    netmask 255.255.255.0  # 子网掩码
    gateway 192.168.1.1    # 网关
    dns-nameservers 8.8.8.8 8.8.4.4  # DNS服务器(多个用空格分隔)
  • 保存后重启网络服务:sudo systemctl restart networking
  • 验证配置:ip addr show eth0ping www.baidu.com

(2)Netplan方法(Ubuntu 18.04+、Debian 10+)

Netplan配置文件位于/etc/netplan/目录,文件名通常为01-netcfg.yaml50-cloud-init.yaml(需以实际文件名为准)。
步骤如下:

  • 编辑配置文件:sudo nano /etc/netplan/01-netcfg.yaml
  • 添加以下内容(注意YAML格式的缩进,必须用空格,不能用Tab):
    network:
      version: 2
      renderer: networkd  # 渲染器,可选networkd(服务器)或NetworkManager(桌面版)
      ethernets:
        eth0:  # 接口名
          dhcp4: no  # 关闭DHCP
          addresses:
            - 192.168.1.100/24  # IP地址及子网掩码(CIDR格式)
          gateway4: 192.168.1.1  # 网关(IPv4)
          nameservers:
            addresses: [8.8.8.8, 8.8.4.4]  # DNS服务器
  • 保存后应用配置:sudo netplan apply
  • 验证配置:ip addr show eth0systemctl status systemd-networkd

CentOS/RHEL系统

CentOS/RHEL 7及以下版本使用/etc/sysconfig/network-scripts/ifcfg-<接口名>文件,CentOS 8+推荐nmcli(NetworkManager命令行工具)或nmtui(图形化工具)。

如何给linux设置ip地址吗

(1)传统方法(/etc/sysconfig/network-scripts/ifcfg-<接口名>,适用于CentOS 7及以下)

步骤如下:

  • 编辑配置文件:sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
  • 修改或添加以下内容(静态IP示例):
    TYPE=Ethernet  # 网络类型为以太网
    BOOTPROTO=static  # 静态IP(dhcp为动态)
    DEFROUTE=yes  # 默认路由
    NAME=eth0  # 接口名称
    DEVICE=eth0  # 设备名称
    ONBOOT=yes  # 开机自动激活
    IPADDR=192.168.1.100  # IP地址
    NETMASK=255.255.255.0  # 子网掩码
    GATEWAY=192.168.1.1  # 网关
    DNS1=8.8.8.8  # 主DNS
    DNS2=8.8.4.4  # 辅DNS
  • 保存后重启网络服务:sudo systemctl restart network
  • 验证配置:ip addr show eth0ping www.baidu.com

(2)nmcli工具(CentOS 8+、RHEL 8+)

nmcli是NetworkManager的命令行工具,可快速修改网络配置并自动保存。
步骤如下:

  • 查看当前连接:nmcli connection show
  • 修改连接配置(以连接名eth0为例):
    sudo nmcli connection mod eth0 ipv4.method manual  # 手动配置(static)
    sudo nmcli connection mod eth0 ipv4.addresses 192.168.1.100/24  # IP及子网掩码
    sudo nmcli connection mod eth0 ipv4.gateway 192.168.1.1  # 网关
    sudo nmcli connection mod eth0 ipv4.dns "8.8.8.8 8.8.4.4"  # DNS(多个用引号包裹)
    sudo nmcli connection mod eth0 ipv4.ignore-auto-dns yes  # 忽略DHCP自动分配的DNS
  • 激活配置:sudo nmcli connection up eth0
  • 验证配置:nmcli connection show eth0ip addr show eth0

图形界面设置(桌面版Linux)

对于使用GNOME、KDE等桌面环境的Linux系统(如Ubuntu Desktop、CentOS Desktop),可通过图形界面设置IP地址,步骤更直观:

  • 打开“设置”→“网络”→“有线连接”→点击齿轮图标→“IPv4”选项卡;
  • 选择“手动”,输入IP地址、子网掩码、网关、DNS服务器;
  • 点击“应用”保存,重启网络或断开重连后生效。

不同发行版永久配置方法对比

为方便快速查阅,以下是主流发行版永久配置静态IP的对比:

发行版家族 配置文件路径/工具 关键配置项示例 应用配置命令
Debian/Ubuntu(旧版) /etc/network/interfaces iface eth0 inet static
address 192.168.1.100
systemctl restart networking
Debian/Ubuntu(新版) /etc/netplan/*.yaml addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
netplan apply
CentOS/RHEL(旧版) /etc/sysconfig/network-scripts/ifcfg-eth0 IPADDR=192.168.1.100
GATEWAY=192.168.1.1
systemctl restart network
CentOS/RHEL(新版) nmcli命令行工具 ipv4.addresses 192.168.1.100/24
ipv4.gateway 192.168.1.1
nmcli connection up eth0

注意事项

  1. 接口名称确认:现代Linux系统(如CentOS 7+、Ubuntu 18.04+)的网卡名称可能为ens33enp0s3等(基于BIOS/UEFI命名规则),需通过ip addr确认,避免误修改lo(回环接口)。
  2. 子网掩码格式:配置文件中既可使用255.255.0传统格式,也可使用/24CIDR格式(Netplan和nmcli推荐后者)。
  3. DNS设置重要性:若仅配置IP和网关但未设置DNS,会导致ping www.baidu.com失败(无法解析域名),需确保/etc/resolv.conf包含正确的DNS服务器(永久配置时,Debian/Ubuntu通过dns-nameservers或Netplan的nameservers设置,CentOS通过DNS1/DNS2nmcliipv4.dns设置)。
  4. 配置备份:修改配置文件前,建议先备份(如sudo cp /etc/network/interfaces /etc/network/interfaces.bak),避免错误配置导致网络中断。

相关问答FAQs

问题1:临时设置的IP地址重启后为什么会失效?
答:临时设置(如ip addr addifconfig命令)直接修改的是内核中当前运行的网络参数,并未写入系统的持久化配置文件,Linux系统重启时,会从配置文件(如/etc/network/interfaces/etc/netplan/*.yaml等)读取网络设置并应用,因此临时配置会被覆盖,恢复为重启前的状态,若需永久生效,必须修改对应的配置文件并应用。

问题2:如何验证IP地址是否设置成功?
答:验证IP地址设置需分三步:
(1)确认接口IP分配:使用ip addr show <接口名>(如ip addr show eth0),查看输出中是否有inet <IP地址>/<子网掩码>的记录,且接口状态为UP
(2)测试网关连通性:执行ping <网关IP>(如ping 192.168.1.1),若能收到reply回复,说明本地网络与网关通信正常;
(3)测试外网连通性:执行ping www.baidu.com,若能解析域名并收到回复,说明IP、网关、DNS均配置正确,若ping域名失败但ping公网IP(如ping 8.8.8.8)成功,需检查DNS配置。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/14087.html

(0)
酷番叔酷番叔
上一篇 1天前
下一篇 1天前

相关推荐

  • Linux程序卡死?如何快速停止?

    通过终端停止程序终止前台程序(Ctrl+C)适用场景:程序在终端前台运行(如 python script.py),操作:按下 Ctrl + C 组合键,立即发送中断信号(SIGINT),程序会正常退出并释放资源,示例:$ tail -f /var/log/syslog # 运行中按 Ctrl+C 终止通过进程I……

    2025年7月27日
    1500
  • 如何查看Linux用户权限?

    查看用户基本权限信息id 命令显示用户UID(用户ID)、GID(主组ID)及所属的所有用户组:id username # 查看指定用户id # 查看当前用户输出示例:uid=1000(ubuntu) gid=1000(ubuntu) groups=1000(ubuntu),4(adm),27(sudo)说明……

    2025年7月9日
    2400
  • 如何在win7进入linux系统安装驱动

    Win7系统中,可通过虚拟机软件如VMware或VirtualBox安装Linux系统,再在Linux

    5天前
    400
  • linux如何使用linux

    nux可通过终端输入命令操作,如用ls查看目录,`cd

    4天前
    600
  • Linux合并分区会丢失数据吗?

    核心原理Linux合并分区本质是:删除第二个分区 → 扩展第一个分区 → 调整文件系统,仅支持相邻的物理分区(如sda1和sda2相邻,但sda1和sda3不相邻),准备工作备份数据使用rsync或tar备份分区数据到外部存储(操作失误可能导致数据丢失),rsync -av /mnt/partition1……

    2025年8月3日
    1100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信