以太网无法在 Ubuntu 服务器 18.04 LTS 上运行

以太网无法在 Ubuntu 服务器 18.04 LTS 上运行

我正在使用 Ubuntu Server 设置服务器。我使用一台单独的机器来设置它,因为我的服务器没有任何显示输出。我把硬盘放在另一台电脑上,然后从那里开始工作。起初,一切都正常,但我把它放在服务器上,发现以太网不工作。它在我的笔记本电脑上也不工作,我现在把硬盘挂在笔记本电脑上。

以下是以太网的 ifconfig 输出:

lo: flags-73<UP, LOOPBACK, RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 sinet61 prefixlen 128 scopeid ox10 cost> loop txqueuelen 1000 (Local Loopback) RX packets 180 bytes 11976 (11.9 KB) RX errors 0 dropped o overruns 0 frame o TX packets 180 bytes 11976 (11.9 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions

编辑:/etc/netplan 有一个名为 50-cloud-init.yaml 的文件,这是它的输出:

network:
    ethernets:
        enp0s31f6:
            addresses: [] 
            dhcp4: true
    version: 2

以下是 sudo lshw -C network 的输出:

  *-network DISABLED
       description: Wireless interface
       product: AR9485 Wireless Network Adapter
       vendor: Qualcomm Atheros
       physical id: 0
       bus info: pci@0000:02:00.0
       logical name: wlp2s0
       version: 01
       serial: 2c:d0:5a:ad:d9:fb
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list rom ethernet physical wireless
       configuration: broadcast=yes driver=ath9k driverversion=4.15.0-38-generic firmware=N/A latency=0 link=no multicast=yes wireless=IEEE 802.11
       resources: irq:17 memory:f7d00000-f7d7ffff memory:f7d80000-f7d8ffff
  *-network DISABLED
       description: Ethernet interface
       product: AR8162 Fast Ethernet
       vendor: Qualcomm Atheros
       physical id: 0
       bus info: pci@0000:03:00.0
       logical name: enp3s0
       version: 10
       serial: 60:a4:4c:71:ff:10
       capacity: 100Mbit/s
       width: 64 bits
       clock: 33MHz
       capabilities: pm pciexpress msi msix bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=alx latency=0 link=no multicast=yes port=twisted pair
       resources: irq:19 memory:f7c00000-f7c3ffff ioport:e000(size=128)

以下是 ifconfig 的输出:

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 3056  bytes 184872 (184.8 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3056  bytes 184872 (184.8 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

请注意,这两个输出来自笔记本电脑(我从硬盘启动)上次编辑:老实说,我不知道这台服务器此时是否正在启动,没有视频/串行输出也没用。我想我得从 eBay(HP Mediaserver EX490)买一个 VGA 端口。

答案1

服务器、另一台计算机和笔记本电脑中的以太网硬件无疑是不同的。由于接口命名的持久性,它们也可能有不同的名称。例如,以太网接口在一个计算机中可能被命名为 enp0s25;在另一个计算机中被命名为 enp0s12;在另一个计算机中被命名为 eno1。

因此,正如您所见,在一台计算机上安装 Ubuntu 服务器,然后将硬盘更换到服务器而不对 netplan 进行任何修改,这是不太可能实现的。

故障排除需要找出服务器中的确切接口名称,然后相应地设置 netplan。

我不知道有什么方法可以在没有显示器和键盘的情况下完成此操作。但是,一旦设置完成,服务器就可以在没有它们的情况下重新启动。此后,可以使用 ssh 进行管理。

答案2

在构建机器上,编辑/etc/default/grub并添加net.ifnames=0

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX="net.ifnames=0"

然后:

sudo update-grub

然后编辑 中的 .yaml 文件/etc/netplan,并确保指定的以太网设备是eth0。然后执行:

sudo netplan --debug generate
sudo netplan apply

配置 SSH 以便能够登录。尝试重新启动并在构建机器上尝试此操作。如果您的构建机器的以太网设备是eth0在 grub 更改之后,这应该可以工作。

关闭并将设备移至您的服务器并祈祷以太网能够启动并正常工作!

更新#1:

我刚刚注意到你的基础/etc/netplan/50-cloud-init.yaml还不完整。编辑后应该如下所示...

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: true

然后:

sudo netplan --debug generate
sudo netplan apply

相关内容