这里是修改 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 生效。