第一步:安装openswan
yum install -y make gcc gmp-devel xmlto bison flex xmlto libpcap-devel lsof vim-enhanced man
yum install nss
yum install libreswan
第二步:配置
1. cat /etc/ipsec.conf
config setup
protostack=netkey
nat_traversal=yes
oe=off
dumpdir=/var/run/pluto/
virtual_private=%v4:10.0.0.0/8,%v4:192.168.8.0/24,%v4:172.16.0.0/16
conn net-net
ike=3des-md5
esp=3des-md5
authby=secret
keyingtries=0
leftid=@openswan
left=172.16.0.17 #--客户需要根据实际情况修改
leftsubnet=172.16.0.0/24 #--客户需要根据实际情况修改
leftnexthop=%defaultroute
rightid=@sangfor
right=101.226.164.148
rightsubnet=192.168.8.0/24
rightnexthop=%defaultroute
compress=yes
ikelifetime=86400
keylife=86400
pfs=no
auto=start
aggrmode=yes #--指定野蛮模式
注:%v4:192.168.8.0/24,%v4:172.16.0.0/16
--192.168.8.0/24为我司内网IP段,
--172.16.0.0/16 是客户内网IP段,
客户根据现实情况修改。
如果想限制对方192.168.3.6只能访问192.168.8.60,可以这样写:
2. cat /etc/ipsec.secrets
include /etc/ipsec.d/*.secrets
@openswan @sangfor: PSK "123456789" #--根据双方协商实际情况填写
3. 内核参数调整
vim /etc/sysctl.conf
添加如下内容
net.ipv4.ip_forward = 1
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.eth0.rp_filter = 0 #标红部分
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.all.log_martians = 0
net.ipv4.conf.default.log_martians = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.icmp_ignore_bogus_error_responses = 1
标红部分根据服务器实际情况来填写,有可能是em1的网卡。
让修改后的sysctl.conf生效
sysctl –p
4. 验证ipsec运行状态
ipsec initnss (两次回车,不需要设置密码)
service ipsec restart 或 systemctl restart ipsec
ipsec verify
如上sysctl.conf参数的修改根据客户服务器的不同,情况会很复杂,
所以要查看ipsec verify是否有error的提示,下图是一个正常的输出。
5. 关闭SELINUX
命令行输入setenforce 0
然后编辑SELINUX启动参数
vim /etc/sysconfig/selinux
SELINUX=disabled
6. 联调测试
双方确认配置完成,参数正确。
LINUX命令行输入ipsec auto --up net-net
出现如上输出,说明VPN接入成功。
如果想启动单臂路由模式,作为跳板机,需要开启iptables转发功能。
iptables -t nat -A POSTROUTING -m policy --dir out --pol none -j MASQUERADE
service iptables save
本层路由器添加一条静态路由 192.168.8.0 255.255.255.0 下一跳交给172.16.0.17 #IP根据实际情况填写。