PPTP VPN:外部電腦可以存取網絡,但內部電腦無法存取外部

PPTP VPN:外部電腦可以存取網絡,但內部電腦無法存取外部

我最近為我的家設定了一個VPN(使用Ubuntu 主機和PPTP,請參閱底部的連結),這樣無論我身在何處,我都可以訪問我的伺服器,到目前為止,它按照我想要的方式工作。我已將其設定為任何透過 VPN 連接的遠端電腦都可以進入並存取網路上的任何電腦。我遇到的問題是透過 VPN 連接的電腦無法被網路內部的任何電腦存取。

因此,假設電腦 1 的 IP 為 192.168.0.10 並且物理上位於網路上,而電腦 2 的 IP 為 [更正,它是192.168.0.101不是 192.168.1.101(一切都在同一子網路上)]並且透過 VPN 連線。

電腦 2 可以 ping 電腦 1 並存取 Windows 共用,但由於某種原因,電腦 1 無法 ping 電腦 2 或存取 Windows 共用。

誠然,它確實符合我最初想要的目的(電腦 2 能夠存取網路),但如果它像任何其他電腦一樣出現在網路上,我可以看到一些潛在的用途,因此它可以 ping 所有其他電腦(包括透過VPN 連接的其他電腦),並且其他所有電腦都可以ping 通它。

關於我可以做什麼來解決這個問題有什麼建議嗎?難道這只是 VPN 的工作方式,實際上並沒有問題嗎?

我使用了以下指南:http://forums.bit-tech.net/showthread.PHP?t=132029。我還需要使用一些來自:http://pigtail.net/nicholas/pptp/我需要打開“/etc/sysctl.conf”並取消註解行“#net.ipv4.conf.default.forwarding=1”

編輯 我已經在計算機 1 和計算機 2 上進行了追蹤路由,反之亦然。

電腦 1 到電腦 2:作為第一躍點到達 PPTP 伺服器,但逾時。

電腦 2 到電腦 1:作為第一躍點到達 PPTP 伺服器。作為第二躍點到達計算機 1。

答案1

ping 工作正常的情況很有趣。也許不應該是這樣。

可能的問題是路由。如果您使用192.168.0.x內部位址和192.168.1.xVPN 位址,則內部電腦不知道如何與 VPN 電腦通訊。對於子網路以外的任何位址192.168.0,它們會將請求轉發到您的路由器(沒有更好的說明)。

由於 VPN 電腦不在該/24子網路中,因此它們將轉到您的預設路由 ( 192.168.0.1),並立即被您的路由器丟棄,因為它也不知道如何處理它們。

有兩種方法可以解決這個問題:

  • 在所有內部電腦上設定手動路由,或在路由器中設定單一靜態持久路由。

  • 如果您的路由器允許,簡單的解決方案是將路由新增到其路由表中

方法和支援會根據您的路由器而有所不同,但重點是您希望所有流向192.168.1.0/24(或192.168.1.0網路掩碼255.255.255.0,同一件事)的流量都會發送192.168.0.xxxxxxVPN 伺服器的內部位址。

如果您需要更多詳細信息,或者想發布您的特定路由器以獲得更好的說明,我/我們將盡力提供更多幫助。

編輯:

另一種選擇是更改 PPTPd 配置以給出192.168.0.x位址(確保它們位於內部路由器的 DHCP 伺服器分配的範圍之外)。那麼就不需要路由了,因為所有內容都將位於同一個廣播網域中(該default.forwarding=1線路有效地將您的伺服器變成了一個巨大的交換器)。

相關內容