Linux如何配置静态动态IP?命令与文件双方法

基础概念

  1. 网卡命名规则

    • 传统命名:eth0eth1(旧版本)
    • 可预测命名:enp0s3(以太网)、wlp2s0(无线,新版本通用)
    • 查看网卡名称:ip link showls /sys/class/net
  2. 关键配置文件路径

    • Ubuntu/Debian/etc/network/interfaces
    • CentOS/RHEL/Fedora/etc/sysconfig/network-scripts/ifcfg-<网卡名>
    • 通用工具NetworkManager(推荐,通过nmclinmtui配置)

配置静态IP地址

方法1:通过配置文件(以Ubuntu为例)

sudo nano /etc/network/interfaces
auto enp0s3        # 开机自动激活网卡
iface enp0s3 inet static  # 静态IP
address 192.168.1.100     # IP地址
netmask 255.255.255.0     # 子网掩码
gateway 192.168.1.1       # 网关
dns-nameservers 8.8.8.8   # DNS服务器

保存后重启网络:

sudo systemctl restart networking  # Ubuntu
sudo systemctl restart NetworkManager  # CentOS/通用

方法2:使用nmcli(推荐,实时生效)

nmcli con add type ethernet con-name "my-static" ifname enp0s3 \
ipv4.addresses 192.168.1.100/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns "8.8.8.8" \
ipv4.method manual

激活连接:

nmcli con up "my-static"

配置动态IP(DHCP)

配置文件方式(CentOS示例)

编辑 /etc/sysconfig/network-scripts/ifcfg-enp0s3

DEVICE=enp0s3
BOOTPROTO=dhcp  # 关键参数
ONBOOT=yes

重启服务:

sudo systemctl restart network

nmcli命令方式

nmcli con add type ethernet ifname enp0s3 con-name "my-dhcp"
nmcli con mod "my-dhcp" ipv4.method auto
nmcli con up "my-dhcp"

网络调试与验证

  1. 查看IP配置
    ip addr show    # 替代旧版ifconfig
  2. 测试网络连通性
    ping 8.8.8.8          # 测试外网
    ping 192.168.1.1      # 测试网关
  3. 检查DNS解析
    nslookup google.com

故障排除

  • 网卡未启动
    sudo ip link set enp0s3 up  # 手动激活
  • 配置未生效
    检查日志:journalctl -u NetworkManager
    重载配置:nmcli con reload
  • IP冲突
    更换IP或使用ARP检测:arp-scan --localnet

安全建议

  1. 限制远程访问
    配置防火墙(如ufwfirewalld),仅开放必要端口。
  2. 禁用未使用网卡
    在配置文件中设置 ONBOOT=no
  3. 使用SSH密钥认证
    避免密码登录,防止中间人攻击。

高级配置

  • 多IP绑定
    nmcli con mod "my-static" +ipv4.addresses "192.168.1.200/24"
  • 网卡聚合(Bonding)
    需加载内核模块,参考 /etc/modprobe.d/bonding.conf

引用说明

  • Linux ip命令手册:man ip
  • NetworkManager官方文档:https://networkmanager.dev/
  • Ubuntu网络配置指南:Ubuntu Server Networking
  • Red Hat系统网络管理:RHEL 8 Configuring Networks

提示:生产环境操作前建议备份配置文件(如cp /etc/network/interfaces{,.bak}),不同发行版命令可能略有差异,请以官方文档为准。

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

(0)
酷番叔酷番叔
上一篇 2025年7月6日 17:03
下一篇 2025年7月6日 17:16

相关推荐

  • Linux ISO安装与打开简易教程

    Linux ISO 文件是什么?Linux ISO 文件是 Linux 操作系统的安装镜像(通常以 .iso 为后缀),包含完整的系统文件,它有两种用途:安装系统:将 ISO 写入 U 盘或光盘,启动电脑并安装 Linux,:直接挂载或解压 ISO 文件,访问内部文件(无需安装),如何安装 Linux 系统(使……

    2025年8月3日
    7800
  • 无法打开文件怎么办

    当在Linux系统中遇到文件无法打开、读写异常或误操作等问题时,可通过以下系统级解决方案处理:权限问题(最常见原因)症状:Permission denied 错误解决方案:# 添加用户读写权限(示例)chmod u+rw 文件名# 更改文件所有者(需sudo权限)sudo chown 当前用户名:用户组 文件名……

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

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

    2025年8月18日
    12600
  • 如何在Linux系统中添加自定义指令的详细步骤?

    在Linux系统中,自定义指令(命令)可以显著提升操作效率,无论是简化复杂命令组合,还是封装常用操作,都能减少重复输入,以下是几种常见的添加自定义指令的方法,涵盖从临时快捷到持久全局的多种场景,使用别名(Alias)简化命令别名适合为短小或常用的命令组合创建快捷方式,例如将ls -la简化为ll,临时别名(当前……

    2025年10月6日
    7700
  • rootfs和vmlinux如何整合

    rootfs(根文件系统)和vmlinux(Linux内核未压缩映像)是Linux系统的核心组成部分,两者的整合是将内核态功能与用户态程序结合,形成可引导的完整系统的关键过程,rootfs提供了系统运行所需的用户空间环境,包括目录结构、库文件、配置和可执行程序;vmlinux则是内核的核心代码,负责硬件抽象、进……

    2025年9月27日
    9600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信