为什么 ipsec 要我禁用重定向?

为什么 ipsec 要我禁用重定向?

我刚刚配置了一个 VPN 连接(l2tp),但是当我运行时,ipsec verify我得到:

$ ipsec verify
...
 NETKEY: Testing XFRM related proc values
         ICMP default/send_redirects                [NOT DISABLED]

  Disable /proc/sys/net/ipv4/conf/*/send_redirects or NETKEY will cause act on or cause sending of bogus ICMP redirects!

         ICMP default/accept_redirects              [NOT DISABLED]

  Disable /proc/sys/net/ipv4/conf/*/accept_redirects or NETKEY will cause act on or cause sending of bogus ICMP redirects!

         XFRM larval drop                           [OK]

您能用简单的语言解释一下这意味着什么吗?如果我不禁用它们会发生什么?

答案1

为了发送重定向你可以在中找到答案利伯斯旺常见问题解答:

假设您在云中有一个与手机一起使用的 VPN 服务器。您的手机将设置 IPsec VPN,其所有流量都会被加密并发送到云实例,云实例将其解密并使用 SNAT 将其发送到互联网上。它收到的回复会被加密并发送到您的手机。

您的手机将向 VPN 服务器发送加密数据包。服务器在 eth0(它唯一的接口!)上接收它并解密它。然后,解密后的数据包就可以进行路由了。服务器查看应将数据包发送到哪个接口。注定是要从eth0出去的。由于数据包通过 eth0 传入并通过 eth0 发出,因此服务器显然必须有一条不涉及自身的更好路径,因为它从相同的接口发出。它不知道数据包已加密到达并被解密。

这就是为什么我们建议使用以下命令在 /etc/sysctl.conf 中禁用“send_redirects”

也许是强天鹅简介这里更清楚一点:

如果 VPN 网关不是 LAN 的默认网关,如果主机将发往远程主机/子网的流量发送到 VPN 网关,并将它们定向到 LAN 的默认网关(这可能不会),则 ICMP 重定向可能会返回到主机。不起作用,否则可能会导致该流量未加密)。为了避免这种情况,请通过将 net.ipv4.conf.all.send_redirects 和 net.ipv4.conf.default.send_redirects 设置为 0 来禁用发送此类 ICMP 消息(如果在接口出现之前未设置后者,则还要设置选项单独的接口,即 net.ipv4.conf..send_redirects)。

为了接受重定向我认为只是良好的网络实践。由于您的 VPN 网关应该知道所有本地路由,因此任何 ICMP 重定向都是伪造的,应被忽略。

相关内容