首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >子网到子网libreswan ipsec vpn

子网到子网libreswan ipsec vpn
EN

Server Fault用户
提问于 2015-03-21 20:01:03
回答 2查看 7.5K关注 0票数 4

我正在使用libreswan在两个Centos 7服务器之间配置一个“子网到子网VPN”。每个服务器都有两个nic,如下图所示。

我将允许子网172.18.0.0/16和172.19.0.0/16之间的安全通信,使用172.17.0.0/16网络建立vpn,但我有问题允许这两个子网之间的通信量。

我遵循了https://access.redhat.com/documentation/en-US/Red_帽子_企业_Linux/7/html/Security_指南/秒-安全_虚拟_私有_Networks.html#站点对站点_VPN_使用_利布斯旺中的红帽子官方文档

实际上我在两个节点上都停止了火。

我检查了ipsec的先决条件:

代码语言:javascript
复制
[root@node2 ~]# ipsec verify
Verifying installed system and configuration files

Version check and ipsec on-path                         [OK]
Libreswan 3.8 (netkey) on 3.10.0-123.el7.x86_64
Checking for IPsec support in kernel                    [OK]
 NETKEY: Testing XFRM related proc values
         ICMP default/send_redirects                    [OK]
         ICMP default/accept_redirects                  [OK]
         XFRM larval drop                               [OK]
Pluto ipsec.conf syntax                                 [OK]
Hardware random device                                  [N/A]
Two or more interfaces found, checking IP forwarding    [OK]
Checking rp_filter                                      [OK]
Checking that pluto is running                          [OK]
 Pluto listening for IKE on udp 500                     [OK]
 Pluto listening for IKE/NAT-T on udp 4500              [OK]
 Pluto ipsec.secret syntax                              [OK]
Checking NAT and MASQUERADEing                          [TEST INCOMPLETE]
Checking 'ip' command                                   [OK]
Checking 'iptables' command                             [OK]
Checking 'prelink' command does not interfere with FIPSChecking for obsolete ipsec.conf options                 [OK]
Opportunistic Encryption                                [DISABLED]

ipsec.conf内容是:

代码语言:javascript
复制
config setup
    protostack=netkey

conn mytunnel
    leftid=@node1
    left=172.17.0.101
    leftrsasigkey=0sAQPXn...        
    rightid=@node2
    right=172.17.0.102
    rightrsasigkey=0sAQPxv...
    authby=rsasig

conn mysubnet
     also=mytunnel
     leftsubnet=172.18.0.0/16
     rightsubnet=172.19.0.0/16
     auto=start

我在两个节点上启动ipsec服务。然后我检查"ipsec状态“(这是输出http://pastebin.com/LYA9uqfJ ),没有发现任何错误。

node1的路由表是:

代码语言:javascript
复制
[root@node1 ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eno16777736
172.18.0.0      0.0.0.0         255.255.255.0   U     0      0        0 eno33554992

如果尝试从node1 ping ip地址172.19.0.101,我就会得到错误的“连接:网络不可达”。

我的配置中缺少什么东西吗?我可以尝试允许这两个子网之间的安全通信吗?

EN

回答 2

Server Fault用户

发布于 2016-04-01 08:13:10

检查net.ipv4.ip_forward设置在sysctl中。

或者,您可以尝试在两边运行tcpdump,看看会发生什么。

示例:

代码语言:javascript
复制
tcpdump -n -i interface esp or udp port 500 or udp port 4500

还可以尝试添加iptables规则,如下所示:

代码语言:javascript
复制
-A FORWARD -i EXTIF -o INIF -j ACCEPT
-A FORWARD -i INIF -o EXTIF -j ACCEPT
-A POSTROUTING -s YOURNET1 ! -d YOURNET2 -j MASQUERADE

关于上面内容的更多细节:

  • EXTIF是您的172.17.0.0/16接口
  • INIF是另一个172.18.0.0或172.19.0.0

我用的是它是如何,我的网络是工作的,但没有发送保持活着的包。强壮的天鹅没有麻烦

票数 0
EN

Server Fault用户

发布于 2018-05-24 15:37:57

连接:网络是不可及的

只有到172.17.0.0/16172.18.0.0/24的路由,没有特定的路由到172.19.0.0/16,或者默认的路由覆盖它,这就是为什么您会得到这个错误。

因此,您必须向远程子网添加特定路由,或者在两个主机上添加默认路由。

顺便说一句,您应该使用ip route来管理路由,而不是route

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

https://serverfault.com/questions/677257

复制
相关文章

相似问题

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