Ubuntu
設備 -> 設備流量在網路內部被阻止
我遇到了一個奇怪的問題,我已經嘗試理解和修復了幾個小時。
我有三台主要機器,它們是這樣設置的:
- M1:Raspberry pi 3 (raspbian lite),執行 caddy 作為反向代理/靜態 Web 伺服器。
--network host
Caddy 帶著標誌在 docker 內部執行。該設備為非常小的靜態網站提供服務,並將流量重定向到 M2 和 M3。這是唯一暴露在網際網路上的設備。- M2:小型伺服器(Ubuntu 18.04),用於部署客戶端的應用程序和其他東西。所有應用都使用docker部署,流量從M1進來,轉發到本機
- M3:執行 Plex 和其他我需要從外部訪問的日常應用程序的小型伺服器。再一次,所有流量都來自 M1 並被重定向到這台機器(一台舊筆記型電腦)
我遇到了一個問題,即 M1 既不能訪問 M2 也不能訪問 M3。首先,重定向不起作用,即當我嘗試訪問 M2 和 M3 上的數據時,我得到一個空白頁。如果我嘗試使用簡單的從 M1 訪問 M2 或 M3
curl
,我無法連接到它們中的任何一個,並出現以下錯誤:curl: (7) Failed to connect to <M2> port 7000: No route to host.
嘗試從 M2/M3 訪問託管在 M1 上的網站可以正常工作,但訪問其他任何內容(即簡單的 REST 伺服器)會返回與以前相同的問題,即
No route to host
錯誤。這些是我嘗試過的事情:
- 在所有機器上禁用防火牆:沒有運氣,和以前一樣的問題
- 禁用路由器上的防火牆:再次沒有運氣
- 關閉非必要服務:沒有工作
我還安裝了帶有PIVPN的 WireGuard ,並且正確安裝了everyhting,但同樣的事情發生了。握手成功,IP 顯示為來自家裡的 IP,但流量並沒有真正轉發,因為當我嘗試訪問路由器的管理面板時它不起作用。
似乎有什麼東西阻止了設備訪問網路上的其他設備。除了禁用所有不同的防火牆之外,不幸的是我不知道如何進行。有誰知道它可能是什麼?
最後,我已經確認問題都來自我的路由器。重新啟動解決了我遇到的所有問題。我嘗試禁用防火牆規則,更改網路配置等,最後重新啟動修復了這一切。我現在正在與我的 ISP 聯繫以獲得新的。謝謝大家的幫助
沒有到主機的路由意味著 M1 伺服器在其路由表中沒有 M2 和 M3 的條目。
可能出現的問題:
- 在 M1 上沒有配置到 M2 和 M3 的預設網關(或靜態路由)
- M1 和/或 M2 和/或 M3 上的網路配置錯誤(即錯誤的子網遮罩)
檢查 M1、M2、M3 上的路由表和網路設置:
路由表命令:
- ip路由
- 網路統計 -nr
網路設置命令:
- IP地址
- 如果配置