我从 Arch Linux 网站下载了最新的 ISO 映像,并使用您可以在网络上找到的许多工具将 .iso 文件刻录到 USB 驱动器上。
进入外壳屏幕后,我尝试测试与互联网的连接,但它不起作用。我的以太网卡被正确检测到(如果我执行 ifconfig 就可以看到它)并且也处于“启动”状态。
我已经尝试使用手动设置配置以太网工具但没有运气。另外,我已经尝试重新激活 DHCP 服务,但仍然没有成功。我尝试打开/关闭接口并手动配置 IP 地址,但仍然不起作用。
我在 dmesg 中搜索,据我所知,我的 realtek 卡的内核 r8xxx 模块已正确加载。
我真的没有选择了。最令人沮丧的是,只有使用 Arch Linux 时我才会遇到这个问题。所有其他发行版都运行得很好,从 DHCP 获取 IP 地址,而无需我自己干预,所以这里不是兼容性问题,而是配置问题。
我还注意到,丢弃的数据包数量随着时间的推移而增加。
以下是命令的一些输出:
ping 8.8.8.8
connect: Network is unreachable
ethtool enp7s1
Settings for enp7s1:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: Yes
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Link partner advertised pause frame use: No
Link partner advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: MII
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000033 (51)
drv probe ifdown ifup
Link detected: yes
ifconfig
enp7s1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::16da:e9ff:fe21:fdbf prefixlen 64 scopeid 0x20<link>
ether 14:da:e9:21:fd:bf txqueuelen 1000 (Ethernet)
RX packets 943 bytes 64724 (63.2 KiB)
RX errors 0 dropped 117 overruns 0 frame 0
TX packets 17 bytes 2933 (2.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
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 0 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp7s1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 14:da:e9:21:fd:bf brd ff:ff:ff:ff:ff:ff
dmesg | grep r8169
[ 2.742091] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
[ 2.742154] r8169 0000:07:01.0 (unregistered net_device): not PCI Express
[ 2.742666] r8169 0000:07:01.0 eth0: RTL8169sc/8110sc at 0xffffc9000181e000, 14:da:e9:21:fd:bf, XID 18000000 IRQ 19
[ 2.742668] r8169 0000:07:01.0 eth0: jumbo features [frames: 7152 bytes, tx checksumming: ok]
[ 9.037449] r8169 0000:07:01.0 enp7s1: link down
[ 9.037502] r8169 0000:07:01.0 enp7s1: link down
[ 11.874477] r8169 0000:07:01.0 enp7s1: link up
route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
sudo systemctl status dhcpcd
● dhcpcd.service - dhcpcd on all interfaces
Loaded: loaded (/usr/lib/systemd/system/dhcpcd.service; disabled)
Active: inactive (dead)
我还尝试简单地运行“dhcpd”,它似乎有效(他看到了我的路由器并租给了我一个IP地址),但在某些时候它超时并且没有获得IP。
答案1
我解决了这个问题。显然我的路由器(Fritz Box)和 Archlinux 上的 dhcp 版本之间存在问题。他们不能正确互动。要建立互联网连接,请进入 Fritz Box 设置并删除与您的机器相关的 IP。一旦你这样做了,路由器就会像它应该的那样给出IP。问题出在 FritzBox 设置中的“为这台机器分配相同的 IP”选项。显然,当你选择这个选项时,Arch 上的 DHCP 就会变得疯狂。只需禁用它,返回您的电脑并获取一个地址,然后您就可以毫无问题地重新启用它。不管怎样,谢谢你的帮助。
答案2
我认为该问题是由 Windows/Arch Linux 双引导设置引起的。 Windows 和 Arch Linux DHCP 客户端识别 PC 的方式不同,因此路由器认为它们不是同一个。环境客户端ID代替杜伊德为/etc/dhcpcd.conf
我解决了这个问题(从本论坛主题)。我还有一个 Fritz Box ADSL 调制解调器/路由器 (Fon WLAN 7113)。
和杜伊德设置后,Fritz Box Web 界面使用网络接口名称列出了我的电脑(恩普2s0) 而不是主机名。不确定这是否相关,但这确实让我感到奇怪。