Linux IPSec 问题。(CentOs 5.3,手动键入)

Linux IPSec 问题。(CentOs 5.3,手动键入)

我正在从 Linux 机器到运行标准固件的 SonicWall 防火墙创建 IPSec 隧道。隧道似乎创建得很好,但从 Linux 机器到远程网络的数据包没有被路由到隧道中。来自远程网络的数据包似乎没问题。从 Linux 机器到安全远程网络的 ping 尝试通过正常路由表进行路由。

查看路由表和缓存,没有 192.168.1.0(远程网络)的条目。根据文档,我的预期是隧道策略会插入路由。

任何想法都值得赞赏。

谢谢,布拉德

这是我的会议脚本:

#!/sbin/setkey -f
# Configuration for 172.16.89.100

# Flush the SAD and SPD
flush;
spdflush;

add 172.16.89.100 172.20.241.2 ah 0x200 -m tunnel -A hmac-sha1
0xredacted00000000000000000000000000000000;
add 172.20.241.2 172.16.89.100 ah 0x300 -m tunnel -A hmac-sha1
0xredacted00000000000000000000000000000000;

add 172.16.89.100 172.20.241.2 esp 0x201 -m tunnel -E 3des-cbc
0xredacted0000000000000000000000000000000000000000;
add 172.20.241.2 172.16.89.100 esp 0x301 -m tunnel -E 3des-cbc
0xredacted0000000000000000000000000000000000000000;

# Security policies
spdadd 10.114.89.0/24 192.168.1.0/24 any -P out ipsec
           esp/tunnel/172.16.89.100-172.20.241.2/require
           ah/tunnel/172.16.89.100-172.20.241.2/require;

spdadd 192.168.1.0/24 10.114.89.0/24 any -P in ipsec
           esp/tunnel/172.20.241.2-172.16.89.100/require
           ah/tunnel/172.20.241.2-172.16.89.100/require;

#Forward Policy
#DOH!  iptools > 0.5 do this automatically.
#spdadd 192.168.1.0/24 10.114.89.0/24 any -P fwd ipsec
#           esp/tunnel/172.20.241.2-172.16.89.100/require
#           ah/tunnel/172.20.241.2-172.16.89.100/require;

答案1

  • 如果您在非 Linux 机箱默认网关的机器上运行 vpn,那么您将需要在 Linux 机箱上添加指向正确网关的路由。

  • 检查你的防火墙规则。你不想伪装通过 VPN 的流量。

你可能已经看过了,但是看看Linux IPsec 如何

您可能还想研究使用 racoon,它可以减轻 ipsec 配置的一些麻烦。

答案2

1) 您不需要特殊路由。如果您可以在没有 IPSec 的情况下进行通信,那么一切就都正常了。

2) 检查防火墙和 IPtables。协议从 TCP 更改为 AH 和 ESP。这可能会让人感到困惑(或者对我来说就是这样),因为我们习惯于只考虑 TCP/IP。

答案3

我遇到了同样的问题,但不知道为什么。我读到过某处说你不需要路由条目,因为内核直接通过 ipsec 安全关联 (sa) 来处理它。

尽管如此,如果您设置如下静态路由,它应该可以工作(并且对我来说是有效的):

ip route add 192.168.1.0/24 via 172.16.89.100

相关内容