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


9

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

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

这是我的位置...当前有三台设备连接到交换机。一个配置为1.51,一个配置为1.20,而我正在尝试将此配置为1.49的16.04。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失败。无法输入或输出。对我来说,最有趣的是从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

2
子网掩码255.255.255.0等效于/ 24(就像255.255.0.0是/ 16或255.255.255.128是/ 28)一样。输出是route -n什么?
大师

添加输出到发布
linsek

我假设您做不到,但是为了进行故障排除,可以吗ping 192.168.1.1

192.168.1.1实际上不存在。该交换机仅插入了3个设备。
20、51

Answers:


9

您尚未声明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返回,则一切就绪。


这似乎是解决方案。到ubuntu.com的ping显然不能在包含3个系统的本地网络上运行,但是dns-nameservers的定义是接口正确启动所需的条件。
linsek

0

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

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


那似乎没有影响。
linsek

您是否在终端中的ifdown和ifup在发生的事情上实际上有一点输出?-nvm看到您已经找到解决方案了;)
Ziazis

0

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

遵循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和网关可能无法工作...

祝好运!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.