如何排除 IPsec 隧道故障(从蜂窝路由器到公共服务器)?

如何排除 IPsec 隧道故障(从蜂窝路由器到公共服务器)?

我是 IPsec 的新手,正在努力研究一种可能很快会在我们的操作中广泛使用的设置(假设我最终理解了它……)。

蜂窝路由器(netModule 的 blackbox,从其日志消息来看,它似乎运行的是 Linux 和 OpenSwan)将客户站点上的传感器网络与我们的公共服务器连接起来。我们需要能够连接到本地网络,所以我让蜂窝提供商给我一个公共 IP(动态 IP)。他们的设置方式是,公共 IP 只允许 IPsec 流量。

我在我们的 Ubuntu 服务器(运行 Jaunty)上设置了 OpenSwan。这是我的连接配置/etc/ipsec.conf

conn gprs-field-devices
    left=my.pub.lic.ip
    [email protected]
    #leftsubnet=192.168.1.129/25
    right=%any
    [email protected]
    #rightsubnet=192.168.1.1/25
    #rightnexthop=%defaultroute
    auto=add

在路由器上,我只有 Web UI,在其中我进行了以下设置:

  • “远程端点”:服务器的公网IP,与上文“左”相同
  • “本地网络地址”:192.168.1.1
  • “本地网络掩码”:255.255.255.128
  • “远程网络地址”:192.168.1.129
  • “远程网络掩码”:255.255.255.128

服务器上的 pluto 进程正在监听端口 500 上的连接。显然,它无法打开隧道,因为它不知道客户端的 IP 位于哪个 IP 地址。

我设置了一个密码作为 PSK,@field.econemon.com/etc/ipsec.secrets在路由器中对其进行了配置(似乎不支持证书)。

我的问题是,什么都没发生。路由器只是说,IPsec 已“关闭”。当我将 IP 复制粘贴到ipsec.conf(表示“正确=”)中,并要求服务器时ipsec auto --up gprs-field-devices,它只是挂起,直到我按下Ctrl-C

我的设置有问题吗?我该如何进一步调试?

我的路由器给出了以下看似相关的日志行,但并没有说明任何事物:

2 月 21 日 23:08:20 Netbox authpriv.warn pluto[2497]: 从“/etc/ipsec.secrets”加载机密

2 月 21 日 23:08:20 Netbox authpriv.warn pluto[2497]: 从“/etc/ipsec.d/hostkey.secrets”加载机密

2 月 21 日 23:08:20 Netbox authpriv.warn pluto[2497]: 从“/etc/ipsec.d/netbox0.secrets”加载机密

2 月 21 日 23:08:20 Netbox authpriv.warn pluto[2497]:“netbox00”#1:启动主模式

2 月 21 日 23:08:20 Netbox daemon.err ipsec__plutorun: 104 "netbox00" #1: STATE_MAIN_I1: 启动

2 月 21 日 23:08:20 Netbox daemon.err ipsec__plutorun:...无法启动 conn“netbox00”

2 月 21 日 23:08:22 Netbox authpriv.warn pluto[2497]: 来自 188.40.57.4:500 的数据包:忽略信息负载,类型 NO_PROPOSAL_CHOSEN

2 月 21 日 23:08:22 Netbox authpriv.warn pluto[2497]: 来自 188.40.57.4:500 的数据包:已接收并忽略信息消息

2 月 21 日 23:08:28 Netbox user.warn parrot.system_controller[762]: IPSECCTRLR: 隧道 0 已关闭 0 秒

2 月 21 日 23:08:40 Netbox user.warn parrot.system_controller[762]: IPSECCTRLR: 隧道 0 已关闭 10 秒

2 月 21 日 23:08:52 Netbox authpriv.warn pluto[2497]: 来自 188.40.57.4:500 的数据包:忽略信息负载,类型 NO_PROPOSAL_CHOSEN

答案1

一些初步想法:

  • leftsubnet、rightsubnet 和 rightnexthop 条目是否被故意注释掉?
  • leftsubnet 和 rightsubnet 应该是网络地址,而不是节点地址。
  • 左边和右边应该是设备的公网 IP 地址。%any 适用于正确的地址。
  • leftid 和 rightid 是 vpn 设备要宣传的。有时这是它们的公共 IP 地址。这取决于设备。

一个好的起点是ipsec.conf 手册页,它提供了一些有关设置的好的信息。

ipsec whack --status在排除 openswan 故障时也是一个很好的命令。这是它的手册页。

相关内容