上一篇博客讲了openswan的部署,现实环境中,可能会有多机房的部署使用,那么今天我就介绍一下生产环境情况,我们只用于简单的远程登录,未考虑到高可用,每个机房都部署了open***,一般是拨北京机房的open***然后通过openswan连接外地各个机房,如果openswan使用不了,就拨外地机房的open***




拓扑图




harbor多机房同步 多机房部署_运维




假设:



机器名

公网

内网地址

网段:

***-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