我总是运行 Windows 10(以太网和 WiFi 工作正常),但我使用双启动并将发行版从 Arch(约 6 个月前)更改为 Fedora(约 3 个月前)。 Fedora 过去有时能连接,有时不能连接。但是,现在根本无法连接。安特戈斯不会。 Debian 不会。阿奇不会。费多拉不会。
我已经重置了路由器和调制解调器,甚至在另一栋房子里尝试过,但仍然无法连接。如果我设置静态IP,它会“连接”,但我仍然无法访问互联网。 Ping google 甚至我自己的路由器都不起作用(目标主机无法访问)。有什么帮助吗?
lspci | egrep -i --color 'network|ethernet'
00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I217-LM
03:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8723BE PCIe Wireless Network Adapter
我的 MB 上也只有适用于以太网的 Windows 驱动程序。
编辑:尝试在 Antergos 安装上安装以太网驱动程序
tar zxf e1000e-3.3.3.tar.gz
cd e1000e-3.3.3/src/
sudo make install
Makefile 67: *** Kernel header files not in any of the expected locations.
Makefile 68: *** Install the appropriate kernel development package. e.g.
Makefile 69: *** kernel-devel. for building kernel modules and try again. Stop.
编辑2:e1000e驱动安装成功,还是无法连接。与之前相同的错误,如果启用 DHCP,则出现“未知主机”;如果 IP 是静态,则出现“目标主机无法访问”。
编辑3:
cp /etc/network/interfaces /etc/network/interfaces-old
service networking stop
nano /etc/network/interfaces
将这些添加到接口中:
allow-hotplug eth0
iface eth0 inet dhcp
进而:
ifdown eth0
ifup eth0
结果是:
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 7
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 12
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 13
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 14
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 9
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 6
No DHCPOFFERS received.
No working leases in persistent database - sleeping.
grep: /etc/resolv.conf: No such file or directory
然后我创建了一个 resolv.conf,添加了 Google DNS 及其替代名称服务器,并且在 ifdown eth0 和 ifup eth0 后得到了与之前完全相同的结果(除了不同的间隔),除了 resolv.conf 错误不再存在。这篇文章发表于Ubuntu论坛似乎准确地描述了我的问题。
编辑4:解决方案
来自安特戈斯的您好!我通过一种奇怪的模式弄清楚了。如果我的电脑关闭,我打开它,然后直接启动到 Antergos(或我认为的任何发行版),我的以太网和 WiFi 可以工作!但是,如果我先启动到 Windows,然后重新启动(不是关闭和打开,只是 Windows 处理它的“重新启动”选项),我的卡将无法工作。我猜测 Windows 有某种奇怪的重新启动方式,导致与 Linux 发生冲突。我希望我能找到一种在 Windows 中重新启动并让它仍然工作的方法,但我想这真的不重要,只是多了 5 秒左右。感谢大家的帮助,我学到了很多关于 Linux 的知识!我将继续解决这个问题,除非有人知道如何永久解决它,但目前,互联网似乎可以正常工作。
答案1
您需要安装linux-headers
、linux-headers-generic
、build-essential
并dkms
访问AskUbuntu-如何在没有互联网的情况下安装软件或软件包
要安装以太网控制器,请e1000e.x.x.x.tar.gz
从以下位置下载这里
并输入以下命令
tar zxf e1000e-<x.x.x>.tar.gz
cd e1000e-<x.x.x>/src/
sudo make install
modprobe e1000e
使用以下命令验证您的互联网连接并安装 wifi 驱动程序:
git clone https://github.com/lwfinger/rtlwifi_new.git
cd rtlwifi_new
make
sudo make install
sudo modprobe rtl8723be
为了避免同样的问题,最简单的方法是在操作系统安装过程中连接到互联网。
编辑
备份interfaces
cp /etc/network/interfaces /etc/network/interfaces-old
然后输入:
service networking stop
编辑interfaces
nano /etc/network/interfaces
添加以下行;
allow-hotplug eth0
iface eth0 inet dhcp
和
ifdown eth0
ifup eth0
答案2
仅作为手动设置 IP 的信息。设置IP是不够的。您还需要一个路由条目,例如:
ip 路由通过 YOUR-ROUTER-IP dev YOUR-ETH-DEVICE 添加默认值
附加信息
对于手动网络设置,有 2 个选项。
1)没有安装包来管理resolv.conf
编辑 /etc/networ/interfaces 并 modyfy/insert 如下:
auto eth0 iface eth0 inet static address YOUR-IP netmask YOUR Netmask gateway YOUR GW
编辑 /etc/resolv.conf 并创建如下条目:
nameserver YOUR-Nameserver (normally the IP of your provider router/default GW)
2) 安装了 openresolv 或 resolvconf(Debian 名称)等软件包
- 编辑 /etc/networ/interfaces 并 modyfy/insert 如下:
auto eth0 iface eth0 inet static address YOUR-IP netmask YOUR Netmask gateway YOUR GW dns-nameservers YOUR-Nameserver
在这两种情况下,您都不需要如上所述设置默认路由。那只是为了测试。
因此,这里有一些命令可以查看发生了什么情况:
ip link show (displays the link status of the NIC)
ip address show (displays the IP addresses)
ip route show (displays all routes configured)
如果“ping”主机名不成功,请尝试“nslookup hostname”并查看主机名是否可以解析为 IP。