ipsec,如何使strongswan支持net namespace

strongswan进程启动后只运行在一个net namespace中,后面ike协商出来的所有sa都只存在于一个namespace,对于一个多用户的系统,不同用户的网络可能有重叠,使用namespace做用户隔离是常用手段,对于ipsec,如果使用strongswan做ike协商就有如果使其支持namespace的问题。
开始通过修改strongswan的源码使其支持namespace,原理也比较简单,主要使strongswan于内核通讯(下policy,state表项)的netlink支持namespace即可,根据不同的conn名称,netlink在不同的namespace中创建,修改量不是很大,也运行过一段时间,但是可能是对源码的理解深度不够,除了几个bug,有些bug很难定位。
最近突发发现,使用linux的vti虚拟接口可以使ipsec支持namespace,配置简单,不需要修改源码,当然linux自己的东西肯定比改吧改吧源码稳定。
这里记录一下使用方法,ipsec的一侧(用户侧)基于policy触发协商,另一侧(网关侧)使用vti做用户隔离。

网关侧:

#创建vti接口

ip tunnel add vti-to111 mode vti local 172.16.0.196 remote 172.16.1.111 key 12

#创建namespace

ip netns add test

#设置vti接口的namespace

ip link set netns test dev vti-to111

#配置vti接口的ip地址,和相关路由

ip netns exec test bash

ip addr add 111.1.1.2/24 de
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值