重新加载静态 IP ubuntu 16

Mat*_*evy 10 networking static-ip 16.04

我正在使用 Ubuntu 服务器 16.04 并设置一些网络接口,我希望在 /etc/network/interfaces 更改其地址后重新加载静态 IP,而无需重新启动:

auto ens6
iface ens6 inet static
        address 192.168.0.41
        netmask 255.255.255.0
        broadcast 192.168.0.255
Run Code Online (Sandbox Code Playgroud)

我尝试了以下方法:

sudo systemctl restart networking
sudo ifconfig ens6 down (and afterwards up)
sudo ifdown ens6 (and afterwards up)
Run Code Online (Sandbox Code Playgroud)

并尝试了这些命令的一些组合,

然而,如果我在 /etc/network/interfaces 更改我的“地址”,它只会在我重新启动机器后才会更新(在 ifconfig)

在不重新启动的情况下执行此操作的正确方法是什么?

编辑 - 也由于评论而尝试过

sudo /etc/init.d/networking restart
Run Code Online (Sandbox Code Playgroud)

小智 10

如果 ifdown+ifup 方法不起作用,请尝试:

sudo ifdown <network interface> && sudo ip addr flush <network interface> && sudo ifup <network interface>
Run Code Online (Sandbox Code Playgroud)


Ter*_*nce 2

要在不重新启动系统的情况下更改 IP 地址,请运行以下行来执行该任务。/etc/network/interfaces在运行以下步骤之前,请确保您已完成对文件的更改:

编辑:

您可以尝试通过添加以下内容来关闭预测网络命名/etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0"
Run Code Online (Sandbox Code Playgroud)

然后运行grub更新:

sudo update-grub
Run Code Online (Sandbox Code Playgroud)

重新启动系统:

sudo reboot
Run Code Online (Sandbox Code Playgroud)

先关闭接口:

sudo ifdown <network interface>
Run Code Online (Sandbox Code Playgroud)

然后恢复所有接口:

sudo ifup -a
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!