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开发效率翻倍?

    环境准备安装Linux系统推荐发行版:Ubuntu(新手友好)、Fedora(前沿技术)、Debian(稳定性高),通过官方镜像制作启动盘安装,或使用虚拟机(VirtualBox/VMware),更新系统与依赖sudo apt update && sudo apt upgrade # Debia……

    2025年7月18日
    15400
  • linux如何安装tree包

    Linux系统中,可以使用包管理器安装tree包,在Debian/Ubuntu系统上,运行sudo apt-get install tree;

    2025年8月19日
    15200
  • Linux如何轻松配置WebDAV服务?

    WebDAV(Web Distributed Authoring and Versioning)是一种基于HTTP协议的扩展技术,允许用户像管理本地文件一样远程编辑和管理服务器文件,它广泛应用于团队协作、远程文件同步和跨平台数据共享场景,本指南将详细讲解在Linux(以Ubuntu/Debian为例)中通过Ap……

    2025年7月26日
    17600
  • Linux如何播放音频文件?

    在Linux系统中播放音频文件有多种方式,无论是图形界面用户还是命令行爱好者,都能找到适合自己的工具,下面将详细介绍常见的音频播放方法、所需工具及使用步骤,对于习惯图形界面的用户,Linux发行版通常预装了音乐播放器,Ubuntu和Mint默认使用Rhythmbox,它支持MP3、FLAC、WAV等常见格式,界……

    2025年9月17日
    14500
  • Virtual Console能做什么?

    在Linux系统中,控制台(Console)是用户与操作系统内核交互的核心接口,常用于系统管理、故障恢复或运行命令行程序,它与终端(Terminal)的区别在于:控制台直接关联系统物理设备(如显示器、键盘),而终端(包括图形终端模拟器)是通过软件模拟的输入输出环境,以下是几种在Linux下产生控制台的详细方法……

    2025年7月24日
    16200

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信