无法在 Ubuntu 16.04 中正确设置静态 IP

无法在 Ubuntu 16.04 中正确设置静态 IP

我正在尝试在 Ubuntu 16.04 的接口上设置静态 IP。它用于没有 DHCP 服务器或 DNS 配置的本地连接。我尝试从编辑连接 GUI 以及 CLI 执行此操作,但运气不佳。

我搜索了一下,发现了几个类似的问题(设置静态IP Ubuntu 16.04等),但我自己似乎无法获得正确的设置。

我的情况是这样的...目前有三个设备连接到交换机。一个配置为 1.51,一个配置为 1.20,而这个 16.04 系统我正尝试配置为 1.49。51 和 20 都通信正常。我换了电缆并尝试了不同的端口...所以我知道这不是物理问题。事实上,这个交换机上的另一个系统是 Ubuntu 14.04,其接口设置相同,但 IP 是 51。这里唯一的问题似乎是 Ubuntu 16.04 系统。

16.04 /etc/network/interfaces 文件:

# interfaces(5) file used by ifup(8) and ifdown(8)
# The loopback network interface
auto lo
iface lo inet loopback

# Primary network interface
auto enp4s0
#iface enp4s0 inet dhcp
iface enp4s0 inet static
    address 192.168.1.49
    netmask 255.255.255.0
    gateway 192.168.1.1

$ ifconfig
enp4s0    Link encap:Ethernet  HWaddr f4:8e:38:e7:39:31  
      inet addr:192.168.1.49  Bcast:192.168.1.255  Mask:255.255.255.0
      inet6 addr: fe80::f68e:38ff:fee7:3931/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:258 errors:0 dropped:0 overruns:0 frame:0
      TX packets:2123 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:28821 (28.8 KB)  TX bytes:208448 (208.4 KB)

一切看起来都很好。但 ping 失败。无法 ping 入或 ping 出。对我来说最有趣的是从 GUI 查看接口时的网络掩码。如果我从右上角的网络图标转到“编辑连接...”并编辑此接口,它会显示以下内容:

Address: 192.168.1.49
Netmask: 24
Gateway: 192.168.1.1

网络掩码为“24”?这没有任何意义……但是从 CLI 的 ifconfig 来看一切正常。

我没什么主意了。应该简单点……?

谢谢。

编辑1:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 enp4s0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 enp4s0
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 enp4s0

答案1

您尚未声明 DNS 名称服务器。建议您修改为:

# interfaces(5) file used by ifup(8) and ifdown(8)
# The loopback network interface
auto lo
iface lo inet loopback

# Primary network interface
auto enp4s0
#iface enp4s0 inet dhcp
iface enp4s0 inet static
    address 192.168.1.49
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8 192.168.1.1

重启界面:

sudo ifdown enp4s0 && sudo ifup enp4s0

平安:

ping -c4 www.ubuntu.com

如果您收到 ping 返回,则表示您已全部设置完毕。

答案2

您的问题很可能与网络管理器进入您的配置有关。由于您使用的是静态 IP,并且不希望它们自动更改,因此您实际上不需要网络管理器。

您是否尝试过彻底停用它 sudo service network-manager stop ,然后再次尝试连接。

答案3

如果您正在寻找手动桥接设置(例如虚拟机):

按照说明进行操作Ubuntu 帮助关于建立桥梁

  1. 在您的/etc/network/interfaces- 中注释掉将桥接的网络接口。
  2. 将所有静态设置置于下方br0(例如iface br0 inet static地址、网络、网关、名称服务器等)
  3. 清除 arp:(ip addr flush enp2s0将 enp2s0 替换为您的接口)
  4. 重启网络:systemctl restart networking

从 dhcp 转为静态时,步骤 3 很重要。手册中没有提到,但如果没有它,您的 DNS 和网关可能无法工作...

祝你好运!

相关内容