被阻止上網?

被阻止上網?

我不確定......但是當我更新 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得到 Destination Host Unreachable :

$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

僅使用 Wi-Fi :

$ 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

使用 Live CD 時 Wifi 運作正常。

正常開機時,單獨使用行動熱點無線無法上網。

目前 Ubuntu 的無線設定有問題嗎?



更新4

思考VirtualBox 已經安裝了橋接器,我經常使用 VirtualBox。

答案1

maan81 做得很好,將這個問題隔離到路由表中:

  1. 使用安裝碟進行測試排除了所有硬體原因 - 智慧啟動。
  2. 連接到無線路由器驗證了 wlan0 連線配置。

兩個非常精明的步驟。那為什麼無線路由器可以連接,但是上不了Internet的流量呢?

這個問題在 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 中。請參閱規範網路計劃以獲得完整的文件。如果你打算堅持網路計劃,下面的一些內容可能有用,但是網路計劃這是一個太大的主題,無法在這個答案的範圍內處理。

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 會自動為您處理此問題,但並非總是正確。如果您有多個活動網路接口,它將建立多個預設路由。當這種情況發生時,該指標將決定您的網路流量流向何處。

相關內容