这里是修改 networkmanager 来将 dhcp 改为静态 ip。
因为现在的 linux 系统一般都使用了 NetworkManager 服务,这是一个可视化的服务。
使用指令配置
输入下面指令来查看是否使用 networkmanager 服务。
systemctl status NetworkManager
如果显示 active,继续跟着我走。
输入下面指令进行更改。
sudo vim "/etc/NetworkManager/system-connections/Wired connection 1"注意这里必须要用管理员权限,没有管理员权限连使用 cat 去查看一下都不可以。

这是原本的,咱们要改的就是 ipv4 ,其他的不用动。
这里 ipv4 下面的 method 值为 auto,表示使用的是 dhcp 协议连接网络。
我们要改为静态。
就修改这里。

需要四个值。
- method:表示连接的方法,因为我们用静态 ip 就改为 manual,也就是手动的意思。
- addresses:是自己的 ip 地址,后面加分号其实没什么用。因为只有一个 ip 地址,如果有多个 ip 地址需要用分号隔开。
- gateway:是网关地址,不用分号,因为你只可能有一个网关。
- dns:就是域名解析服务器,用
8.8.8.8即可,也有分号,因为可能有多个。我这里是考虑到格式统一,就都加了分号,其实可以不加。
保存一下。
接着重启一下 networkmanager 服务。
sudo systemctl restart NetworkManager 使用可视化界面配置

右键网络图标,然后点击 编辑连接 或者说 edit connections。
选择 IPv4 Settings。

把 method 改为 manual,点击下面右侧的Add按钮,输入地址,掩码以及网关,填写 dns,然后点击 save 保存。
接着把网络断开再连接,静态 ip 就配置成功了。
network/interfaces 和 NetworkManager 的区别
之前修改网络都是修改 /etc/network/interfaces 文件中的内容,那它和 NetworkManager 服务的区别是什么?
其实是先后关系,前者出现的早,后者出现的晚。
network/interfaces 是一个传统的、基于文件的网络配置方式。
而 NetworkManager 是一个动态的网络管理工具,旨在简化网络配置,特别是对于移动设备和桌面环境,只不过我这里是演示了如何通过命令行控制。
一般使用的是 NetworkManager,你可以通过 sudo systemctl status NetworkManger 来查看是否使用了。
如果没有就是用的 interfaces,修改该文件即可。
注意:在某些 Linux 发行版中,NetworkManager 可能会优先于
network/interfaces生效。