Ubuntu Server 16.04:静态IP不会是静态的

Ubuntu Server 16.04:静态IP不会是静态的

我有一个通过 DHCP 获得的动态 IP。

我已将 /etc/network/interfaces 文件编辑如下:

# This file describes the network interfaces available on your system
 and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto enp1s0
iface enp1s0 inet static
        address 192.168.0.200
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.1
        dns-nameservers 192.168.0.1 0.0.0.0

我已经尝试了以下命令:

  • systemctl 重启 ifup@enp1s0
  • systemctl 重新启动 ifup@eth0
  • sudo 服务网络管理器重新启动

但它们都没有按照我想要的方式运行,输入后ifconfig我一直看到我的动态 IP 192.168.0.30 出现...我做错了什么?

(我使用动态 IP 地址通过 ssh 进入机器,现在我有一个基于旧规则的端口转发规则,但我真的希望它是静态的。我选择了 200,远远超出了范围,其他人无法抢占它)。

答案1

你必须刷新当前 IP 设置(基于 DHCP)重新启动网络服务(或重新启动)以使设置正确应用。

  • 在您的终端上运行,sudo ip addr flush enp1s0您可以清除当前的 IP 设置。

  • 您可以重新启动联网通过在您的终端上运行该服务sudo systemctl restart networking.service

如果你正在从远程运行远程控制会话,也许最好在单个语句中运行它们,例如sudo ip addr flush enp1s0 && sudo systemctl restart networking.service,以避免在过程中丢失连接而无需重新启动联网服务(并设置新的 IP)。那么你必须更新你端口转发规则在您的路由器上能够连接到新的(静止的)知识产权。

另外,请注意,有些路由器不提供真正的DNS服务(它们通过 DHCP 提供 ISP 的 DNS IP 地址),所以我建议添加 Google 的 DNS 开放服务器(或者您选择的其他位置,可能在您的 LAN 上)至少作为辅助名称服务器,以某种方式故障转移由于可能无能为力你的路由器。

例子:

auto enp1s0
iface enp1s0 inet static
        address 192.168.0.200
        netmask 255.255.255.0
        network 192.168.0.0
        gateway 192.168.0.1
        broadcast 192.168.0.255
        dns-nameservers 192.168.0.1
        dns-nameservers 8.8.8.8

希望能帮助到你。

相关内容