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系统 如何选择

    需求选择,服务器选CentOS等稳定版,桌面可考虑Ubuntu等易用且

    2025年8月10日
    7800
  • Linux如何快速显示文本行号?

    基础命令:cat + -n / -b作用:快速显示文件内容并添加行号语法:cat -n 文件名 # 显示所有行号(包括空行)cat -b 文件名 # 仅显示非空行的行号(空行跳过)示例:cat -n log.txt输出效果: 1 第一行内容 2 第二行内容 3 4 第四行内容专业行号工具:nl作用:专为行号设计……

    2025年8月7日
    9100
  • Linux如何配置JDK?详细步骤是怎样的?

    在Linux系统中配置Java开发工具包(JDK)是Java开发环境搭建的基础步骤,正确的配置能确保Java程序编译、运行及开发工具的正常使用,本文将详细介绍在Linux系统中配置JDK的完整流程,包括环境准备、JDK安装、环境变量配置及验证方法,同时针对常见问题提供解决方案,配置前的准备工作在开始配置JDK前……

    2025年9月24日
    7300
  • Linux如何ping通外网地址?

    在Linux系统中,ping命令是最常用的网络连通性测试工具之一,它通过发送ICMP(Internet Control Message Protocol)回显请求包,目标主机收到后会返回响应包,从而判断本地与目标主机之间的网络是否可达、延迟情况以及丢包率等,测试外网地址时,需确保本地网络已正确配置(如IP地址……

    2025年9月23日
    8500
  • Debian/Ubuntu更新卡住怎么办?

    准备工作(所有方法通用)更新系统终端执行:sudo apt update && sudo apt upgrade -y # Debian/Ubuntusudo dnf update -y # Fedora/RHEL安装依赖sudo apt install -y build-essential l……

    2025年7月25日
    9700

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信