在 Arch Linux 中使用動態 IP 連接到 WiFi 和使用靜態 IP 的乙太網電纜並維護 Internet
因此,讓我先聲明我不太精通 linux 的方式,因此我很感激簡單的解釋。關於手頭的問題。
問題
我目前正在執行一個 Arch Linux 伺服器(在 archinstall 腳本中選擇了伺服器選項),它主要用於執行 docker 容器,它使用 WiFi 連接到網際網路。我最近決定通過網路交換機(它是一個非託管/即插即用交換機)將一些設備連接到伺服器。由於網路交換機不受管理,我知道我需要手動為連接到它的設備分配 IP 地址。問題是,在任何時候,我都只能讓兩個網路中的一個在系統上正常工作。
如果我配置了乙太網,那麼 WiFi 網路將無法再訪問網際網路(仍然連接到 WiFi 網路,只是無法訪問網際網路)。如果我禁用乙太網,那麼我可以訪問網際網路,但無法訪問有線 LAN 中連接的設備。我該如何解決這個問題,以便兩個網路都已連接並且仍然可以訪問網際網路?
我嘗試了什麼:
我按照此處找到的指南進行操作。我嘗試了 netctl 方法和 systemd 方法。我想說的是,我對乙太網靜態 IP 的 netctl 方法更幸運,但這只是因為它更容易做到。
由於 netctl 也可用於連接 WiFi 網路,因此我嘗試使用它來連接 WiFi 而不是 iwctl,我認為它可能無法正常工作,因為它有 2 個不同的腳本/程序管理它們。但這不起作用,因為 netctl 只是沒有連接到 WiFi 網路。我使用了他們提供的範例“wireless-wpa”,並調整了內容以匹配我所擁有的。起初它不起作用,因為密碼被拒絕了,所以我使用“wpa_passphrase”獲得了加密的密碼並使用了它,但這也不起作用。它只是說’wpa authentication failed’(可能不完全是這樣,我在輸入問題之前確實還原了所有內容,因此錯誤消息中的細節有點偏離)
我確實認為也許我對 netctl ethernet 範例的內容進行了太多更改所以這裡有一個範例說明我更改後的樣子
Description='A basic static ethernet connection' Interface=enp0s26 Connection=ethernet IP=static Address=('192.168.1.102/24') Gateway=('192.168.1.1') DNS=('8.8.8.8' '8.8.4.4') + whatever was there after DNS (I didn't touch those)
是的,我所做的只是更改介面名稱,但我想我應該顯示我使用的配置是什麼。
我如何檢查連接:
我用平。
檢查網際網路訪問是
ping www.google.com
。檢查乙太網連接是
ping 192.168.1.22
(我為我的 Windows 機器設置的 IP)雜項。
靜態 IP 乙太網的 netctl 範例具有不同的 DNS IP。我也嘗試過。但是那裡沒有骰子,我很確定它看起來像這樣:
Description='A basic static ethernet connection' Interface=enp0s26 Connection=ethernet IP=static Address=('192.168.1.102/24') Gateway='192.168.1.1' DNS=('192.168.1.1') + whatever was there after DNS (I didn't touch those)
當我開始輸入問題的標題時,我確實遇到了這個 Stack Exchange問題,但我不知道那裡發生了什麼。
因此,自從發布問題以來,我已經弄清楚了我無法使用 netctl 設置兩個連接的原因,這是一個路由問題。我使用此處的說明來更改系統使用的路由方案並且它可以工作。
好吧,不是 100% 工作,但這只是 netctl 無法隨系統自動啟動的問題,因為介面已經啟動,但這是一個不同的問題。