上一篇博客讲了openswan的部署,现实环境中,可能会有多机房的部署使用,那么今天我就介绍一下生产环境情况,我们只用于简单的远程登录,未考虑到高可用,每个机房都部署了open***,一般是拨北京机房的open***然后通过openswan连接外地各个机房,如果openswan使用不了,就拨外地机房的open***
拓扑图
假设:
机器名 | 公网 | 内网地址 | 网段: |
***-bj | 1.2.3.4 | 10.1.1.20/24 | 10.1.0.0/16 |
***-sh | 2.3.4.5 | 10.2.1.20/24 | 10.2.0.0/16 |
***-wh | 3.4.5.6 | 10.7.1.20/24 | 10.7.0.0/16 |
***-gz | 4.5.6.7 | 10.3.1.20/24 | 10.3.0.0/16 |
***-sz | 5.6.7.8 | 10.4.1.20/24 | 10.4.0.0/16 |
我们内网地址规划过。这里我就不多解释,10.x.1.x 一般是ssh登录使用的网段--(管理网段),还有内网业务网段,远控卡网段,我们每个服务器上都是6个网口
部署流程
1.在北京搭建open***,分配给open***的客户端网段是:10.1.10.0/23
注意:open*** server push给客户端的路由是10.0.0.0/8 把路由聚合起来,要不然用多少网段你就得push多少网段,这里我一条搞定
2.配置北京和上海的openswan
配置流程看上一篇博客,只是环境不一样,其他没什么变化,不是很难,主要是规划配置文件。
先看北京的配置文件。
[root@samanage ipsec.d]# cat /etc/ipsec.conf
# /etc/ipsec.conf - Openswan IPsec configuration file
# This file: /usr/local/share/doc/openswan/ipsec.conf-sample
# Manual: ipsec.conf.5
version 2.0 # conforms to second version of ipsec.conf specification
config setup
nat_traversal=yes
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12
oe=off
protostack=netkey
include /etc/ipsec.d/*.conf
[root@samanage ipsec.d]# ls /etc/ipsec.d/
aacerts certs examples policies zwtosh.conf
cacerts crls ocspcerts private
[root@samanage ipsec.d]# cat zwtosh.conf
conn zwtosh
left=2.3.4.5
leftsubnet=10.2.0.0/16
leftid=@left-bjtosh
leftrsasigkey=0sAQNnt7kSsTQr6YTYLAg……
leftnexthop=%defaultroute
right=1.2.3.4
rightsubnet=10.1.10.0/23
rightid=@right-bjtosh
rightrsasigkey=0sAQOFLbvIwOzFlZu6qN……..
rightnexthop=%defaultroute
auto=start
上海的配置文件和北京的一样即可(直接copy过去),防火墙的设置就不多解释,看上一篇博客,只是具体的ip网段和ip地址不一样,我要说的是:
一:在上海idc内网的机器上添加的路由是
真实机器上的配置文件
[root@appsh01 ~]# cat /etc/sysconfig/static-routes
any net 10.0.0.0 netmask 255.0.0.0 gw 10.2.1.20
为什么推送的是10.0.0.0 为了省事,其他idc内网机器都是这么写的只是后面的gw不同idc写的不一样(各个idc,openswan *** server 的内网管理ip地址)
二:北京内网只允许open***的客户端网段通过,open*** server 和 openswan bj server 是一台机器
这样第一个openswan的打通后,可以部署第二了
北京到武汉
在***-wh机器上操作
1.rpm -q ipsec-tools gmp gmp-devel flex bison 没有yum
2. /bin/cp /etc/sysctl.conf /etc/sysctl.conf.$(date +%F)
sysctl -a | egrep "ipv4.*(accept|send)_redirects" | awk -F "=" '{print $1"= 0"}' >> /etc/sysctl.conf 3. sed -i "s/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g" /etc/sysctl.conf
4. sed -i "s/net.ipv4.conf.default.rp_filter = 1/net.ipv4.conf.default.rp_filter = 0/g" /etc/sysctl.conf
5. sysctl -p 生效配置
6. 下载openswan软件并上传到服务器上
7. tar zxf openswan-2.6.32.tar.gz && cd openswan-2.6.32 && make programs && make install
8. sed –i ”s/protostack=auto/protostack=netkey/g” /etc/ipsec.conf
9. echo “include /etc/ipsec.d/*.conf” >>/etc/ipsec.conf
10.ipsec newhostkey --output /etc/ipsec.secrets
11.[root@***-wh openswan-2.6.32]# ipsec showhostkey --left
# rsakey AQOI3jDZu
leftrsasigkey=0sAQOFLbvIwOzFlP3….
注意北京的openswan 永远作为right
12. Right的key,直接在*** bj 机器上执行 ipsec showhostkey --right即可
13. 在***-wh 上touch /etc/ipsec.d/zwtowh.conf
[root@***-wh ~]# cd /etc/ipsec.d/
[root@ ***-wh ipsec.d]# ll
total 36
drwxr-xr-x 2 root root 4096 Oct 16 10:48 aacerts
drwxr-xr-x 2 root root 4096 Oct 16 10:48 cacerts
drwxr-xr-x 2 root root 4096 Oct 16 10:48 certs
drwxr-xr-x 2 root root 4096 Oct 16 10:48 crls
drwxr-xr-x 2 root root 4096 Oct 16 10:48 examples
drwxr-xr-x 2 root root 4096 Oct 16 10:48 ocspcerts
drwxr-xr-x 2 root root 4096 Oct 16 10:48 policies
drwx------ 2 root root 4096 Oct 16 10:48 private
-rw-r--r-- 1 root root 1100 Nov 21 17:47 zwtowh.conf
[root@ ***-wh ipsec.d]# cat zwtowh.conf
conn zwtowh
left=3.4.5.6
leftid=@left-whstandby
leftsubnet=10.7.0.0/16
leftrsasigkey=0sAQPCIXIM4vuLjwNbQ…….
leftnexthop=%defaultroute
right=1.2.3.4
rightsubnet=10.1.10.0/23
rightid=@right-bjwh
rightrsasigkey=0sAQOFLbvIwOzFlP3………
rightnexthop=%defaultroute
auto=start
[root@ ***-wh ipsec.d]#
然后修改防火墙
[root@ ***-wh ipsec.d]# cat /etc/sysconfig/iptables
# Generated by iptables-save v1.3.5 on Tue Oct 16 10:58:16 2012
*nat
:PREROUTING ACCEPT [18:6543]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -s 10.7.0.0/255.255.0.0 -d ! 10.1.0.0/255.255.0.0 -o eth0 -j MASQUERADE
COMMIT
# Completed on Tue Oct 16 10:58:16 2012
# Generated by iptables-save v1.3.5 on Tue Oct 16 10:58:16 2012
*filter
…….
把这个配置文件scp到bj ***机上 ,重启ipsec之后,在*** wu 机器上检查建立状态
[root@ ***-wh ipsec.d]# /etc/init.d/ipsec status
IPsec running - pluto pid: 7184
pluto pid 7184
1 tunnels up
some eroutes exist
之后在武汉idc的其他机器上执行
echo “any net 10.0.0.0 netmask 255.0.0.0 gw 10.7.1.20” >> /etc/sysconfig/static-routes
好了,大概就这么多,需要自己消化一下,有问题留言吧,我会一一解答
其他idc之间也是这么添加出来的
https://blog.51cto.com/ontheway2015/1105095