首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自xfrm接口的数据包不会路由,而是相反的工作。

来自xfrm接口的数据包不会路由,而是相反的工作。
EN

Server Fault用户
提问于 2021-07-31 22:20:05
回答 1查看 462关注 0票数 0

我正在开发一个站点对站点的vpn,其中一个是UDM,另一个是Strongswan。目标是向云环境提供双向路由。我完全搞不懂为什么这不管用。

好消息是Strongswan连接并将通过交通。但我在斯特龙天鹅那边有一些路线问题。我的Strongswan主机有两个接口,eth0在eth0上具有公共internet IP,在eth1上内部ip为10.132.169.74

  • 局域网S:10.87.0.0/24、10.87.35.0/24、10.87.235.0/24
  • 云网络: 10.132.0.0/16
  • 10.87.0.1 = UDM
  • 10.132.169.74 = Strongswan eth1并连接到内部云网络10.132.0.0/16
  • 10.87.0.33 =局域网上的测试主机
  • 10.132.40.82 =云网络上的测试主机

现状:

  • 来自10.87.0.33 (Lan测试主机) -> 10.132.169.74 (Strongswan)作品
  • 来自10.132.169.74 (Strongswan) -> 10.87.0.33 (Lan测试主机)工程
  • 来自10.132.40.82 (云测试主机)的-> 10.87.0.33 (Lan测试主机)工作
  • 来自10.87.0.33 (Lan测试主机)的-> 10.132.40.82 (云测试主机)不能工作,这是所有这些最重要的事情。

以下是Strongswan主机10.132.169.74的路由表:

代码语言:javascript
复制
default via x.x.x.x dev eth0 proto static 
10.17.0.0/16 dev eth0 proto kernel scope link src 10.17.0.21 
10.19.49.0/24 dev wg0 proto kernel scope link src 10.19.49.1 
10.87.0.0/16 dev ipsec0 scope link src 10.132.169.74 
10.132.0.0/16 dev eth1 proto kernel scope link src 10.132.169.74 
x.x.x.y/20 dev eth0 proto kernel scope link src x.x.x.z

以下是云测试主机上的路由表(10.132.40.82):

代码语言:javascript
复制
default via x.x.x.x dev eth0 proto static 
10.17.0.0/16 dev eth0 proto kernel scope link src 10.17.0.24 
10.87.0.0/16 via 10.132.169.74 dev eth1 
10.132.0.0/16 dev eth1 proto kernel scope link src 10.132.40.82 
x.x.x.y/20 dev eth0 proto kernel scope link src x.x.x.z 

在Strongswan主机上,我执行以下操作:

代码语言:javascript
复制
sudo ip link add ipsec0 type xfrm dev eth0 if_id 4242
sudo ip link set ipsec0 up
sudo ip route add 10.87.0.0/16 dev ipsec0 src 10.132.169.74

最后是我的天鹅配置:

代码语言:javascript
复制
sudo tee /etc/strongswan.d/charon-systemd.conf  << "EOF"
charon-systemd {
  load=pem pkcs1 x509 revocation constraints pubkey openssl random random nonce aes sha1 sha2 hmac pem pkcs1 x509 revocation curve25519 gmp curl kernel-netlink socket-default updown vici
  journal {
    default=0
    # enc=1
    # asn=1
  }
}
EOF

sudo tee /etc/swanctl/conf.d/xyz.conf << "EOF"
connections {
  vpn-cloud-udm-lan {
    version=2
    proposals=aes128gcm16-sha256-modp2048,aes128-sha256-modp2048
    unique=replace
    encap=yes
    local {
      id=x.x.x.x
      auth=psk
    }
    remote {
      auth=psk
    }
    children {
      net {
        local_ts=10.132.0.0/16
        remote_ts=10.87.0.0/16
        esp_proposals=aes128gcm16-sha256-modp2048,aes128-sha256-modp2048
        start_action=trap
        if_id_in=4242
        if_id_out=4242
      }
    }
  }
}
secrets {
  ike-1 {
    id-vpn-cloud=x.x.x.x
    secret="somesecret"
  }
  ike-2 {
    id-udm-lan=y.y.y.y
    secret="somesecret"
  }
}
EOF

我在斯壮天鹅的主人上说:

代码语言:javascript
复制
net.ipv4.ip_forward=1
net.ipv4.conf.all.forwarding=1
net.ipv4.conf.all.send_redirects=0
net.ipv4.conf.default.send_redirects=0

sudo swanctl --list-sas显示活动隧道,当我ping时,我可以看到计数器上升。此外,在云测试主机上侦听的tcpdump显示没有到达流量,但是在特定场景中,Strongswan主机上的tcpdump确实显示了流量,因此它被丢弃在那里。

任何帮助都是感激的,谢谢!

EN

回答 1

Server Fault用户

发布于 2021-08-01 02:05:49

因此,经过多次头部撞击(不是你对摇滚音乐所做的那种)和咬牙切齿之后,我从这个答案中找到了答案:https://www.digitalocean.com/community/questions/site-to-site-vpn-support-any-updates

数字海洋正在私有接口上丢弃数据包。所以我增加了一个防火墙规则,允许10.87.0.0/24和wahlah的流量!是维克斯!

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1073184

复制
相关文章

相似问题

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