-1

我需要site-to-site使用远程 VPC (IKEv2 + IPSec) 创建一个 VPN。双方都使用对方的一些网络资源,这些服务主机名使用 DNS 服务器(每侧一个)映射到 IP。A面用Fortigate,B面用StrongSwan

网络如下所示,其中Side B可以访问subnets A1, A2, A3,而Side A可以访问subnet B

设置 1

这是我在 B 面使用的配置

/etc/ipsec.config

conn %default
  keyexchange=ikev2
  mobike=no
  authby=psk

conn sideA
  left=%defaultroute
  leftid=GATEWAY_B_PUBLIC_IP
  leftsubnet=SUBNET_B
  right=GATEWAY_A_PUBLIC_IP
  rightid=GATEWAY_A_PRIVATE_IP
  rightsubnet=SUBNET_A1,SUBNET_A2,SUBNET_A3
  type=tunnel
  auto=start

问题是Subnet A4重叠Subnet B,所以这个配置不起作用。 VPN Gateway B是运行 Ubuntu 20 的虚拟机,因此可以自定义。

4

1 回答 1

0

解决方案

我已经ipsec.conf按照以下内容进行了更改

conn %default
  keyexchange=ikev2
  mobike=no
  authby=psk

conn sideA
  left=%defaultroute
  leftid=GATEWAY_B_PUBLIC_IP
  leftsubnet=VIRTUAL_SUBNET_B
  right=GATEWAY_A_PUBLIC_IP
  rightid=GATEWAY_A_PRIVATE_IP
  rightsubnet=SUBNET_A1,SUBNET_A2,SUBNET_A3
  type=tunnel
  auto=start

其中VIRTUAL_SUBNET_B是一个不与左侧或右侧重叠的虚拟子网。

并创建了以下NAT规则:

iptables -t nat -A PREROUTING -s SUBNET_Ax -d VIRTUAL_SUBNET_B -j NETMAP --to SUBNET_B
iptables -t nat -A POSTROUTING -s SUBNET_B -d SUBNET_Ax -j NETMAP --to VIRTUAL_SUBNET_B

添加以下行/etc/sysctl.conf

net.ipv4.ip_forward = 1
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
于 2021-04-03T08:10:29.110 回答