http://www.bluestep.cc/教程-使用strongswan-ipsec-vpn软件/
本文将向您展示如何在服务器以及iOS,Android和Windows客户端上安装StrongSwan。 在本文中,服务器使用证书进行身份验证,客户端使用用户名和密码进行身份验证。
我们使用名为ExampleCA的证书颁发机构和名为gateway.example.com的服务器作为本文中的示例。 当然,你必须用自己的选择来取代这些。 同样,您还必须使用您自己的用户名和密码选项。
服务器
首先访问DigitalOcean并开设并资助一个帐户。如果您使用我的链接,当您第一次添加资金时,他们可能会额外获得奖励。按照文章“教程-Windows PC基本设置Linux VPS”来创建和设置您的“droplet”(VPS)。
本文使用Ubuntu 16.04。如果您选择了其他Linux发行版,则需要对Linux命令进行适当更改。
当您创建了水滴时,请安装StrongSwan所需的软件包:
sudo apt-get install strongswan libcharon-extra-plugins
注意:在Debian 9中,还需要安装package strongswan-pki
除非您打算使用真实证书来验证您的服务器,否则请自行创建证书颁发机构(CA)密钥:
sudo ipsec pki --gen --outform pem > caKey.pem sudo mv caKey.pem /etc/ipsec.d/private/caKey.pem sudo chmod 600 /etc/ipsec.d/private/caKey.pem
制作CA证书:
sudo ipsec pki --self --ca --lifetime 3650 --in /etc/ipsec.d/private/caKey.pem --dn“C = CA,O = Example,CN = ExampleCA”--outform pem> caCert.pem sudo mv caCert.pem /etc/ipsec.d/cacerts/caCert.pem
长的命令可能出现在此网页的多行上,但必须作为单个命令输入。
制作服务器密钥:
sudo ipsec pki --gen --outform pem> serverKey.pem sudo mv serverKey.pem /etc/ipsec.d/private/serverKey.pem sudo chmod 600 /etc/ipsec.d/private/serverKey.pem
使用您的CA签署服务器证书:
sudo ipsec pki --pub --in /etc/ipsec.d/private/serverKey.pem | sudo ipsec pki --issue --lifetime 365 --cacert /etc/ipsec.d/cacerts/caCert.pem --cakey /etc/ipsec.d/private/caKey.pem --dn "C=CA, O=Example, CN=gateway.example.com" --san gateway.example.com --flag serverAuth --flag ikeIntermediate --outform pem > serverCert.pem sudo mv serverCert.pem /etc/ipsec.d/certs/serverCert.pem
编辑StrongSwan IPsec配置文件:
sudo vi /etc/ipsec.conf
删除现有内容,并将其替换为:
config setup
conn %default
keyexchange=ikev2
leftid=gateway.example.com
leftcert=serverCert.pem
leftsubnet=0.0.0.0/0
right=%any
rightsourceip=10.9.0.0/24
rightdns=208.67.222.222,208.67.220.220
dpdaction=clear
conn client
leftsendcert=always
rightauth=eap-mschapv2
eap_identity=%identity
auto=add
编辑IPsec“机密”文件:
sudo vi /etc/ipsec.secrets
插入两行:
: RSA serverKey.pem derek : EAP "RhZ7DwL3b"
请注意,第一行冒号前有一个空格。当然,您必须用自己的选择替换用户名和密码。请记住用户名和密码,因为您在配置VPN客户端时稍后需要它们。
通过编辑系统控制配置文件允许在Linux内核中转发:
sudo vi /etc/sysctl.conf
取消注释:
net.ipv4.ip_forward=1
现在就让这个改变生效:
sudo sysctl -p
打开防火墙,对出站报文进行网络地址转换:
sudo iptables -A INPUT -p udp --dport 500 -j ACCEPT sudo iptables -A INPUT -p udp --dport 4500 -j ACCEPT sudo iptables -A INPUT -p 50 -j ACCEPT sudo iptables -A INPUT -p 51 -j ACCEPT sudo iptables -t nat -A POSTROUTING -s 10.9.0.0/24 -o eth0 -j MASQUERADE sudo dpkg-reconfigure iptables-persistent
通过重新启动StrongSwan完成服务器工作,以使所有这些更改生效:
sudo service strongswan restart
也可以通过将您的CA证书放在由Apache提供的简单网页上供下载到客户端,并从外部世界访问:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT sudo dpkg-reconfigure iptables-persistent sudo apt-get install apache2
将证书复制到位:
sudo openssl x509 -outform der -in /etc/ipsec.d/cacerts/caCert.pem -out /var/www/html/caCert.crt
创建您的简单网页:
sudo vi /var/www/html/cacert.html
插入一些HTML以使CA证书可供本机下载
Insert some HTML to make the CA certificate available for download by the client(s):
<!DOCTYPE html> <html> <head> <title>Your CA Certificate</title> </head> <body> <h1>Here Is Your CA Certificate</h1> <p><a href="caCert.crt">caCert.crt</a></p> </body> </html>
这是服务器设置的结束。
iOS客户端
去你的iPhone或iPad。
要导入CA证书,请打开Safari并访问 http://gateway.example.com/cacert.html (当然,您必须根据自己的选择更换主机名)。
点击链接到CA证书。 向导会引导您完成将步骤安装到iPad或iPhone上的步骤。
在导入过程结束时点击Done
现在转到Settings。 点击General部分,然后向下滚动并选择VPN部分。
点击Add VPN Configuration。
类型为IKEv2
描述由您决定,但您可以将StrongSwan放入,例如
服务器 gateway.example.com
在此示例中,远程ID是gateway.example.com
本地ID为空
用户身份验证是Username
使用者名称是您选择的使用者名称
密码是您选择的密码
点击Done。
要连接到VPN,请选择名为StrongSwan的VPN配置。
将状态开关切换到连接(绿色)位置。
Android客户端
转到您的Android手机或平板电脑。
要将CA证书导入到您的Android设备中,请访问Chrome浏览器中的http://gateway.example.com/cacert.html(注意,如果您在Firefox中尝试它,则此功能无效)。
点击指向CA证书的链接。 如果询问,请选择仅使用证书安装程序完成操作。
您可以将证书名称保留为caCert,并将证书用作VPN和应用程序。
点击OK:
CA证书显示在Android设备的“User”选项卡上的“Settings, General, Security, Trusted credentials”下:
从Google Play商店安装StrongSwan VPN客户端:
打开App.
Click ADD VPN PROFILE.
Server is gateway.example.com in this example.
Type is IKEv2 EAP (Username/Password).
Username is your choice of username
Password is your choice of password
For CA certificate, check Select automatically
点击Save.
要连接到VPN,请选择gateway.example.com的VPN连接。
选中我信任此应用程序的框,然后点击确定。
VPN客户端连接到VPN服务器。
Windows客户端
转到您的Windows PC。
要下载您的CA证书,请在浏览器中访问 http://gateway.example.com/cacert.html 。右键单击证书文件,选择将目标另存为,并将其保存到您的下载文件夹。
要将CA证书添加到受信任的根证书颁发机构商店:
打开命令窗口并输入mmc(或在Windows搜索框中搜索mmc ,然后选择Microsoft管理控制台)。
当您询问您是否要允许Microsoft管理控制台应用更改您的PC时,请点击是。
从菜单中,执行文件,然后点击添加/删除管理单元,证书。点击添加即可复制此选项。
最重要的是,选择计算机帐户的单选按钮,然后点击下一步。
选择本地计算机,然后点击完成。
点击确定。
在左窗格的树中,双击证书(本地计算机)。
右键单击受信任的根证书颁发机构商店,然后选择所有任务,然后点击导入。
按照证书导入向导中的步骤浏览并从您的下载文件夹导入文件caCert.crt。您应该收到一条消息,告知导入成功。
关闭Microsoft管理控制台窗口。当系统询问您是否要保存设置时,请选择否。您的 ExampleCA 证书现在出现在受信任的根证书颁发机构商店中:
要添加VPN连接,请点击“开始”按钮,然后选择设置,然后选择网络&amp;互联网,然后是 VPN 。
点击 +添加VPN连接按钮。
VPN提供商是 Windows(内置)
连接名称取决于您,但您可以将StrongSwan作为示例
在此示例中,服务器名称为 gateway.example.com
VPN类型为自动
登录类型为用户名和密码
用户名是您选择的用户名
密码是您选择的密码重要说明:当我将VPN类型设置为 IKEv2 时,VPN不起作用。我可以连接到VPN网关并进行身份验证,但是通过我的PC的非VPN以太网连接发送到外部世界的所有流量。 StrongSwan VPN被标记为无法访问Internet。如上所述,解决方法是将VPN类型设置为自动。
点击Save。
要连接到VPN,请选择名为 StrongSwan 的VPN连接。
按Connect。
Linux客户端
不幸的是,在撰写本文时, network-manager-strongswan 版本1.3.1(问题#1429)出现问题,无法在GNOME网络管理器中添加StrongSwan VPN。 这个问题影响了Debian 8 Jessie和Ubuntu 16.04等等。 Debian 9 Stretch中的Package 1.4.1允许Strongswan在Linux中使用Network Manager。
相关阅读
教程-Windows PC基本设置Linux VPS
教程-使用Brook是跨平台代理VPN软件
教程-使用Goflyway端对端加密HTTP/SOCKS5软件
教程-使用StrongSwan IPsec VPN软件
教程-使用Lantern(Android版)
教程-使用OpenConnect VPN服务器和客户端
教程-使用OpenVPN+obfsproxy代理软件
教程-使用OpenVPN+Shadowsocks软件
教程-使用Psiphon 3 for Android软件
教程-使用Shadowsocks + GoQuiet软件
教程-使用Shadowsocks + kcptun软件
教程-使用Shadowsocks + simple-obfs软件
教程-使用Shadowsocks-libev + simple-obfs软件
教程-使用ShadowsocksR客户端服务器端软件
教程-使用Tor + Private Obfs4 Bridge软件
教程-使用V2Ray软件
教程-使用V2Ray Websocket + Nginx TLS + CDN
教程-使用WireGuard软件
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/362.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~