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不同场景粘贴技巧?

    图形界面下的粘贴适用于GNOME、KDE、XFce等桌面环境:快捷键粘贴Ctrl + V:通用粘贴快捷键(适用于文本编辑器、浏览器等大部分应用),Ctrl + Shift + V:部分应用(如LibreOffice)用此粘贴无格式文本,鼠标操作右键单击 → 选择“粘贴”(几乎所有图形应用支持),鼠标中键(滚轮……

    2025年7月27日
    17400
  • Linux休眠与挂起究竟有何区别?

    Linux休眠将系统状态保存到硬盘后完全断电,恢复时从硬盘加载;挂起则保持内存供电进入低功耗状态,可快速唤醒但持续耗电,休眠适合长时间断电,挂起适合短时离开。

    2025年6月18日
    19100
  • Linux粘贴文件,命令行vs图形界面操作指南

    命令行环境(终端)Linux命令行通过cp(复制粘贴)和mv(剪切粘贴)实现文件操作,无独立“粘贴”命令,需一次性完成操作,复制粘贴文件(cp命令)基本语法:cp [选项] 源文件路径 目标目录路径操作示例:将file.txt复制到/home/user/documents/:cp file.txt /home……

    2025年7月10日
    19600
  • 在Linux操作系统中,如何通过命令详细查询PHP的具体版本信息?

    在Linux系统中,检查PHP版本信息是日常运维和开发中的常见需求,无论是为了确保代码兼容性、升级到安全版本,还是排查环境问题,都需要准确掌握当前PHP的版本号及相关配置,以下是多种在Linux下查看PHP版本信息的方法,涵盖命令行、Web环境、配置文件等多个场景,并附适用场景和注意事项,帮助用户根据实际情况选……

    2025年10月1日
    15900
  • jar命令打包失败怎么办?

    在Linux系统中查看JAR(Java Archive)文件是Java开发、运维或调试中的常见需求,JAR文件本质上是基于ZIP格式的压缩包,内含.class字节码、资源文件、配置文件及元数据等,以下是多种专业、安全且高效的方法,适用于不同场景:jar 是JDK自带的命令行工具,无需额外安装,适合查看内容或提取……

    2025年6月24日
    22500

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信