我不知道我做了什么——但一切都工作正常,现在却不行了,而且我一辈子也无法弄清楚出了什么问题。
如何完全重置网络接口?
我想做的就是连接到互联网。我可以看到路由器管理屏幕中列出的服务器,其中包含通过路由器 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 架构和当下玩耍。
您的/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
# 确认配置
归档时间: |
|
查看次数: |
33022 次 |
最近记录: |