全部博文(124)
分类: 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