如何解决IPsec隧道(从蜂窝路由器到公共服务器)?

我是IPsec的新手,正在为即将在我们运营中广泛使用的设置而苦苦挣扎(前提是我理解它,最终……)。

一个蜂窝路由器(netModule的黑匣子,来自其日志消息,似乎运行Linux和OpenSwan)将客户站点上的传感器networking与公共服务器连接起来。 我们需要能够连接到本地networking,所以我让单元提供商给我一个公共IP(一个dynamic的)。 他们的设置工作的方式,公共IP只允许IPsecstream量。

我在我们的Ubuntu服务器上安装了OpenSwan(运行Jaunty)。 这是来自/etc/ipsec.conf连接configuration:

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

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

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

服务器上的pluto进程侦听端口500上的连接。显然,它不能打开隧道,因为它不知道客户端在哪个IP上。

我在/etc/ipsec.secrets设置了@field.econemon.com的密码PSK,并在路由器(它似乎不支持证书)中configuration它。

我的问题是,没有任何反应。 路由器刚才说IPsec是“down”的。 当我复制粘贴IP到ipsec.conf (“右=”),并要求服务器ipsec auto --up gprs-field-devices ,它只是挂起,直到我按Ctrl-C

我的设置有什么问题吗? 我怎样才能进一步debugging呢?

我的路由器给出了下面的似乎相关的loglines,但是不要告诉任何事情:

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:启动主模式

Feb 21 23:08:20 Netbox daemon.err ipsec__plutorun:104“netbox00”#1:STATE_MAIN_I1:启动

Feb 21 23:08:20 Netbox daemon.err ipsec__plutorun:…无法启动连接“netbox00”

2月21日23:08:22 Netbox authpriv.warn pluto [2497]:来自188.40.57.4:500的数据包:忽略信息有效载荷,inputNO_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:Tunnel 0已closures0秒

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

2月21日23:08:52 Netbox authpriv.warn pluto [2497]:来自188.40.57.4:500的数据包:忽略信息有效载荷,inputNO_PROPOSAL_CHOSEN

一些最初的想法:

  • 是不是为了这个目的而把leftsubnet,rightsubnet和rightnexthop条目注释掉?
  • leftsubnet和rightsubnet应该是networking地址,而不是节点地址。
  • 左侧和右侧应该是设备的公共IP地址。 %任何正确的地址罚款。
  • leftid和rightid是什么vpn设备将宣传自己。 有时候这是他们的公共IP地址。 这取决于设备。

一个好的开始是ipsec.conf手册页 ,它提供了关于安装的一些很好的信息。

ipsec whack --status也是一个很好的命令知道什么时候打开openswan。 这是它的手册页。