Chinaunix首页 | 论坛 | 博客
  • 博客访问: 223998
  • 博文数量: 124
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 1452
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-18 16:03
文章分类

全部博文(124)

文章存档

2017年(1)

2016年(2)

2015年(12)

2014年(70)

2013年(39)

我的朋友

分类: LINUX

2013-02-01 21:48:47

一.Openswan的安装

安装首先平台选用CentOS_5.6_i386,需要2块网卡,一块外部公网IP,一块内网IP,系统安装完毕之后按照下列步骤安装openswan。

(1).使用yum -y install openswan安装openswan。

安装完成之后使用检测命令ipsec verify检查各个条件是否满足,如下图:

图1

(2).接下来就是为了让上述failed变成ok,编辑/etc/sysctl.conf将

# Controls IP packet forwarding

net.ipv4.ip_forward = 0

# Controls source route verification

net.ipv4.conf.default.rp_filter = 1

改为

# Controls IP packet forwarding

net.ipv4.ip_forward = 1

# Controls source route verification

net.ipv4.conf.default.rp_filter = 0

 

(3).运行如下命令配置环境变量

sysctl -a | egrep "ipv4.*(accept|send)_redirects" | awk -F "=" '{print $1"= 0"}' >> /etc/sysctl.conf

成功执行后运行sysctl -p使修改的参数生效。

 

(4).关闭selinux:setenforce 0(关闭selinux,重启失效),接下来永久关闭selinux

修改/etc/selinux/config 把

SELINUX=enforcing

改为

SELINUX=disabled

 

(5).运行chkconfg ipsec on 开机自动启动ipsec服务

 

(6).启动ipsec:service ipsec restart 并重新运行检查命令ipsec verify

如果没有failed了,那安装这一部就大功告成了。

 

 

二.修改配置文件

由于ipsec是公有的vpn协议,因此能兼容不同的设备:

1.两端都使用openswan搭建ipsec VPN。

使用这种方法配置就比较简单,两台的配置文件/etc/ipsec.conf 与/etc/ipsec.secrt完全相同就行了,配置文件内容同下一段内的内容。

 

2.openswan与cisco路由器间建立ipsec VPN。

(1).思科这端的配置

思科ios需要带k9的字样支持vpn的版本。

 

crypto isakmp policy 1           --策略1为本地,优先级最高

 encr 3des                       --IKE加密算法使用3des

 hash md5

 authentication pre-share        --使用预共享密钥方式加密

 group 2                         --group2更安全,使用2能直接和openswan互联

crypto isakmp key 此处输入共享密钥 address x.x.x.x

!                                --输入共享密钥与对方vpn网关的公网IP

crypto ipsec transform-set MYSET esp-3des esp-md5-hmac    

!                                 --创建转发集MYSET

crypto map MYMAP 10 ipsec-isakmp  --MYMAP为自定义名称,10为任意数字,

 set peer x.x.x.x                 --对方vpn网关的公网IP

 set security-association lifetime seconds 28800

 set transform-set MYSET          --挂载之前定义的转发集MYSET 

 match address 100                --匹配ACL 100的策略

  

interface FastEthernet0/0         --进入路由器的公网接口

 crypto map MYMAP                 --接口启用

 

access-list 100 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255

                                  --MYMAP匹配的ACL数据流,定义本地内网1.0网段到对方2.0网段的数据流

 

ip route 0.0.0.0 0.0.0.0 z.z.z.z  --最后别忘记加上默认路由,运营商提供的出口。

 

(2).Openswan的配置

①修改/etc/ipsec.conf

在末尾加上如下参数:

conn net-net                       --随便起个名字

        ike=3des-md5

        authby=secret

        keyingtries=0

        left=x.x.x.x               --这里填写cisco的公网IP 

        leftsubnet=192.168.1.0/24  --cisco那端内网网段

        leftnexthop=%defaultroute  

        right=y.y.y.y              --openswan的公网IP

        rightsubnet=192.168.2.0/24 --openswan这端的内网网段

        rightnexthop=%defaultroute

        compress=no

        auto=start                 --statr:表示启动服务自动连接,add:表示还需使用命令ipsec auto --up 手动连接

 

②修改/etc/ipsec.secrets

加入共享的密钥:

x.x.x.x y.y.y.y : PSK "此处输入共享密钥"

 

完成上述2个文件修改,重启下ipsec服务应该就能建立vpn连接了

测试vpn状态命令:ipsec auto --status

如果如下图表示连接已建立:

然后1.0与2.0网段的互ping测试,通了就表示正常了。

:openswan这台linux服务器如果防火墙没有配置过,可能还会导致有些端口被屏蔽,建议一开始关掉防火墙,然后测试没有问题之后在加上iptables,毕竟直接放外网不开防火墙还是比较危险的,曾经的邮件服务器就是一个杯具。。。

 

三.安全策略:

 

1.添加防火墙3条链的默认处理策略

iptables -p INPUT DROP     --INPUT链(入站规则)可以严厉些,没有允许默认都拒绝

iptables -p OUTPUT ACCEPT  

iptables -p FORWARD ACCEPT --OUTPUT和FORWARD就可以宽松点,没有拒绝就都允许

 

2.由于CentOS默认允许root远程访问,可能导致会被暴力破解,所以可以新建其他账户,修改/etc/ssh/sshd_config把

 

PermitRootLogin yes

改成

PermitRootLogin no

然后使用新建的账户ssh到服务器上,再使用su - 切换到root

 

3.防火墙建立只允许公司指定的外网出口访问本台服务器的ssh服务

iptables -A INPUT -s a.a.a.a(公司出口IP,只能从公司访问此台服务器) -p tcp -m tcp --dport 22 -j ACCEPT

 

4.如果要开放ping服务的话加上

iptables -A INPUT -p icmp -j ACCEPT

 

5.完全信任对方1.0网段的所有服务,可以加上

iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT

 

6.最后别忘记保存防火墙配置:service iptables save --这条命令将把防火墙配置保存到/etc/sysconfig/iptables

阅读(8169) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~