CentOS7上使用strongSwan搭建IPsec __虚拟专用网络服务
公司使用电信私有云服务,服务器在电信私有云平台,不支持虚拟专用网络产品,需要自行搭建虚拟专用网络站点,公司内部使用华为usg防火墙做为虚拟专用网络网关。为解决公司到云平台网络互通,故决定使用ipsec搭建站点到站点虚拟专用网络隧道。
服务器公网IP要作为我们的网关,需要将服务器开启转发:
加入此行 net.ipv4.ip_forward = 1
利用iptables 实现nat MASQUERADE 共享上网
1、安装strongSwan,可以使用源码安装,但此次我们主要针对配置相关讲解,故使用yum安装
2、查看strongSwan版本,命令和结果如下:
3、安装完成先配置ipsec.conf文件。
以下是真实的配置文件:
4、配置ipsec.secrets文件。
配置文件如下:PSK需要是大写,冒号前后需要有空格,密码需要有双引号
5、配置 sysctl.conf文件
配置文件如下:
使配置生效:
6、启动服务:
IPSec监听在UDP的500和4500两个端口,其中500是用来IKE密钥交换协商,4500是nat穿透的。
7、设置开机自动启动
8、运行strongswan status,查看IPsec 状态已经建立。
9、运行ip xfrm policy,查看路由策略。可以看到路由已建立。
IKEV2 ipsec 在ubuntu18.04下配置过程(一)
由于客户安全需要,对其内部业务服务器进行保护,遂使用ikev2 ipsec 虚拟专用网络接入其内部网络,认证过程采用freeradius,本文章介绍ipsec配置过程,下篇文章介绍freeradius安装配置。
1、更新系统
apt-get update
2、安装所需软件
apt-get install -y language-pack-en strongswan libstrongswan-standard-plugins strongswan-libcharon libcharon-standard-plugins libcharon-extra-plugins moreutils iptables-persistent
3、安装cerbot
1)
apt-get install certbot
2)
mkdir -p /etc/letsencrypt
echo ’rsa-key-size = 4096
pre-hook = /sbin/iptables -I INPUT -p tcp –dport 80 -j ACCEPT
post-hook = /sbin/iptables -D INPUT -p tcp –dport 80 -j ACCEPT
renew-hook = /usr/sbin/ipsec reload /usr/sbin/ipsec secrets
’ /etc/letsencrypt/cli.ini
3)
certbot certonly –non-interactive –agree-tos –standalone –preferred-challenges http –email your@email.com -d your.domain.com
注意这里的邮箱地址和域名要更改为自己的实际地址
4)
ln -f -s /etc/letsencrypt/live/YOUR.DOMAIN.COM/cert.pem /etc/ipsec.d/certs/cert.pem
ln -f -s /etc/letsencrypt/live/YOUR.DOMAIN.COM/privkey.pem /etc/ipsec.d/private/privkey.pem
ln -f -s /etc/letsencrypt/live/YOUR.DOMAIN.COM/chain.pem /etc/ipsec.d/cacerts/chain.pem
5)
echo ”/etc/letsencrypt/archive/YOUR.DOMAIN.COM/* r,
” /etc/apparmor.d/local/usr.lib.ipsec.charon
6)
aa-status –enabled invoke-rc.d apparmor reload
StrongSwan 搭建IPsec (IKEv1 and IKEv2) 实现不同局域网之间通讯
使用strongswan搭建属于你自己的私有IPsec (IKEv1 IKEv2)
一、 环境和前期准备工作
1. 环境
2. 配置环境
br /
二、 搭建步骤
注意事项: 安装后一定要做软连接,并且清楚自己的虚拟化方案是哪个,加入正确的配置,否者会照成无法上网
注意事项 : 服务器这边的CN一定是你网卡的ip,或者你网卡ip对应的域名,–san 设置设置别名,建议设置两个或者两个以上,分别为你的域名和网卡ip;–flag serverAuth 表示证书使用用途,不加windows 7会报错,非 iOS 的 Mac OS X 要求了“IP 安全网络密钥互换居间(IP Security IKE Intermediate)”这种增强型密钥用法(EKU),–flag ikdeIntermediate;
vim /usr/local/strongswan/etc/ipsec.conf
vim /usr/local/strongswan/etc/strongswan.conf
2.编辑 /etc/systcl.conf
3.开启 firewall的转发功能
三、 各种终端测试
配置L2TP+IPSec虚拟专用网
L2TP+IPSec虚拟专用网
特点:跨平台,数据加密传输,安全
1,部署IPSec服务
1)安装软件包
[root@client ~]# yum -y install libreswan
2)新建IPSec密钥验证配置文件
[root@client ~]# cat /etc/ipsec.conf //仅查看一下该主配置文件
.. ..
include /etc/ipsec.d/ .conf //加载该目录下的所有配置文件
[root@client ~]# vim /etc/ipsec.d/myipsec.conf
//新建该文件,参考lnmp_soft/***/myipsec.conf
conn IDC-PSK-NAT
rightsubnet=vhost:%priv //允许建立的×××虚拟网络
also=IDC-PSK-noNAT
conn IDC-PSK-noNAT
authby=secret //加密认证
ike=3des-sha1;modp1024 //算法
phase2alg=aes256-sha1;modp2048 //算法
pfs=no
auto=add
keyingtries=3
rekey=no
ikelifetime=8h
keylife=3h
type=transport
left=201.1.2.10 //重要,服务器本机的外网IP
leftprotoport=17/1701
right=%any //允许任何客户端连接
rightprotoport=17/%any
3)创建IPSec预定义共享密钥
[root@client ~]# cat /etc/ipsec.secrets //仅查看,不要修改该文件
include /etc/ipsec.d/
.secrets
[root@client ~]# vim /etc/ipsec.d/mypass.secrets //新建该文件
201.1.2.10 %any: PSK ”randpass” //randpass为预共享密钥
//201.1.2.10是×××服务器的IP
4)启动IPSec服务
[root@client ~]# systemctl start ipsec
[root@client ~]# netstat -ntulp |grep pluto
udp 0 0 127.0.0.1:4500 0.0.0.0: 3148/pluto
udp 0 0 192.168.4.10:4500 0.0.0.0:
3148/pluto
udp 0 0 201.1.2.10:4500 0.0.0.0: 3148/pluto
udp 0 0 127.0.0.1:500 0.0.0.0:
3148/pluto
udp 0 0 192.168.4.10:500 0.0.0.0: 3148/pluto
udp 0 0 201.1.2.10:500 0.0.0.0:
3148/pluto
udp6 0 0 ::1:500 :::* 3148/pluto
3.2 部署XL2TP服务
1)安装软件包(软件包参考lnmp_soft)
[root@client ~]# yum localinstall xl2tpd-1.3.8-2.el7.x86_64.rpm
2) 修改xl2tp配置文件(修改3个配置文件的内容)
[root@client ~]# vim /etc/xl2tpd/xl2tpd.conf //修改主配置文件
[global]
.. ..
[lns default]
.. ..
ip range = 192.168.3.128-192.168.3.254 //分配给客户端的IP池
local ip = 201.1.2.10 //×××服务器的IP地址
[root@client ~]# vim /etc/ppp/options.xl2tpd //认证配置
require-mschap-v2 //添加一行,强制要求认证 物联网开发找 上海捌跃网络科技有限公司
#crtscts //注释或删除该行
#lock //注释或删除该行
root@client ~]# vim /etc/ppp/chap-secrets //修改密码文件
jacob 123456 //账户名称 服务器标记 密码 客户端IP
3)启动服务
[root@client ~]# systemctl start xl2tpd
[root@client ~]# netstat -ntulp |grep xl2tpd
udp 0 0 0.0.0.0:1701 0.0.0.0:* 3580/xl2tpd
4)设置路由转发,防火墙
[root@client ~]# echo ”1” /proc/sys/net/ipv4/ip_forward
[root@client ~]# firewall-cmd –set-default-zone=trusted
5)×××设置(非必需操作)
[root@client ~]# iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -j SNAT –to-source 201.1.2.10
3.3客户端设置
1)新建网络连接,输入×××服务器账户与密码。
设置×××连接的属性,预共享密钥是IPSec配置文件中填写的randpass,具体操作如图所示。(高版本不用这么麻烦)
2)设置Windows注册表(不修改注册表,连接×××默认会报789错误),具体操作如下:(win7以上不用操作)
单击”开始”,单击”运行”,键入”regedit”,然后单击”确定”
找到下面的注册表子项,然后单击它:
HKEY_LOCAL_MACHINE\ System\CurrentControlSet\Services\Rasman\Parameters
在”编辑”菜单上,单击”新建”-”DWORD值”
在”名称”框中,键入”ProhibitIpSec”
在”数值数据”框中,键入”1”,然后单击”确定”
退出注册表编辑器,然后重新启动计算机
连接×××并测试网络连通性。
转自:
暂无评论内容