如何重置 Ubuntu Server 18.04 上的网络接口配置?

Mic*_*per 6 server 18.04

我不知道我做了什么——但一切都工作正常,现在却不行了,而且我一辈子也无法弄清楚出了什么问题。

如何完全重置网络接口?

我想做的就是连接到互联网。我可以看到路由器管理屏幕中列出的服务器,其中包含通过路由器 DHCP 服务器生成的动态 IP 地址。

我尝试删除 /etc/network/interfaces 文件中的所有内容

我尝试删除 /etc/netplan 中的所有 YAML 文件,但每当我尝试运行该命令时,netplan apply我总是收到错误“返回非零退出状态 4” - 无论这意味着什么。

我有一种感觉,一路上有些事情搞砸了,我只需要重新设置一切,然后从头开始,让服务器访问互联网(出站)。

更多细节

以前,当我进行此工作时,我在网络上的盒子有一个静态IP,并且我可以毫无问题地连接到互联网 - 我不知道我在它工作和不工作之间改变了什么。但奇怪的是,当它停止工作时,我可以看到该盒子在路由器管理页面上列出了 2 个 MAC 地址,我配置的静态 IP 和另一个 MAC 地址,服务器拥有自己的动态 IP 地址。我只能假设我已将以太网电缆插入机器背面的不同网络端口之一。

以下是按要求输出到文件的内容;

lshw -C网络

  *-network:0 DISABLED      
       description: Ethernet interface
       product: I350 Gigabit Network Connection
       vendor: Intel Corporation
       physical id: 0
       bus info: pci@0000:04:00.0
       logical name: enp4s0f0
       version: 01
       serial: 0c:c4:7a:2a:c8:8a
       size: 100Mbit/s
       capacity: 1Gbit/s
       width: 32 bits
       clock: 33MHz
       capabilities: pm msi msix pciexpress bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=igb driverversion=5.4.0-k duplex=full firmware=1.63, 0x80000a05 latency=0 link=no multicast=yes port=twisted pair speed=100Mbit/s
       resources: irq:43 memory:c7120000-c713ffff ioport:6020(size=32) memory:c7144000-c7147fff memory:90000000-9001ffff memory:90020000-9003ffff
  *-network:1 DISABLED
       description: Ethernet interface
       product: I350 Gigabit Network Connection
       vendor: Intel Corporation
       physical id: 0.1
       bus info: pci@0000:04:00.1
       logical name: enp4s0f1
       version: 01
       serial: 0c:c4:7a:2a:c8:8b
       capacity: 1Gbit/s
       width: 32 bits
       clock: 33MHz
       capabilities: pm msi msix pciexpress bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=igb driverversion=5.4.0-k firmware=1.63, 0x80000a05 latency=0 link=no multicast=yes port=twisted pair
       resources: irq:53 memory:c7100000-c711ffff ioport:6000(size=32) memory:c7140000-c7143fff memory:90040000-9005ffff memory:90060000-9007ffff
  *-network DISABLED
       description: Ethernet interface
       product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:84:00.0
       logical name: enp132s0
       version: 06
       serial: 00:13:3b:11:40:dc
       size: 10Mbit/s
       capacity: 1Gbit/s
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=half latency=0 link=no multicast=yes port=MII speed=10Mbit/s
       resources: irq:37 ioport:e000(size=256) memory:f2204000-f2204fff memory:f2200000-f2203fff
  *-network DISABLED
       description: Ethernet interface
       product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:85:00.0
       logical name: enp133s0
       version: 06
       serial: 00:13:3b:11:40:dd
       size: 10Mbit/s
       capacity: 1Gbit/s
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=half latency=0 link=no multicast=yes port=MII speed=10Mbit/s
       resources: irq:37 ioport:d000(size=256) memory:f2104000-f2104fff memory:f2100000-f2103fff
Run Code Online (Sandbox Code Playgroud)

猫 /etc/netplan/*.yaml

network:
 ethernets:
  enp4s0f0:
   addresses: [192.168.0.04/24]
   dhcp4: true
   gateway4: 192.168.0.1
   nameservers:
    addresses: [8.8.8.8,8.8.4.4]
 version: 2
Run Code Online (Sandbox Code Playgroud)

注意:上面的 IP 地址,我不确定我是否输入了该地址(并且在输入时犯了一个拼写错误,因为上次我试图使其正常工作时,服务器在路由器管理中显示为 .104 IP,而不是a .04 IP - 在撰写本文时,服务器根本没有显示在路由器管理中。

cat /etc/network/interfaces
# ifupdown has been replaced by netplan(5) on this system.  See
# /etc/netplan for current configuration.
# To re-enable ifupdown on this system, you can run:
#    sudo apt install ifupdown
Run Code Online (Sandbox Code Playgroud)

这是我在路由器管理屏幕中检查时的网络详细信息;

Router's IP Address: 192.168.0.1
Router's Subnet Mask: 255.255.255.0
Run Code Online (Sandbox Code Playgroud)

更新2

好的,大约 5 分钟前写完上面的更新后,我想我实际上已经开始工作了(有时您需要的只是一些时间停止处理某些事情,然后改天再回来处理!)

这就是我所做的,我只是更改了以下文件,使其看起来像这样;

猫 /etc/netplan/*.yaml

network:
 ethernets:
  enp4s0f0:
   dhcp4: true
 version: 2
Run Code Online (Sandbox Code Playgroud)

我只能假设,因为其他位之前就在那里,Netplan 认为路由器配置了静态 IP 地址而不是动态 IP 地址 - 或者在某个地方感到困惑,因为设置看起来在告诉自己它同时是静态的(使用“地址”设置)和动态的(使用“dhcp4”设置)。

最好能够准确理解为什么我所做的更改实际上有效 - 我的上述假设是否正确?

此外,/etc/netplan/ 中的 .yaml 文件的文件名实际上重要吗?不太确定这是从哪里来的,因为我记得现在的文件名与之前删除/重新创建文件时的文件名不同。

顺便说一句 - 这只是我正在开发的一个测试系统 - 因此为什么我可以安全地删除一些东西,把它搞砸,然后尝试修复它:-) 试图更好地理解 Ubuntu/Linux 架构和当下玩耍。

hey*_*ema 3

您的/etc/netplan/*.yaml文件不正确有两个原因:

  • 您混合并匹配了动态和静态定义

  • 您输入了包含 .04 的无效静态地址

如果您需要静态寻址,.yaml 文件应该如下所示......

network:
  version: 2
  renderer: networkd
  ethernets:
    enp4s0f0:
      addresses: [192.168.0.4/24]
      gateway4: 192.168.0.1
      nameservers:
        addresses: [8.8.8.8,8.8.4.4]
Run Code Online (Sandbox Code Playgroud)

如果您需要动态寻址,.yaml 文件应该如下所示......

network:
  version: 2
  renderer: networkd
  ethernets:
    enp4s0f0:
      dhcp4: true
      dhcp4-overrides:
        use-dns: false
      nameservers:
        addresses: [8.8.8.8,8.8.4.4]
Run Code Online (Sandbox Code Playgroud)

sudo netplan generate# 制作配置文件

sudo netplan apply# 应用新配置

reboot# 确认配置