无法访问互联网?

无法访问互联网?

我不确定...但是当我更新 Ubuntu 22.04 及其内核并重新启动时,我被阻止访问互联网;尽管我已连接并且可以访问和登录路由器的管理页面。

我的智能手机处于同一个 WiFi 中,没有任何问题。

更新时是否发生过任何导致笔记本电脑被阻塞的事情?



更新

我没有使用以太网,因为我现在没有以太网电缆,所以我目前无法对此发表评论。

我的wifi芯片基于以下命令:

$ lspci -knn | grep Net -A2
02:00.0 Network controller [0280]: Intel Corporation Wireless 7260 [8086:02b1] (rev 73)
    Subsystem: Intel Corporation Wireless-N 7260 [8086:4462]
    Kernel driver in use: iwlwifi


更新 2

$ ping 8.8.4.4得到目标主机无法访问:

$ping 8.8.4.4
PING 8.8.4.4 (8.8.4.4) 56(84) bytes of data.
From 192.168.1.162 icmp_seq=1 Destination Host Unreachable
From 192.168.1.162 icmp_seq=2 Destination Host Unreachable
From 192.168.1.162 icmp_seq=3 Destination Host Unreachable

我看到了网络共享时传输的数据包。

此外,当使用网络共享时:

$ ip route show
default via 192.168.1.1 dev br0 proto static metric 100 linkdown 
default via 192.168.42.129 dev usb0 proto dhcp metric 100 
default via 192.168.0.1 dev wlan0 proto dhcp metric 600 
169.254.0.0/16 dev wlan0 scope link metric 1000 
192.168.0.0/24 dev wlan0 proto kernel scope link src 192.168.0.109 metric 600 
192.168.1.0/24 dev br0 proto kernel scope link src 192.168.1.162 linkdown 
192.168.42.0/24 dev usb0 proto kernel scope link src 192.168.42.167 metric 100 
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown 

$ dig google.com
; <<>> DiG 9.18.1-1ubuntu1.2-Ubuntu <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13107
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;google.com.            IN  A

;; ANSWER SECTION:
google.com.     285 IN  A   142.250.196.46

;; Query time: 4 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Wed Nov 23 17:04:43 +0545 2022
;; MSG SIZE  rcvd: 55

仅限 Wifi:

$ ip route show
default via 192.168.1.1 dev br0 proto static metric 100 linkdown 
default via 192.168.0.1 dev wlan0 proto dhcp metric 600 
169.254.0.0/16 dev wlan0 scope link metric 1000 
192.168.0.0/24 dev wlan0 proto kernel scope link src 192.168.0.109 metric 600 
192.168.1.0/24 dev br0 proto kernel scope link src 192.168.1.162 linkdown 
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown 


$ dig google.com
; <<>> DiG 9.18.1-1ubuntu1.2-Ubuntu <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45316
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;google.com.            IN  A

;; ANSWER SECTION:
google.com.     102 IN  A   142.250.196.46

;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Wed Nov 23 17:12:16 +0545 2022
;; MSG SIZE  rcvd: 55

我发现有一点不同ip route show

看来使用 wifi 时数据包无法通过网关 (?)。



更新 3

使用实时 CD 时,Wifi 工作正常。

正常开机时,单独使用移动热点无线无法上网。

当前 Ubuntu 的无线设置有问题?



更新 4

思考VirtualBox 已经安装了桥接器,我经常使用 VirtualBox。

答案1

maan81 很好地将这个问题隔离到了路由表中:

  1. 使用安装盘进行测试消除了所有硬件导致的原因——智能启动。
  2. 连接到无线路由器验证了wlan0的连接配置。

两个非常明智的步骤。那么为什么你可以连接到无线路由器,但无法连接到互联网呢?

问题在 maan81 的路由表中变得明显:

$ ip route show
default via 192.168.1.1 dev br0 proto static metric 100 linkdown 
default via 192.168.0.1 dev wlan0 proto dhcp metric 600 
169.254.0.0/16 dev wlan0 scope link metric 1000 
192.168.0.0/24 dev wlan0 proto kernel scope link src 192.168.0.109 metric 600 
192.168.1.0/24 dev br0 proto kernel scope link src 192.168.1.162 linkdown 
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown 

通过 br0 的路由(由于处于链路断开状态,因此无法到达任何地方)的度量(100)低于 wlan0 路由(600)。这意味着它赢得了所有流量除了发往 192.168.0.1 子网的流量。该子网上有一个接口,因此默认路由不适用于该流量。

这里谁是负责人?

您应该采取的第一步是确定哪个网络管理器负责。绝大多数情况下是 NetworkManager。

遗憾的是,maan81 和我跳过了这个步骤,以为 NetworkManager 正在运行,结果我们连续两天都在苦苦追寻,因为桥接器 br0 每次在重启时都会弹出。

# Determine network renderer
netplan get renderer

如果你的渲染器网络管理器您可以跳至故障排除技术。

如果你的渲染器网络化,则您正在运行 netplan,并且所有问题都在 /etc/netplan/*.yaml 中。请参阅规范的 Netplan以获取完整文档。如果您打算坚持使用网络计划,下面的一些内容可能有用,但是网络计划这个话题太大,无法在本答案的范围内处理。

maan81 确实正在运行 netplan 并选择恢复到 NetworkManager。

从 netplan 恢复到 NetworkManager

以下命令以 root 身份执行。cat...EOF命令必须以连续块的形式执行。请注意不要弄乱 .yaml 文件中的缩进 - netplan 对这些事情很挑剔。

mkdir /etc/netplan/old
mv /etc/netplan/*.yaml /etc/netplan/old
cat << 'EOF' > /etc/netplan/01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
EOF
netplan generate && netplan apply && shutdown -r now

这最终解决了 maan81 的网络问题。以下是我们用来找到此解决方案的一些“工具”。

故障排除

备份您的路线表:

# Backup the route table
sudo ip route save > route.bin
# Recover the route table
sudo ip route restore < route.bin

桥梁操纵:

# take bridge br0 down
sudo ip link set br0 down
# bring up bridge br0
sudo ip link set br0 up
# delete bridge br0 (requires bridge-utils)
sudo ip link set br0 down && sudo brctl delbr br0 

更改连接指标

# list connections
nmcli connection
# list devices
nmcli device
# set connection metric # requires link dn/up to take effect
nmcli connection modify <name> ipv4.route-metric <metric>

暴力覆盖默认路由

# Delete the default routes
sudo ip route del default
# Recreate new route to wireless router IP
sudo ip route add default via 192.168.0.1 metric 50 

概括:

在专业领域中,运行多个默认路由被认为是非常糟糕的做法。毕竟,“多个”和“默认”是相互矛盾的概念。

对于用户桌面,NetworkManager 会自动为您处理此问题,但并非总是正确。如果您有多个活动网络接口,它将创建多个默认路由。发生这种情况时,指标将确定您的互联网流量流向何处。

相关内容