Ubuntu就是連不上192.168.0.1的路由器 / Ubuntu Just Can’t Connect to the Router With Ip 192.168.0.1
結果是因為brdige。
硬體環境 / Enviromment
電腦端的環境如下:
- 作業系統:Ubuntu 20.04 jammy
- 桌面環境:KDE 5.92.0 / Plasma 5.24.7
https://itsfoss.com/display-linux-logo-in-ascii/
附帶一提,上圖是用screenfetch顯示的結果。Linux使用者特別喜歡這種玩意兒。
(圖片來源:D-link)
路由器是用D-link的G415跟M15。D-link家路由器預設內部網路位置是192.168.0.1。這點就跟大部分網路路由器一樣,沒有什麼特別的。
問題 / Issue
在預設的情況下,路由器對內部網路的網路位置是192.168.0.1。但用此網路位置,我的電腦就沒辦法正常連線。
先不說domain name就無法正確解析,出現了「This site can't be reached. XXXXX's server IP address could not be found. 」的錯誤訊息。
想要連上192.168.0.1也不行。出現了「192.168.0.1 refued to connect.」的錯誤訊息。
可以ping得到,沒有問題。
用curl從指令列開啟網頁,就會出現「curl: (7) Failed to connect to 192.168.0.1 port 80 after 0 ms: 連線被拒絕」錯誤訊息。
但是在其他電腦上都能夠正常連線,而且也可以開啟192.168.0.1看到D-link路由器的管理畫面。到底是為什麼呢?
網路問題的原因 / The cause of the network problem
在檢查D-Link路由器的時候,赫然發現連線的設備中,有一個設備是來自我電腦的網卡,而且IP居然是「192.168.0.1」。
趕快回到電腦上用「ifconfig」檢查一下。
br-43387ca6a071: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.0.1 netmask 255.255.240.0 broadcast 192.168.15.255
ether 02:42:44:16:c5:9e txqueuelen 0 (Ethernet)
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
赫然發現有個橋接器(bridge)的IP被設成「192.168.0.1」。而且netmask的範圍應該是蓋過了原本路由器的255.255.255.0,導致IP相互衝突。
我到底什麼時候加上這個橋接器的呢?我也不知道...總之先來把它移除看看吧。
移除橋接器 / Remove bridge
https://www.tecmint.com/create-network-bridge-in-ubuntu/
移除橋接器的指令如下:
nmcli conn del br-43387ca6a071
移除後再用「ifconfig」檢查,可以看到已經沒有橋接器「br-43387ca6a071」。
接著再重新啟動網路,可以發現網路已經正常了。
那個橋接器到底是從哪裡來的呢...
你有遇過類似的網路問題嗎?
歡迎在下方分享喔!