一、系统环境

系统:centos 7

openswan版本:2.6.51.5

二、安装编译

1、下载安装包Openswan-2.6.51.5.zip:https://download.openswan.org/openswan/ ,将安装包拷贝到安装目录,本人安装到 /usr/local 目录。

2、卸载系统自带的libreswan

      yum  remove  libreswan*

3、安装gmp

      yum  install  -y  gmp*

4、切换到安装目录,解压安装包

      cd  /usr/local

      unzip  Openswan-2.6.51.5.zip

      cd  Openswan-2.6.51.5

5、编译

      make programs

      make install

三、配置

1、配置内核参数

vim  /etc/sysctl.conf

添加如下内容:

net.ipv4.conf.default.rp_filter = 0

net.ipv4.conf.all.rp_filter = 0

net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.default.send_redirects = 0

net.ipv4.icmp_ignore_bogus_error_responses = 1

net.ipv4.conf.default.log_martians = 0

net.ipv4.conf.all.log_martians = 0

net.ipv4.conf.default.accept_source_route = 0

net.ipv4.conf.all.accept_redirects = 0

net.ipv4.conf.default.accept_redirects = 0

net.ipv4.conf.ens33.rp_filter = 0

net.ipv4.conf.virbr0.rp_filter = 0

net.ipv4.conf.virbr0-nic.rp_filter = 0

保存退出,让修改后的sysctl.conf生效,执行下面命令:

sysctl -p

2、启动ipsec

/etc/rc.d/init.d/ipsec  start

3、验证ipsec运行状态

执行:ipsec   verify

成功。

4、关闭SELINUX

命令行临时关闭输入:

setenforce 0

永久关闭编辑SELINUX启动参数:

vim /etc/sysconfig/selinux

SELINUX=disabled

之后重启系统reboot

5、关闭防火墙

启动: systemctl start firewalld

查看状态: systemctl status firewalld

停止: systemctl stop firewalld

在开机时启用一个服务:systemctl enable firewalld.service

在开机时禁用一个服务:systemctl disable firewalld.service

6、修改配置文件

1)修改/etc/ipsec.conf文件

 如上图,修改以上地方:

protostack 选择netkey模块;

plutostderrlog 配置日志目录

plutodebug 配置日志目录级别,all,打印所有日志;none,打印简单日志

include /etc/ipsec.d/*.conf 配置包涵其他配置文件目录

2)添加预共享密钥,打开文件/etc/ipsec.secrets,如下例子:

 

3)添加隧道建立配置,新建文件/etc/ipsec.d/xxx.conf,注意:xxx可以随意命名,如下例子:

 左右两边的系统的这个配置文件设置成一样,野蛮模式的话在openswam3以上的版本建立隧道失败,但是在2.6的版本成功

四、常用命令

启动|停止|重启ipsec: /etc/rc.d/init.d/ipsec  start | stop | restart

启动隧道:ipsec auto --up test-vm-test

关闭隧道:ipsec auto --down test-vm-test

查看隧道数量:service ipsec status

查看隧道的信息:ipsec  status

抓包查看当前系统的esp协议通信:tcpdump -n -i ens33 esp

抓取主(野蛮)模式及快速模式中交互数据包:tcpdump -i ens33 -vnn port 500

五、左右两边都配置完成后,启动ipsec,及建立隧道。

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐