VPN 從僅 IPv4 到僅 IPv6

VPN 從僅 IPv4 到僅 IPv6

我想隨時隨地存取我的家庭網絡,但只能透過 IPv6 從外部存取。我想要存取的網路通常只有 IPv4。 (如何)我可以透過中間的伺服器存取整個家庭網路嗎?

我們假設以下情況:

網路 A(家庭):

  • 內部 IP 範圍:192.168.0.0/24(我想暫時保留內部 IPv4)
  • 機器 A:aaaa:bbbb:cccc:dddd(可從外部存取 IPv6)
  • 機器 A(內部):192.168.0.1

網路 B(遠端):

  • 內部IP範圍:192.168.178.0/24
  • 機器 B(內部):192.168.178.2
  • 公共IP:1.2.3.4(路由器)

伺服器:

  • IPv4:2.3.4.5
  • IPv6: bbbb:cccc:dddd:eeee

現在我想從192.168.178.2(網路B)存取192.168.0.3(網路A)。這可以使用 OpenVPN / (SSH) 隧道 / iptables / 路由來完成嗎?如果是這樣:如何?

抱歉,通常我有一個半途而廢的方法,或至少有一個想法如何解決我的問題,但我一整天都在想這個,腦子裡只剩下混亂;所以我最好從頭開始。 (當然我的想法是伺服器將IPv6網路A與IPv4網路B連接起來。但是如何呢?)

如果網路 A 和伺服器以及伺服器和網路 B(即網際網路)之間的所有流量都經過加密,則會獲得獎勵積分。

答案1

你沒有提到你正在使用哪些作業系統,所以我只能給你一個一般性的建議:

您必須設定兩個隧道:

  • 機器 A 和伺服器之間的 IPv4-over-IPv6 隧道
  • 機器 B 和伺服器之間的 IPv4-over-IPv4 隧道

在家庭網路上,您必須將流量路由到192.168.178.0/24機器 A。否則,您必須在預設閘道上新增靜態路由才能將該流量傳送到電腦192.168.178.0/24A。

在遠端網路上,您必須將流量路由到192.168.0.0/24機器 B。否則,您必須在預設閘道上新增靜態路由才能將該流量傳送到電腦192.168.0.0/24B。

伺服器將需要兩個靜態路由:

  • 192.168.0.0/24通往機器 A 的 IPv4-over-IPv6 隧道
  • 192.168.178.0/24通往機器 B 的 IPv4-over-IPv4 隧道

現在,家庭網路上的電腦會將其封包傳送192.168.178.0/24到預設閘道。如果這不是機器 A,則預設閘道會將它們轉送到機器 A。伺服器將透過 IPv4-over-IPv4 隧道將它們轉送到機器 B,機器 B 將封包轉送到遠端網路。

現在,遠端網路上的電腦會將其封包傳送192.168.0.0/24到預設閘道。如果這不是機器 B,則預設閘道會將它們轉送到機器 B。伺服器將透過 IPv4-over-IPv6 隧道將它們轉送到機器 A,機器 A 將封包轉送到家庭網路。

我明確地寫下了兩條方向路徑的每一跳。溝通只有在以下情況才有效每一個上述步驟有效。

您可以使用許多協定和應用程式來設定隧道。普通 IPvX-in-IPvY 隧道是最簡單的,但不提供加密。 GRE 隧道也是如此。 OpenVPN 設定起來有點困難,但確實提供加密。看看Linux IPv6 操作方法Linux 高階路由指南的隧道部分查看如何設定隧道。

相關內容