openswan安装部署

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介:

Lclient------------->Lserver……………….Rserver<---------------Rclient

172.16.10.16      10.86.10.17         10.86.10.18           192.168.10.16

 



首先要保证:

1
2
lclient   ping 通lserver和rserver
rclient   ping 通rserver和lserver

安装epel源:

1
2
3
rpm -Uvh http: //mirrors .ustc.edu.cn /fedora/epel/6/x86_64/epel-release-6-8 .noarch.rpm
yum clean all
yum makecache

安装ipsec需要的基础软件包:

1
2
yum -y  install  ipsec-tools                      
yum -yinstall gmp gmp-devel  gawk  flex bison

配置内核参数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
cp  /etc/sysctl .conf /etc/sysctl .conf.bak-$( date  +%F)
cat >> /etc/sysctl .conf<<EOF
#create for darren
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter= 0
net.ipv4.conf.default.accept_source_route= 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.ipv4.conf.eth1.send_redirects= 0
net.ipv4.conf.eth1.accept_redirects= 0
net.ipv4.conf.eth0.send_redirects= 0
net.ipv4.conf.eth0.accept_redirects= 0
net.ipv4.conf.lo.send_redirects= 0
net.ipv4.conf.lo.accept_redirects= 0
net.ipv4.conf.default.send_redirects= 0
net.ipv4.conf.default.accept_redirects= 0
net.ipv4.conf.all.send_redirects= 0
net.ipv4.conf.all.accept_redirects= 0
#create for Darren 2016/9/4
EOF

 

配置时间同步:

1
2
ntpdate pool.ntp.org
echo  '*/5 * * * * /usr/sbin/ntpdate pool.ntp.org'  >> /var/spool/cron/root

下载openswan

1
2
3
4
5
6
mkdir  -p  /home/darren/tools
cd  /home/darren/tools
wget https: //download .openswan.org /openswan/openswan-2 .6.42. tar .gz
cd  openswan-2.6.42
make  programs
make  install

 

验证安装:

1
2
3
4
ipsec --version           #查看版本
ipsec verify            #验证
echo  '1' > /proc/sys/net/core/xfrm_larval_drop     #错误解决
/etc/init .d /ipsec  start       #启动ipsec

 

perl编译问题解决:

1
2
3
echo  'export LC_ALL=C'  >> /etc/profile
tail  -1  /etc/profile
source  /etc/profile

 

配置openswan

1
2
3
openswan的主要配置文件
/etc/ipsec .secrets       #用来保存private RSA keys和preshared secrets      
/etc/ipsec .conf         #主要配置文件(settings、options、defaults、connections)



 

使用RSA数字签名认证方式配置openswan

 

1.在Lserver、Rserver上分别生成新的hostkey:

1
2
cp  /etc/ipsec .secrets  /etc/ipsec .secrets.$( date  +%F)
ipsec newhostkey  --output /etc/ipsec .secrets

此处有坑:生成很长时间没有成功。

1
2
第一,查看是否启动ipsec: /etc/init .d /ipsec  start
第二,实在不行就需要换版本。

  

 

2.在Lserver上执行下面的命令获得leftrsasigkey(即Lserver的公钥public key)

1
ipsec showhostkey --left > /tmp/key .log

 

 

3.在Rserver上执行下面的命令获得Reftrsasigkey(即Lserver的公钥public key)

1
ipsec showhostkey --right > /tmp/key .log

 

 

4.在Lserver及Rserver上编辑/etc/ipsec.conf 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
左边:
cp  /etc/ipsec .conf  /etc/ipsec .conf.$( date  +%F)
vi  /etc/ipsec .conf
#create by darren.
#http://www.w501.pw
version 2.0
config setup
     nat_traversal= yes
    virtual_private=%v4:192.1.1.0 /16 ,%v4:172.1.1.0 /12
     oe=off
     protostack=netkey
  
conn left_lan
    leftsubnet=172.1.1.0 /24    
     also=A-B                       
conn right_lan
    rightsubnet=192.1.1.0 /24   
     also=A-B
###############################################
conn A-B
left=10.86.10.17          
leftid=@left
#leftsubnet=172.1.1.0/24      #如果上面的不要这里可以取消注释。
# rsakey AQOgG5Gq4
# leftrsasigkey=这里的key需要复制/tmp/key.log的内容。
leftnexthop=%defaultroute
right=10.86.10.18         
rightid=@right
#rightsubnet=192.168.1.0/24
# rsakey AQNDxTfqK
#rightrsasigkey=这里的key需要复制/tmp/key.log的内容 
rightnexthop=%defaultroute
auto=start

 

 

1
2
3
4
右边:
cp  /etc/ipsec .conf /etc/ipsec .conf.$( date  +%F)
vi  /etc/ipsec .conf
和左边一样,直接拷贝过去。


此时AB客户端是不能上网的,需要在LR服务器上设置iptables

A:

1
2
iptables-t nat -A POSTROUTING -s 172.1.1.0 /24   -jSNAT --to- source  10.86.10.17
echo 'iptables -t nat -A POSTROUTING -s 172.1.1.0/24 -j MASQUERADE'  >> /etc/rc . local


B:

1
2
iptables-t nat -A POSTROUTING -s 192.1.1.0 /24  –o eth0 -j MASQUERADE
echo 'iptables -t nat -A POSTROUTING -s 192.1.1.0/24 -j MASQUERADE'  >> /etc/rc . local


 

分别重新启动ipsec

A

1
2
/etc/init .d /ipsecrestart
chkconfigipsec on


B

1
2
/etc/init .d /ipsecrestart
chkconfigipsec on

http://blog.51cto.com/xiaodongge/1919502

本文转自 王家东哥 51CTO博客,原文链接:http://blog.51cto.com/xiaodongge/1919502


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
机器学习/深度学习 Web App开发 文字识别
OCRmypdf安装部署深入详解
1、OCRmypdf简介 OCRmyPDF使用最好的可用开源OCR引擎Tesseract执行OCR。 OCRmyPDF是一个Python 3包,将OCR图层处理结果添加到PDF。 OCRmyPDF是功能最丰富且经过彻底测试的OCR PDF转换工具。 2、OCRmypdf支持的系统 1) macOS 2) Ubuntu 16.04 LTS 3)ArchLinux 4)Windows 此外,OCRmypdf提供了docker镜像,可以直接下载镜像、使用。
981 0
|
弹性计算 关系型数据库 应用服务中间件
Wordpress 安装部署
简单几个步骤即可使用 ECS、RDS 进行 wordpress 安装,完成内容站点的部署。
178 0
|
并行计算 数据可视化 Linux
FastDeploy 安装部署
FastDeploy 安装部署
1849 0
FastDeploy 安装部署
|
域名解析 JSON 网络协议
freeipa安装部署
freeipa是linux的一个开源的安全解决方案,它提供账户管理和集中认证,类似于微软的AD(active directory)。
3758 0
|
SQL 分布式计算 关系型数据库
安装部署 | 学习笔记
快速学习 安装部署
134 0
安装部署 | 学习笔记
|
关系型数据库 数据库 PostgreSQL
pgAgent安装部署
pgAgent是PostgreSQL的一个job引擎,可以执行数据库job任务。本文简述其安装步骤 一 安装cmake #检查是否安装 [root@bogon ~]# cmake --version cmake version 2.
2595 0
|
Linux Docker 容器
安装部署应用
安装部署应用
107 0
|
jenkins Java 测试技术
jenkins安装部署实战
Jenkins安装部署 1、首先下载Jenkins.war包,官网:https://jenkins.io/download/,这块用的比较老,为了和配管的版本一致。 2、部署好Jdk和Tomcat 3、去apache官网下载maven软件包,部署好maven 4、svn环境,可以参考之前的博客配置web访问svn仓库篇。
1016 0
|
应用服务中间件 调度 nginx
DockerSwarm 集群环境搭建
Docker Swarm 是一个为 IT 运维团队提供集群和调度能力的编排工具。用户可以把集群中所有 Docker Engine 整合进一个「虚拟 Engine」的资源池,通过执行命令与单一的主 Swarm 进行沟通,而不必分别和每个 Docker Engine 沟通。
1406 0
|
监控 网络协议 Python
Saltstack基本安装部署
配置环境 master节点 :172.16.100.10 minion节点 :172.16.100.20 msater节点 #####安装软件包##### # curl -o /etc/yum.
779 0