首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将linux配置为通过ipsec隧道(基于策略)从内部网络路由流量

将linux配置为通过ipsec隧道(基于策略)从内部网络路由流量
EN

Server Fault用户
提问于 2020-11-07 07:15:07
回答 1查看 1.6K关注 0票数 3

我的公司提供云服务。我们有一个合作伙伴,也是云服务的宿主。我们想用ipsec / strongswan连接我们的网络和他们的网络。我们的客户端应该能够使用vpn-router-server作为路由器/ vopn网关到达目标服务器。

该设置如下所示:

如何配置我的客户端和vpn-router-server

EN

回答 1

Server Fault用户

发布于 2020-11-07 07:15:07

备注:

  • 我们不知道也不关心合作伙伴netowrk内部设置的细节。我们只知道他们的vpn端点公共ip (1.1.1.1)、他们的内部网络(10.10.10.0/24)和他们服务器的ip入口(例如10.10.10.1)。
  • 我们的vpn-router-server是由公共云提供商托管的IAAS服务器。它有一个可直接访问的外部ip (2.2.2.2)。它确实使用网关到达互联网,然而,由于IAAS提供商处理所有这些,我们没有将它包括在我们的图表中。

在本例中,我们将重点讨论以下场景:

  • 我们的client1将向target server1发送一个ping。其他客户端和目标服务器的工作方式完全相同,只是它们的ips不同。

client1上:

代码语言:javascript
复制
# tell the client to send all traffic for the partner network to the vpn-router-server
$ route add -net 10.10.10.0 gw 192.168.1.1

关于vpn-router-server/etc/ipsec.conf-configuration

代码语言:javascript
复制
config setup
  uniqueids = yes

conn con1
  aggressive = no
  fragmentation = yes
  keyexchange = ikev2
  mobike = yes
  reauth = yes
  rekey = yes
  forceencaps = no
  installpolicy = yes

  left = %any
  leftid = 2.2.2.2
  leftsubnet = 192.168.1.0/24
  leftauth = psk

  right = 1.1.1.1
  rightid = 1.1.1.1
  rightsubnet = 10.10.10.0/24
  rightauth = psk

  ikelifetime = 86400s
  lifetime = 3600s
  ike = aes256gcm16-sha512-ecp521!
  reqid = 1000
  esp = aes256-sha512-ecp521,aes256gcm16-sha512-ecp521,3des-sha512-ecp521,cast128-sha512-ecp521!
  auto = start

设置iptable-rules:

代码语言:javascript
复制
$ iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 ! -p esp -j SNAT --to-source 192.168.1.1
  • -s 192.168.1.0/24只将SNAT应用于我们内部网络的流量。
  • -o eth0仅对通过外部接口eth0输出的通信应用SNAT。
  • ! -p esp不对DSP / ipsec通信本身进行测试。这是最重要的部分,我以前也错过过这部分。
  • -j SNAT系统的流量
  • --to-source 192.168.1.1使用vpn-router-server内部ip作为SNATed数据包的源ip

client1现在应该能够ping target server1了:

代码语言:javascript
复制
$ ping 10.10.10.1

您可以使用vpn-router-server分析tcpdump上发生的事情:

代码语言:javascript
复制
$ tcpdump -n -i eth0 icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
07:10:37.150680 IP 10.10.10.1 > 192.168.1.1: ICMP echo reply, id 7642, seq 1, length 64
07:10:38.152097 IP 10.10.10.1 > 192.168.1.1: ICMP echo reply, id 7642, seq 2, length 64
07:10:39.153237 IP 10.10.10.1 > 192.168.1.1: ICMP echo reply, id 7642, seq 3, length 64
07:10:40.153997 IP 10.10.10.1 > 192.168.1.1: ICMP echo reply, id 7642, seq 4, length 64
07:10:41.154766 IP 10.10.10.1 > 192.168.1.1: ICMP echo reply, id 7642, seq 5, length 64
07:10:42.155937 IP 10.10.10.1 > 192.168.1.1: ICMP echo reply, id 7642, seq 6, length 64

$ tcpdump -n -i eth1 icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 262144 bytes
07:10:46.156162 IP 192.168.1.101 > 10.10.10.1: ICMP echo request, id 7642, seq 10, length 64
07:10:46.161079 IP 10.10.10.1 > 192.168.1.101: ICMP echo reply, id 7642, seq 10, length 64
07:10:47.157485 IP 192.168.1.101 > 10.10.10.1: ICMP echo request, id 7642, seq 11, length 64
07:10:47.162435 IP 10.10.10.1 > 192.168.1.101: ICMP echo reply, id 7642, seq 11, length 64
07:10:48.158920 IP 192.168.1.101 > 10.10.10.1: ICMP echo request, id 7642, seq 12, length 64
07:10:48.163772 IP 10.10.10.1 > 192.168.1.101: ICMP echo reply, id 7642, seq 12, length 64
07:10:49.160364 IP 192.168.1.101 > 10.10.10.1: ICMP echo request, id 7642, seq 13, length 64
07:10:49.165322 IP 10.10.10.1 > 192.168.1.101: ICMP echo reply, id 7642, seq 13, length 64
票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1041627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档