使用 Openswan 的基于 IPSec 的 VPN - IP 混淆

网络工程 虚拟专用网 ip 网络安全
2021-07-07 09:02:48

我目前正试图将流量从一个 Linux 机器(用于测试目的的本地 VM)路由到我的 Linux (Debian) 服务器,以使用 NAT。我被告知使用 IPSec 将我的数据发送到上述服务器,并决定使用 Openswan 来促进这种情况。我已经成功安装了所需的软件包,但作为一个业余爱好者,我很难理解必须在ipsec.conf. 这是 Debian wiki 上的一个例子的摘录(包括我的评论文本):

left=10.15.109.36   #Is this the public (internet) IP? 
leftsubnet=192.168.50.0/24   #How do I find this one and whats the "/24"?
leftsourceip=192.168.50.X   #What is it and can it be deduced from the above?
leftnexthop=10.15.109.5   #I think this should be my gateway, right?
leftid=@vpngw1   #I assume this is something I can define myself?

我意识到这可能是一个相当笼统的问题,但我可以向您保证,我对这个主题进行了大量挖掘,但找不到全面的解释。

1个回答

您的大部分答案都可以在这里找到:http : //linux.die.net/man/5/ipsec.conf

然而,通过他们说话:

  • left将指定对等体的 IP 地址,正如从右对等体看到的那样通常,这是对等方的公共 IP 地址
  • leftsubnet将为子网指定 IP子网。最后,IPsec SA(安全数据通道)将加密从leftsubnetrightsubnet 的所有内容在您的示例中,由于您似乎只想让您的一个 Linux 机器与您的另一个 Linux 机器通话,您可以使用 /32 掩码直接将这些 Linux 机器的 IP 地址用于左/右子网。
  • leftsourceip这将是 VPN 设备本身通过隧道说话时将使用的地址。如果上面提到的 linux box 是通过 VPN 的唯一预期扬声器,并且也是进行 VPN 处理的机器,那么这将是你的 Linux box 的 IP 地址,并且应该与上面leftsubnet匹配(但不会t 包括一个面具)。
  • leftnexthop这将是进行 VPN 处理的左侧框的默认网关
  • leftid这将最终成为协商中用作 ID 方法的内容(我详细介绍了此问题/答案中的内容)。在大多数情况下,你放什么并不重要——你也可以放一些标识“左”的东西(Linux VM 的主机名,或者“分支”或“开发框”或任何东西)。如果 VPN 连接允许 FQDN/主机名 ID,它将使用它。如果 VPN 连接默认使用其 IP 地址作为其 ID 方法,则 openswan 将自动适应。

以下是手册如何定义每个术语的引述:

  • 剩下

    (必需)左侧参与者的公共网络接口的 IP 地址,采用 ipsec_ttoaddr(3) 接受的任何形式。目前,支持 IPv4 和 IPv6 IP 地址。有几个魔法值。如果是 %defaultroute,并且配置设置部分的接口规范包含 %defaultroute,left 将自动填充默认路由接口的本地地址(在 IPsec 启动时确定);这也会覆盖为 leftnexthop 提供的任何值。(左或右可以是 %defaultroute,但不能同时是两者。)值 %any 表示在协商期间(通过自动键入)填写的地址。值 %opportunistic 表示 left 和 leftnexthop 都将从左侧客户端的 DNS 数据中填充(通过自动键控)。该值还可以包含接口名称,

  • 左子网

    左侧参与者后面的私有子网,表示为网络/网络掩码(实际上是 ipsec_ttosubnet(3) 可接受的任何形式);目前,支持 IPv4 和 IPv6 范围。如果省略,基本上假定为 left/32,表示连接的左端仅到达左参与者

  • 左源ip

    此主机在将数据包传输到此链路的另一端时使用的 IP 地址。只在本地相关,另一端不必同意。此选项用于使网关本身使用其内部 IP(它是 leftsubnet 的一部分)与 rightsubnet 或 rightsubnet 通信。否则,它将使用其最近的 IP 地址,即其公共 IP 地址。该选项主要在定义子网-子网连接时使用,以便网关可以相互通信以及与另一端的子网通信,而无需构建额外的主机-子网、子网-主机和主机-主机隧道。支持 IPv4 和 IPv6 地址。

  • 左下一跳

    左侧参与者连接到公共网络的下一跳网关 IP 地址;默认为 %direct (意思是正确的)。如果该值要被 left=%defaultroute 方法(见上文)覆盖,则不得给出显式值。如果未使用该方法,但 leftnexthop 是 %defaultroute,并且在配置设置部分中使用了 interfaces=%defaultroute,则将使用默认路由接口的下一跳网关地址。魔术值 %direct 表示要使用对等方地址填充(通过自动键入)的值。仅在本地相关,另一端无需同意。

  • 左 ID

    应如何识别左侧参与者以进行身份​​验证;默认为左。可以是 IP 地址(在任何 ipsec_ttoaddr(3) 语法中)或以 @ 开头的完全限定域名(用作文字字符串且未解析)。魔法值 %fromcert 导致将 ID 设置为从加载的证书中获取的 DN。在 2.5.16 之前,如果指定了证书,这是默认设置。魔术值 %none 将 ID 设置为无 ID。这是为了完整性而包含在内,因为 ID 可能已在默认连接中设置,并且人们希望它是默认设置而不是显式设置。魔法值 %myid 代表 myid 的当前设置。这是在配置设置中或通过 ipsec_whack(8)) 设置的,或者,如果未设置,则它是 %defaultroute 中的 IP 地址(如果其反向域中的 TXT 记录支持该地址),