文章目录

一、快速搭建strongswan(一切自动)

1、购买一台Linode服务器。系统选择CentOS7,硬盘分配20244MB,交换内存分配256MB,设置相应的root密码,点击Boot启动服务器。

系统:选择CentOS 7
硬盘分配:20244MB(和那个max的数字一致)
交换内存分配:256MB(默认即可)
root密码:登录这台服务器需要的密码

2、用Xshell 4连接上这台服务器。

【第一步】配置连接中的名称、主机、端口号。

名称:随便填
主机:服务器的ip地址(通过linode上的dashboard查看)
端口号:22(linode一般都是22)

【第二步】配置用户身份验证中的用户名和密码。

用户名:root
密码:刚才创建的时候填的密码

3、自动安装strongswan

【第一步】更新yum源

yum –y update

【第二步】安装epel源。strongSwan的发行版已包含在EPEL源中,目前的版本是5.5.3。

yum -y install epel-release

【第三步】安装strongswan

yum -y install strongswan
注意:使用yum安装,命令ipsec被替代为strongswan。可设置别名来解决这个问题: alias ipsec='strongswan',不过这里不用设置,就用strongswan命令。记录一下,方便以后查阅。  

【第四步】查看当前安装的strongswan版本

strongswan --version
提示:Linux strongSwan U5.5.3/K4.9.50-x86_64-linode86

4、使用脚本自动颁发证书

【第一步】进入ipsec.d目录

cd /etc/strongswan/ipsec.d

【第二步】获取服务器端证书脚本

wget https://raw.githubusercontent.com/michael-loo/strongswan_config/8c6721a4a49ac0382ee9d48ed99abce676bde1c0/server_key.sh

【第三步】修改文件权限为可执行

chmod a+x server_key.sh

【第四步】执行脚本,YOUR_SERVER_IP换成你的服务器的ip地址(刚刚填过)

./server_key.sh YOUR_SERVER_IP

【第五步】获取客户端证书脚本

wget https://github.com/michael-loo/strongswan_config/raw/8c6721a4a49ac0382ee9d48ed99abce676bde1c0/client_key.sh

【第六步】修改文件权限为可执行

chmod a+x client_key.sh

【第七步】执行脚本,YOUR_NAME填写你的名字(任意取),YOUR_EMAIL@qq.com填写你的邮箱(任意)

./client_key.sh YOUR_NAME YOUR_EMAIL@qq.com

在执行的过程中,会提示你输入.p12证书文件的密码,这个密码的意思是,如果以后别人有.p12证书文件,在安装证书的时候需要输入这个密码,否则无法安装证书,这样就避免了证书泄露给别人,然后别人用证书使用你搭建的服务器的风险。

Enter password to protect p12 cert for xxx
Enter Export Password:YOUR_CERT_PASSWORD

5、配置ipsec.conf

【第一步】打开文件ipsec.conf

vi /etc/strongswan/ipsec.conf

【第二步】按i键进入insert编辑模式

i

【第三步】删除文件中的其他文本,替换成以下内容

config setup
    uniqueids=never
    charondebug="cfg 2, dmn 2, ike 2, net 0"

conn %default
    left=%defaultroute
    leftsubnet=0.0.0.0/0
    leftcert=vpnHostCert.pem
    right=%any
    rightsourceip=10.0.0.0/24

conn xauth_pubkey_ikev1
    keyexchange=ikev1
    fragmentation=yes
    rightauth=pubkey
    rightauth2=xauth
    leftsendcert=always
    rekey=no
    auto=add

conn xauth_psk_ikev1
    keyexchange=ikev1
    leftauth=psk
    rightauth=psk
    rightauth2=xauth
    auto=add
    dpdaction=hold
    dpddelay=600s
    dpdtimeout=5s
    lifetime=24h
    ikelifetime=240h
    rekey=no

conn pubkey_ikev2
    keyexchange=ikev2
    leftauth=pubkey
    rightauth=pubkey
    leftsendcert=always
    auto=add

conn eap_ikev2
    keyexchange=ikev2
    ike=aes256-sha1-modp1024!
    rekey=no
    leftauth=pubkey
    leftsendcert=always
    rightauth=eap-mschapv2
    eap_identity=%any
    auto=add

【第四步】按ESC,输入冒号+wq保存修改。wq的含义是write and quit。

ESC
:wq

6、配置strongswan.conf

【第一步】打开strongswan.conf

vi /etc/strongswan/strongswan.conf

【第二步】编辑、保存的操作方式同5,以下是要修改的内容  

charon {  
    load_modular = yes  
    duplicheck.enable = no  
    compress = yes  
    plugins {  
        include strongswan.d/charon/*.conf  
    }  
  
    dns1 = 8.8.8.8  
    dns2 = 8.8.4.4  
    nbns1 = 8.8.8.8  
    nbns2 = 8.8.4.4  
}  
include strongswan.d/*.conf

7、创建VPN帐号

【第一步】打开ipsec.secrets

vi /etc/strongswan/ipsec.secrets

【第二步】添加用户和密码,可以添加很多个。注YOUR_PSK_KEY填写一个复杂的连接VPN的密码,YOUR_USERNAME填写登录用户名,YOUR_PASSWORD填写登录密码。注意:所有的空格、引号都不能去掉!尤其是冒号左右的空格

: RSA vpnHostKey.pem  
: PSK "YOUR_PSK_KEY"  
YOUR_USERNAME %any : EAP "YOUR_PASSWORD"  
YOUR_USERNAME %any : XAUTH "YOUR_PASSWORD"

以后如果要添加新的帐号,修改完这个文件后,要重启strongswan:

systemctl restart strongswan

8、打开ipv4的转发功能

【第一步】打开sysctl.conf

vi /etc/sysctl.conf

【第二步】加入ipv4转发。把以下内容写到sysctl.conf里面

net.ipv4.ip_forward=1

net.ipv6.conf.all.forwarding=1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0

【第三步】更新

sysctl -p
提示:net.ipv4_ip_forward=1……

9、打开防火墙并添加ipsec服务

【第一步】打开防火墙,并查看是否开启成功。

systemctl start firewalld
systemctl status firewalld

【第二步】添加ipsec服务,每执行一条就会提示一次success

firewall-cmd --permanent --add-service="ipsec"  
firewall-cmd --permanent --add-port=4500/udp  
firewall-cmd --permanent --add-masquerade  
firewall-cmd --reload

10、开启strongswan服务

systemctl start strongswan  
systemctl enable strongswan

至此,服务器搭建完成,已经可以用PSK密码+用户名+密码登录使用了。

二、客户端的配置

1、ios11(iphone 7 Plus)

直接使用PSK+用户名+密码登录。

2、ios11(ipad pro 2017)

直接使用PSK+用户名+密码登录。 

3、mac OS X(mac air) 

直接使用PSK+用户名+密码登录。 

4、windows 10

使用证书登录,安装证书的方法:

【第一步】下载.p12证书。用Xftp 4连接上服务器,然后下载etc/strongswan/ipsec.d/YOUR_NAME.p12到本地。

【第二步】win+R,输入certmgr.msc

win + R
certmgr.msc

【第三步】导入.p12证书。个人上面点右键,所有任务,导入。

选择.p12文件

输入证书保护密码:YOUR_CERT_PASSWORD

【第四步】移动strongswan Root CA证书到受信任的根证书颁发机构→证书里面

【第五步】控制面板→网络和Internet→网络和共享中心:设置新的连接或网络→连接到工作区→配置相关信息。

【第六步】进行特殊设置:《strongswan在win10上能连接但无法访问》

这样就能连上strongswan服务器了。

5、windows 8

使用VPN Access Manager软件,用PSK+用户名+密码登录。

【第一步】点击add按钮

【第二步】添加如下配置:

General选项卡:
        Remote Host / Host Name or IP Address:填写你的服务器ip
        Port:500
Client选项卡:
        Maximun packet size:1500
Autheritication选项卡:
        Authentication Method:Mutual PSK+ XAuth
        Credentials:
                 Pre Shared Key:YOUR_PSK_PASSWORD
Phrase1选项卡:
        Exchange Type:main
Phrase2选项卡:
        PFS Exchange:auto

6、android(miui 9)

无法连接上,原因是ipsec.conf有问题,暂时没时间去查找怎么改。 

任何连接的问题都可以通过tail -n40 /var/log/messages查看运行日志找到原因

三、参考链接

1、英语网页《Setup a IPSEC on Centos 7 using Strongswan》

2、《使用strongswan搭建ipsec服务器》

3、《在CentOS 7 上使用strongswan搭建Ipsec》

4、《CentOS7安装strongswan配置梯子科学上网》

5、《CentOS出现“FirewallD is not running”怎么办》

6、《CentOS系统上安装strongswan搭建Ipsec服务器》

7、《CentOS7下Strongswan架设IPSec-IKEv1, IKEv2, L2TP》

8、《CentOS使用strongswan架设》

9、《使用strongswan架设ipsec》

10、《【译】IPSEC.CONF(5) - IPsec配置详解》

11、《配置IPsec VPN(Strongswan)》

12、《StrongSwan 搭建IPsec (IKEv1 and IKEv2) 实现不同局域网之间通讯》


转载请注明出处http://www.bewindoweb.com/123.html | 三颗豆子
分享许可方式知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议
重大发现:转载注明原文网址的同学刚买了彩票就中奖,刚写完代码就跑通,刚转身就遇到了真爱。
你可能还会喜欢
具体问题具体杠