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)
酷番叔酷番叔
上一篇 2025年8月21日 23:25
下一篇 2025年8月21日 23:35

相关推荐

  • linux下如何查找宏

    Linux下,可用grep -r “宏名” 目录查找文件中宏定义

    2025年8月14日
    3000
  • 在Linux操作系统中如何查看FTP服务的运行状态与连接详情?

    在Linux系统中查看FTP相关信息是系统管理和日常运维中的常见需求,可能涉及查看FTP服务器状态、连接情况、传输文件、配置信息等场景,本文将详细介绍通过命令行工具、系统命令及第三方工具实现查看FTP的多种方法,帮助用户高效获取所需信息,使用FTP客户端连接查看远程服务器内容若需查看远程FTP服务器上的文件或目……

    2025年9月30日
    2000
  • 占用TCP端口8080如何终止?

    端口占用的原理端口分类0-1023:系统特权端口(需root权限),如HTTP(80)、SSH(22),1024-49151:用户端口,供普通应用程序使用,49152-65535:动态/私有端口,占用本质进程通过调用bind()系统调用绑定IP和端口,再通过listen()进入监听状态,手动占用端口的步骤方法1……

    2025年6月22日
    4800
  • 为何选择Firefox?你的理由呢

    图形界面打开Firefox(适合新手)通过应用程序菜单打开GNOME桌面(Ubuntu/Fedora/Debian默认)点击屏幕左上角或底部的”Activities”(活动)按钮 → 在搜索栏输入 Firefox → 点击图标启动,(示意图:应用程序菜单中的Firefox图标)KDE Plasma桌面(Kubu……

    2025年6月23日
    4900
  • Linux下查看目录有哪些常用命令与方法?

    在Linux系统中,目录是文件系统的基础结构,查看目录内容、属性及层级关系是日常操作的核心技能,无论是系统管理、开发调试还是文件检索,掌握多种目录查看方法都能显著提升效率,本文将详细介绍Linux中查看目录的常用命令及其高级用法,并通过表格对比不同命令的适用场景,最后附上常见问题解答,基础目录查看命令:lsls……

    2025年8月26日
    2800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信