首先,你需要知道你的网络接口名称,打开终端,输入
ip link show
会得到如图消息。在我的debian中,网络接口名称为enp0s5
在Debian中,NetworkManager 默认会管理所有网络接口,会给你自动分配动态ip地址,影响我们的手动配置,因此首先我们需要禁用 NetworkManager 管理。
查看 enp0s5 是否由 NetworkManager 管理:
nmcli device status
如果显示 enp0s5 的状态为 managed,说明它正在被 NetworkManager 管理。
将 enp0s5 设置为 unmanaged(禁用 NetworkManager 管理):
编辑 NetworkManager 的配置文件:
sudo nano /etc/NetworkManager/NetworkManager.conf
添加以下内容:
[keyfile]
unmanaged-devices=interface-name:enp0s5
保存并退出,然后重启 NetworkManager 服务:
sudo systemctl restart NetworkManager
再次检查 enp0s5 的状态是否变为 unmanaged:
nmcli device status
下面就可以设置静态ip了,首先我们需要查看我们现在的网关地址是多少,我们手动设置的静态ip必须和你的网关地址(也就是路由器地址)在同一个子网下,不然会导致无法连接互联网。
cat /etc/resolv.conf
我的输出如下,路由器地址为10.211.55.1。采用子网掩码255.255.255.0,故我的静态Ip地址应当为10.211.55.x
下面修改 /etc/network/interfaces
sudo nano /etc/network/interfaces
确认内容如下(根据你的实际网络参数调整):
# Loopback接口
auto lo
iface lo inet loopback
# enp0s5接口的静态IP配置
auto enp0s5
iface enp0s5 inet static
address 10.211.55.101
netmask 255.255.255.0
gateway 10.211.55.1
dns-nameservers 10.211.55.1
dns服务器地址设置为和网关地址相同即可,
保存并退出,然后重启网络服务:
sudo systemctl restart networking
检查当前网络接口的配置:
ip addr show enp0s5
确保显示的IP地址为你自己设置的地址,并且没有其他不必要的动态 IP。
以上。