最近学习网络编程,为了方便学习需要Ubuntu配置静态IP,网上看了好多贴子跟着试了下可以实现,但重启虚拟机后有时就无法连接,总之各种各样问题;相关的配置方法也比较凌乱,有用netplan 或者 ifupdown ,笔者简单梳理下,以供参考:
Ubuntu 版本:ubuntu-20.04.6-desktop-amd64
网络模式:桥接模式
目录
- (前言) Ubuntu 都有哪些网络管理工具?
- 【前期工作】获取 IP 信息
- netplan 设置静态IP【推荐】
- ifupdown 设置静态IP【已被取代】
- 或者使用 NetworkManager 操作【easy】
- 验证配置静态IP是否成功
- 总结
 
(前言) Ubuntu 都有哪些网络管理工具?
建议一般使用"netplan"进行配置;或者通过
NetworkManager界面进行简单操作即可;
以下相关介绍内容来自网络:
- Netplan:从 Ubuntu 17.10(代号“Artful Aardvark”)开始引入的新一代网络配置工具,使用 YAML 格式的配置文件来定义网络接口和连接配置,配置文件位于 /etc/netplan/目录下。Netplan 通过配置文件和渲染器配合工作,实现了对 Linux 系统网络配置的管理和应用。
- NetworkManager:一个功能强大的网络管理器,提供了图形化界面和命令行工具(如 nmtui、nmcli),用于管理和配置网络连接,如以太网、Wi-Fi、VPN 等。NetworkManager 支持自动检测和配置网络连接,适用于桌面环境和移动设备。
- systemd-networkd:systemd 的一部分,负责 systemd 生态中的网络配置部分。它支持基础的 DHCP/静态 IP 网络配置,以及虚拟网络功能,如网桥、隧道和 VLAN 等。systemd-networkd 通常用于服务器安装,其中网络环境相对静态。
- 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: 2renderer: networkdethernets: ens33: addresses: [192.168.237.149/24]gateway4: 192.168.237.37dhcp4: falsenameservers: 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 loopbackauto 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来检测网络是否正常使用;
- 祝大家学习愉快!