一、系统环境
系统: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,及建立隧道。
更多推荐