CentOS下使用openswan配置IPsec

基础信息

使用开源的openswan搭建Host_to_Host基于Ipsec RSA加密的Tunnel,用于保障主机之间数据传输的机密性。
openswan由2个组建构成:KLIPS和Pluto。KLIPS是执行加密解密数据的内核级代码,同时管理SPD(Security Policy Databases,安全策略数据库);Pluto是用户登录守护进程,控制IKE(Internet Key Exchange,因特网密钥交换)协商。

安装Openswan

  1. 使用yum安装
    sudo yum whatprovides openswan
    sudo yum install libreswan-3.25-4.1.el7_6.x86_64 -y

启动/检查IPsec

  1. 启动ipsec服务
    sudo systemctl start ipsec
  2. 检查ipsec
    sudo ipsec verify
    [FAILED]条目进行检查
    CentOS下使用openswan配置IPsec_第1张图片
    ipsec_verify
  • 启用ip_forward
    echo 1 > /proc/sys/net/ipv4/ip_forward
  • 禁用send_redirects
    cd /proc/sys/net/ipv4/conf/default && echo 0 > send_redirects
  • 禁用其他选项,使用echo 0 >到其他文件中
  1. 重新检查ipsec
    sudo ipsec verify
    CentOS下使用openswan配置IPsec_第2张图片
    ipsec_re_verify

配置openswan

配置文件:/etc/ipsec.conf/etc/ipsec.secrets
初始化NSS数据库:

cd /etc/ipsec.d
rm -fr ./*.db
ipsec initnss

两个主机之间的机密隧道

  1. 生成rsa密钥
    在left主机中生成密钥/usr/libexec/ipsec/newhostkey --output /etc/ipsec.d/v_to_test.secrets
    CentOS下使用openswan配置IPsec_第3张图片
    newhostkey

    查看生成的密钥idipsec showhostkey --list
  2. 配置文件v_to_test.conf
conn v_to_test
     left=192.168.0.91
     leftid=@v-centos
     lefersasigkey=lef_rsa_key
     #leftnexthop=%defaultroute
     right=192.168.0.92
     rightid=@centos-test
     rightrsasigkey=right_rsa_key
     authby=rsasig
     #rightnexthop=%defaultroute
     auto=start
  1. 将生成的密钥添加到配置文件中
# 查看密钥的id
ipsec showhostkey --list
# 根据id查看rsa公钥-left
ipseck showhostkey --left --ckaid ckaid_id
# 根据id查看rsa公钥-right
ipseck showhostkey --right --ckaid ckaid_id
CentOS下使用openswan配置IPsec_第4张图片
showhostkey
  1. 在left端启动v_to_host的ipsec
    ipsec auto --up v_to_host
    CentOS下使用openswan配置IPsec_第5张图片
    isec_auto
  2. 连同测试
# 在right端启动tcpdump抓取网络端口enp0s3上的esp标签数据包
tcpdump -n -i enp0s3 esp
# 在left端启动ping测试
ping centos-test
# 查看right端数据包抓取情况
CentOS下使用openswan配置IPsec_第6张图片
ping_test
  1. tunnel使用状况
    ipsec whack --trafficstatus

参考

  1. https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/sec-securing_virtual_private_networks

你可能感兴趣的:(CentOS下使用openswan配置IPsec)