【Linux 配置静态IP】Ubuntu20.04

最近学习网络编程,为了方便学习需要Ubuntu配置静态IP,网上看了好多贴子跟着试了下可以实现,但重启虚拟机后有时就无法连接,总之各种各样问题;相关的配置方法也比较凌乱,有用netplan 或者 ifupdown ,笔者简单梳理下,以供参考:
Ubuntu 版本:ubuntu-20.04.6-desktop-amd64
网络模式:桥接模式

(前言) Ubuntu 都有哪些网络管理工具?

建议一般使用"netplan"进行配置;或者通过NetworkManager界面进行简单操作即可;
以下相关介绍内容来自网络:

  1. Netplan:从 Ubuntu 17.10(代号“Artful Aardvark”)开始引入的新一代网络配置工具,使用 YAML 格式的配置文件来定义网络接口和连接配置,配置文件位于 /etc/netplan/ 目录下。Netplan 通过配置文件和渲染器配合工作,实现了对 Linux 系统网络配置的管理和应用。
  2. NetworkManager:一个功能强大的网络管理器,提供了图形化界面和命令行工具(如 nmtui、nmcli),用于管理和配置网络连接,如以太网、Wi-Fi、VPN 等。NetworkManager 支持自动检测和配置网络连接,适用于桌面环境和移动设备。
  3. systemd-networkd:systemd 的一部分,负责 systemd 生态中的网络配置部分。它支持基础的 DHCP/静态 IP 网络配置,以及虚拟网络功能,如网桥、隧道和 VLAN 等。systemd-networkd 通常用于服务器安装,其中网络环境相对静态。
  4. ifupdown:在 Ubuntu 17.10 之前的版本中用于配置网络接口的工具,使用 /etc/network/interfaces 文件进行配置。Netplan 取代了 ifupdown 作为默认的网络管理工具。

【前期工作】获取 IP 信息

以下指令的使用方法都可以查到,不再赘述

  • ifconfig 获取详细信息:IP、掩码、以太网卡地址
  • route -n 用于查看和修改系统路由表:网关、子网掩码
  • netstat 可以显示网络连接、路由表、接口状态等

netplan 设置静态IP【推荐】

修改etc/netplan/下的文件:01-network-manager-all.yaml

  • 注意冒号后都有空格!!!
Let NetworkManager manage all devices on this system
network: 
  version: 2
  renderer: networkd
  ethernets: 
    ens33: 
      addresses: [192.168.237.149/24]
      gateway4: 192.168.237.37
      dhcp4: false
      nameservers: 
        addresses: [114.114.114.114, 8.8.8.8]
  #renderer: NetworkManager
  • 然后使用sudo netplan apply 应用配置即可

ifupdown 设置静态IP【已被取代】

修改/etc/network/interface 文件

  • sudo vim /etc/netwok/interface 输入配置信息;
auto lo
iface lo inet loopback

auto ens33
iface ens33 inet static
address 192.168...	// ip 地址
netmask 255.255.255.0	// 子网掩码
gateway 192.168...	// 网关
  • 然后执行 systemctl restart network-manager

  • 再执行 systemctl restart networking

或者使用 NetworkManager 操作【easy】

在这里插入图片描述

  • 之后重启虚拟机即可;

验证配置静态IP是否成功

输入 ip addr show 或者 ip a

  • 配置前
    在这里插入图片描述
  • 配置后
    在这里插入图片描述

总结

  • 配置遇到问题时,建议按照自己选择的网络管理工具进行查找解决方法;
  • 配置过程中,多使用 ping 来检测网络是否正常使用;
  • 祝大家学习愉快!

相关推荐

  1. Linuxlinux配置静态IP、动态IP方法汇总

    2024-07-15 06:10:02       60 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-15 06:10:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-15 06:10:02       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-15 06:10:02       58 阅读
  4. Python语言-面向对象

    2024-07-15 06:10:02       69 阅读

热门阅读

  1. 【c++】VSstudio win32 应用开发

    2024-07-15 06:10:02       23 阅读
  2. 深入理解Scikit-learn:决策树与随机森林算法详解

    2024-07-15 06:10:02       22 阅读
  3. 英特尔服务器的潜在缺陷分析

    2024-07-15 06:10:02       22 阅读
  4. 香橙派安装测试摄像头

    2024-07-15 06:10:02       24 阅读
  5. 【SASS/SCSS(一)】选择器

    2024-07-15 06:10:02       25 阅读
  6. 力扣224.基本计算器

    2024-07-15 06:10:02       22 阅读
  7. Leetcode 3219. Minimum Cost for Cutting Cake II

    2024-07-15 06:10:02       24 阅读
  8. ReactRouter v6升级的步骤

    2024-07-15 06:10:02       22 阅读