如何透過基於 AWS 的 Openvpn-AS 實例調試無法存取(從 wan 端)的 lemp 伺服器隧道

如何透過基於 AWS 的 Openvpn-AS 實例調試無法存取(從 wan 端)的 lemp 伺服器隧道

幾週來我一直在絞盡腦汁試圖調試一個曾經完美運行的 LEMP Web 伺服器。我正在使用相對複雜的設定。讓我們從一切正常運行時的設定開始。

步驟 1(工作設定): lemp 伺服器/nginx > Raspberry Pi > 帶轉發連接埠的輔助路由器 > 帶有轉發連接埠的主路由器 > 公共互聯網服務網頁

我正在 Raspberry Pi 4 上的 Raspian 作業系統上運行 Lemp 伺服器。主路由器/數據機將 https 和 http 連接埠轉送到輔助路由器,然後輔助路由器將這些相同的連接埠轉送到樹莓派。樹莓派成功從 certbot 取得證書,並經營一個可透過公共網路存取的功能齊全的網站。

步驟2a(工作設定):lemp 伺服器/nginx > Raspberry Pi > 輔助路由器> EC2 OpenVPN-AS 隧道> 帶有轉發連接埠的主路由器> 公共Amazon Internet 服務網頁接下來,我建立了一個AWS EC2 OpenVPN-AS 實例,並且我將它作為伺服器運行。從那裡,我在我的樹莓派lemp伺服器上安裝openvpn,將我的網域dns更改為指向我的OpanVPN-AS實例的IP位址而不是我的家庭IP,然後在我的lemp伺服器上作為客戶端運行openvpn,成功地透過隧道傳輸我的Web 伺服器透過 OpenVPN AWS 實例連接到公共互聯網。這個設定有效。

直到....

我做了一些事情來完全停止透過 VPN 到伺服器的所有連接。問題是,我完全不知道我做了什麼來改變這個曾經有效的設定。我知道我更新了 pi,我想我可能已經更改了內部主機名,但這就是我在 pi 成為死伺服器之前所記得的內容。

在內部網路上,使用 EC2 隧道時,Web 伺服器仍然使用本機 IP 工作。

我注意到的奇怪之處是,雖然AWS 隧道設定阻止了我的網路伺服器工作,但一旦我將伺服器插回我的家庭路由器而不使用調諧器,並將我的dns 重新指向我的家庭路由器,伺服器就開始公開工作再次。我只是無法確定,自從我的伺服器在透過AWS OVPN 建立隧道後開始工作以來,到底發生了什麼變化,現在它無法解析,但是,它以某種方式在我的家庭IP 上解析,只需更改最少的設定。當從 aws 切換到家庭路由器時,我真正改變的唯一事情是網域 dns 指向的 ip,以及 VPN 隧道是否應該打開或關閉。

至於亞馬遜 ovpn 隧道,也可以正確解析且伺服器正確取得新的亞馬遜 IP 位址。

我知道如何建立伺服器,但是,在調試伺服器並找出連接問題的地方時,我實際上是一個超級菜鳥。所以我的問題是...

有人可以嘗試引導我完成一些步驟來調試這個問題,並讓我的網頁伺服器備份並使用亞馬遜 IP 位址透過我的 openvpn 實例運行嗎?除了透過亞馬遜隧道成功執行 ping 操作以及看起來健康的追蹤路線之外,我根本不知道從哪裡開始。

我的 EC2 連接埠在 443 和 80 上打開,我甚至嘗試關閉所有防火牆,但無濟於事。

任何建議、技巧、演練或初學者友好的踏腳石來幫助我調試這個並找出連接斷開的位置,將不勝感激!

答案1

VPN 日誌是否確認隧道確實已啟動並正在執行?

您說您可以成功追蹤路由到公用 IP 位址。您可以使用 telnet 進行手動連線嗎?例如:如果您的主機IP是123.456.789.123:telnet 123.456.789.123 80

您應該得到如下響應:

正在嘗試 123.456.789.123...已連線到www.example.com。轉義字元是“^]”。

如果有效,您可以使用下列命令測試伺服器: GET /index.htm HTTP/1.1 host: 123.456.789.123 <line feed - hit Enter Doubles>

伺服器應回應索引頁 html: HTTP/1.1 200 OK Date: ...etc

相關內容