centos ikev2 搭建配置ikev2 iphone怎么设置

[求助]windows phone 科学上网方法! IKEv2 服务器端怎么设置啊? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
已注册用户请 &
[求助]windows phone 科学上网方法! IKEv2 服务器端怎么设置啊?
13:14:33 +08:00 · 4291 次点击
完全不知道IKEv2是什么东西, google了半天, 参考
这篇文章搭建的server, 也不知道server成功了没!!再查看
客户端设置教程, 不知道怎么用!!有没有更详细的教程? 有没有成功了的同学?
6 回复 &| &直到
22:38:15 +08:00
& & 13:34:53 +08:00 via iPhone
升级到 8.1 Update, 用 IpSec
& & 13:52:02 +08:00
& & 15:03:19 +08:00
按这个方法,用strongswan搭建,然后加一步:进sysctl.conf将ipv4转发打开
即可。
& & 16:18:48 +08:00
我当时参考这个文档(http://zh.opensuse.org/SDB:Setup_Ipsec_VPN_with_Strongswan#.E4.BB.80.E4.B9.88.E6.98.AF_IPsec.EF.BC.9F)搭建成功的,不过我用的是CentOS 6.5 on Linode VPS,半年来运行非常稳定。
& & 16:54:30 +08:00
@ 当然已经升级到8.1了啊
@ 非常感谢两位的链接, 搭建成功
@ 我使用2楼的教程, 搭建成功了, ubuntu 14.04 on Linode VPS !
& &222 天前
@ 你那边网络还能用?今年1月起我在vps上自建的ikev2就不能用了,Astrill还发公告了。。
& · & 181 人在线 & 最高记录 1684 & · &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.6 · 47ms · UTC 21:36 · PVG 05:36 · LAX 14:36 · JFK 17:36? Do have faith in what you're doing.在Ubuntu/Debian系统中部署strongswan VPN服务器,同时支持IKE1, IKE2的IPSec VPN服务器。
客户端采用证书或PSK方式+账号密码进行认证。
支持的客户端有Linux,Android,Windows XP/7, iOS等。
本文基于Debian系统,Strongswan 5.1.1版本,其他Linux系统请自行修改对应的shell 命令。
本文操作在Linode VPS上和KVM VPS上以及OpenVZ主机上测试通过。
编译安装Strongswan
1,安装必须的库Ubuntu/Debian:
apt-get update
apt-get install libpam0g-dev libssl-dev make gcc
yum update
yum install pam-devel openssl-devel make gcc
2,下载strongswan并解压(*代表当前Strongswan版本号)
wget http://download.strongswan.org/strongswan.tar.gz
tar xzf strongswan.tar.gz
cd strongswan-*
3,编译Strongswan:Xen、KVM使用以下参数:
./configure& --enable-eap-identity --enable-eap-md5 \
--enable-eap-mschapv2 --enable-eap-tls --enable-eap-ttls --enable-eap-peap& \
--enable-eap-tnc --enable-eap-dynamic --enable-eap-radius --enable-xauth-eap& \
--enable-xauth-pam& --enable-dhcp& --enable-openssl& --enable-addrblock --enable-unity& \
--enable-certexpire --enable-radattr --enable-tools --enable-openssl --disable-gmp
OpenVZ需额外增加一个 enable-kernel-libipsec:
./configure& --enable-eap-identity --enable-eap-md5 \
--enable-eap-mschapv2 --enable-eap-tls --enable-eap-ttls --enable-eap-peap& \
--enable-eap-tnc --enable-eap-dynamic --enable-eap-radius --enable-xauth-eap& \
--enable-xauth-pam& --enable-dhcp& --enable-openssl& --enable-addrblock --enable-unity& \
--enable-certexpire --enable-radattr --enable-tools --enable-openssl --disable-gmp --enable-kernel-libipsec
4,编译并安装:
make; make install
编译完成后如果没有报错,且使用ipsec version指令能出现版本信息,则表示安装成功.
1,生成CA证书的私钥
ipsec pki --gen --outform pem & ca.pem
2,使用私钥,签名CA证书
ipsec pki --self --in ca.pem --dn "C=com, O=myvpn, CN=VPN CA" --ca --outform pem &ca.cert.pem
提示:多个vps使用同个CA根证书:如果需要多个vps使用同一个CA根证书,则以上两步只执行一次,之后所有vps都使用上面生成的这两个ca.pem和ca.cert.pem文件进行后续的操作.然后把多台vps解析到同一个域名的不同二级域名下.这样客户端连接各个服务器时,只需要客户端安装一次根证书ca.cert.pem即可.
3,生成服务器证书所需的私钥:
ipsec pki --gen --outform pem & server.pem
4,用CA证书签发服务器证书
请先确认你的服务器的IP地址或域名,以后客户端连接时只能使用证书中的地址连接(多服务器使用相同根证书CA的,请先做好服务器的域名解析),然后将下面命令中的123.123.123.123替换为自己服务器的IP地址或域名,一共需要替换两处:
ipsec pki --pub --in server.pem | ipsec pki --issue --cacert ca.cert.pem \
--cakey ca.pem --dn "C=com, O=myvpn, CN=123.123.123.123" \
--san="123.123.123.123" --flag serverAuth --flag ikeIntermediate \
--outform pem & server.cert.pem
注意以上命令中的&C=&和&O=&的值要与第2步CA中的C,O的值保持一致.
5,生成客户端证书所需的私钥:
ipsec pki --gen --outform pem & client.pem
6,用CA签名客户端证书(C,O的值要与上面第2步CA的值一致,CN的值随意):
ipsec pki --pub --in client.pem | ipsec pki --issue --cacert ca.cert.pem --cakey ca.pem --dn "C=com, O=myvpn, CN=VPN Client" --outform pem & client.cert.pem
7,生成pkcs12证书:
openssl pkcs12 -export -inkey client.pem -in client.cert.pem -name "client" -certfile ca.cert.pem -caname "VPN CA"& -out client.cert.p12
注意以上命令中的&-caname&后面的引号里的值必须要与第2步CA中的&CN=&的值保持一致.
8,安装证书:
cp -r ca.cert.pem /usr/local/etc/ipsec.d/cacerts/
cp -r server.cert.pem /usr/local/etc/ipsec.d/certs/
cp -r server.pem /usr/local/etc/ipsec.d/private/
cp -r client.cert.pem /usr/local/etc/ipsec.d/certs/
cp -r client.pem& /usr/local/etc/ipsec.d/private/
配置Strongswan
1,编辑/usr/local/etc/ipsec.conf文件:
vim /usr/local/etc/ipsec.conf
修改为以下内容(点击展开):
config setup
uniqueids=never
conn iOS_cert
keyexchange=ikev1
# strongswan version &= 5.0.2, compatible with iOS 6.0,6.0.1
fragmentation=yes
left=%defaultroute
leftauth=pubkey
leftsubnet=0.0.0.0/0
leftcert=server.cert.pem
right=%any
rightauth=pubkey
rightauth2=xauth
rightsourceip=10.31.2.0/24
rightcert=client.cert.pem
conn android_xauth_psk
keyexchange=ikev1
left=%defaultroute
leftauth=psk
leftsubnet=0.0.0.0/0
right=%any
rightauth=psk
rightauth2=xauth
rightsourceip=10.31.2.0/24
conn networkmanager-strongswan
keyexchange=ikev2
left=%defaultroute
leftauth=pubkey
leftsubnet=0.0.0.0/0
leftcert=server.cert.pem
right=%any
rightauth=pubkey
rightsourceip=10.31.2.0/24
rightcert=client.cert.pem
conn windows7
keyexchange=ikev2
ike=aes256-sha1-modp1024!
left=%defaultroute
leftauth=pubkey
leftsubnet=0.0.0.0/0
leftcert=server.cert.pem
right=%any
rightauth=eap-mschapv2
rightsourceip=10.31.2.0/24
rightsendcert=never
eap_identity=%any
2,使用vim编辑/usr/local/etc/strongswan.conf文件:
&&&&&&&&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
3,使用vim编辑/usr/local/etc/ipsec.secrets文件:
: RSA server.pem
: PSK "myPSKkey"
: XAUTH "myXAUTHPass"
[用户名] %any : EAP "[密码]"
将上面的myPSKkey单词更改为你需要的PSK认证方式的密钥;将上面的myXAUTHPass单词更改为你需要的XAUTH认证方式的密码,该认证方式的用户名是随意的;将上面的[用户名]改为自己想要的登录名,[密码]改为自己想要的密码([]符号去掉),可以添加多行,得到多个用户,这即是使用IKEv2的用户名+密码认证方式的登录凭据.
提示:wp8.1客户端连接的用户名问题由于wp8.1连接IKEv2的vpn时,默认会加上与手机名称相同的域,于是连接时会显示用户名或密码错误.这里有两种解决方法:方法1:将上面/usr/local/etc/ipsec.secrets文件的最后一行改为%any %any : EAP &[密码]& ,这样就可以使用任意用户名登录,带上域也不会出错.方法2:用FreeRADIUS过滤掉登录名的域,参考连接:让FreeRADIUS去掉登陆用户名中的Windows登录域
配置防火墙
1,配置iptables:OpenVZ执行:
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.31.0.0/24& -j ACCEPT
iptables -A FORWARD -s 10.31.1.0/24& -j ACCEPT
iptables -A FORWARD -s 10.31.2.0/24& -j ACCEPT
iptables -A INPUT -i venet0 -p esp -j ACCEPT
iptables -A INPUT -i venet0 -p udp --dport 500 -j ACCEPT
iptables -A INPUT -i venet0 -p tcp --dport 500 -j ACCEPT
iptables -A INPUT -i venet0 -p udp --dport 4500 -j ACCEPT
iptables -A INPUT -i venet0 -p udp --dport 1701 -j ACCEPT
iptables -A INPUT -i venet0 -p tcp --dport 1723 -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -s 10.31.0.0/24 -o venet0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.31.1.0/24 -o venet0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.31.2.0/24 -o venet0 -j MASQUERADE
Xen、KVM则执行:
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.31.0.0/24& -j ACCEPT
iptables -A FORWARD -s 10.31.1.0/24& -j ACCEPT
iptables -A FORWARD -s 10.31.2.0/24& -j ACCEPT
iptables -A INPUT -i eth0 -p esp -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 500 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 500 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 4500 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 1701 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 1723 -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -s 10.31.0.0/24 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.31.1.0/24 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.31.2.0/24 -o eth0 -j MASQUERADE
2,开机自动载入iptables:Ubuntu/debian:
iptables-save & /etc/iptables.rules
cat & /etc/network/if-up.d/iptables&&EOF
iptables-restore & /etc/iptables.rules
chmod +x /etc/network/if-up.d/iptables
service iptables save
至此,IPSec/IKEv2 VPN便搭建好了!现在启用服务就可以使用了:
ipsec start
频道: Web 标签:IPSec Strongswan
&&&&相关课程当前访客身份:游客 [
这个人很懒,啥也没写
:引用来自“MingXiao”的评论我能说我都是直接下载...
:我能说我都是直接下载便携版然后放在同步盘的嘛,...
今日访问:3
昨日访问:26
本周访问:121
本月访问:372
所有访问:2826
centos6.5 x86_64下编译安装strongswan
发表于8个月前( 13:14)&&
阅读(343)&|&评论()
0人收藏此文章,
centos6.5 x86_64
1,安装必须的库
yum update
yum install pam-devel openssl-devel make gcc
2,下载strongswan
wget http://download.strongswan.org/strongswan.tar.gz
tar xzf strongswan.tar.gz
cd strongswan-*
3,编译安装
./configure &--enable-eap-identity --enable-eap-md5 --enable-eap-mschapv2 --enable-eap-tls --enable-eap-ttls --enable-eap-peap &--enable-eap-tnc --enable-eap-dynamic --enable-eap-radius --enable-xauth-eap --enable-xauth-pam &--enable-dhcp &--enable-openssl &--enable-addrblock --enable-unity &--enable-certexpire --enable-radattr --enable-tools --enable-openssl --disable-gmp
make && make install
4,生成CA证书私钥
ipsec pki --gen --outform pem & ca.pem
使用私钥自签一个CA证书
ipsec pki --self --in ca.pem --dn "C=col, O=ssvpn, CN=VPNCA" --ca --outform pem &ca.cert.pem
生成服务器证书所需的私钥:
ipsec pki --gen --outform pem & server.pem
用自签CA证书签发服务器证书
先确认你的服务器的IP地址或域名,以后客户端连接时只能使用证书中的地址连接(多服务器使用相同根证书CA的,请先做好服务器的域名解析),
然后将下面命令中的123.123.123.123替换为自己服务器的IP地址或域名,一共需要替换两处:
ipsec pki --pub --in server.pem | ipsec pki --issue --cacert ca.cert.pem --cakey ca.pem --dn "C=col, O=ssvpn, CN=123.123.123.123" --san="123.123.123.123" --flag serverAuth --flag ikeIntermediate --outform pem & server.cert.pem
注意:以上命令中的”C=”和”O=”的值要与第2步CA中的C,O的值保持一致.
5,生成客户端证书所需的私钥:
ipsec pki --gen --outform pem & client.pem
用自签CA证书签发客户端证书(C,O的值要与上面第2步CA的值一致,CN的值随意):
ipsec pki --pub --in client.pem | ipsec pki --issue --cacert ca.cert.pem --cakey ca.pem --dn "C=col, O=ssvpn, CN=VPN Client" --outform pem & client.cert.pem
将生成客户端证书转换pkcs12证书(以备移动端导入)
openssl pkcs12 -export -inkey client.pem -in client.cert.pem -name "client" -certfile ca.cert.pem -caname "VPNCA" &-out client.cert.p12
注意以上命令中的”-caname”后面的引号里的值必须要与第2步CA中的”CN=”的值保持一致.
输入客户端登录用户密码hello
6,安装证书:
cp -r ca.cert.pem /usr/local/etc/ipsec.d/cacerts/
cp -r server.cert.pem /usr/local/etc/ipsec.d/certs/
cp -r server.pem /usr/local/etc/ipsec.d/private/
cp -r client.cert.pem /usr/local/etc/ipsec.d/certs/
cp -r client.pem &/usr/local/etc/ipsec.d/private/
7,配置strongswan
vi /usr/local/etc/ipsec.conf 将内容完全替换为一下内容
config setup
& & uniqueids=never&
conn iOS_cert
& & keyexchange=ikev1
& & fragmentation=yes &&&开启对 iOS 拆包的重组支持。
& & left=%defaultroute
& & leftauth=pubkey &&表示用证书
& & leftsubnet=0.0.0.0/0
& & leftcert=server.cert.pem
& & right=%any
& & rightauth=pubkey
& & rightauth2=xauth
& & rightsourceip=10.11.2.0/24
& & rightcert=client.cert.pem
& & auto=add
conn android_xauth_psk
& & keyexchange=ikev1
& & left=%defaultroute
& & leftauth=psk&表示用密码
& & leftsubnet=0.0.0.0/0
& & right=%any
& & rightauth=psk
& & rightauth2=xauth
& & rightsourceip=10.11.2.0/24
& & auto=add
conn networkmanager-strongswan
& & keyexchange=ikev2
& & left=%defaultroute & & & &&%defaultroute 表示自己从 ifconfig 里取 IP
& & leftauth=pubkey
& & leftsubnet=0.0.0.0/0
& & leftcert=server.cert.pem &指定证书名字
& & right=%any
& & rightauth=pubkey
& & rightsourceip=10.11.2.0/24&为客户端分配的虚拟 IP 段
& & rightcert=client.cert.pem &指定证书名字
& & auto=add &&
auto 定义 strongswan 启动时该连接的行为。start 是启动; route 是添加路由表,有数据通过就启动; add 是添加连接类型但不启动; ignore 是当它不存在。默认是 ignore。看起来似乎是 route 比较好,但问题是我们服务器端不能预分配虚拟 IP,所以服务器端一般用的都是 add。而客户端文本配置可以选择 start。
conn windows7
& & keyexchange=ikev2
& & ike=aes256-sha1-modp1024! &&指定的第一阶段加密方法
& & rekey=no & &服务器对 Windows 发出 rekey 请求会断开连接
& & left=%defaultroute
& & leftauth=pubkey
& & leftsubnet=0.0.0.0/0
& & leftcert=server.cert.pem
& & right=%any & & &&魔术字&%any,表示什么都行。
& & rightauth=eap-mschapv2
& & rightsourceip=10.11.2.0/24
& & rightsendcert=never & 服务器不要向客户端请求证书
& & eap_identity=%any & & & &eap 表示用扩展验证协议,&eap_identity使用 Windows 的 eap 身份认证
& & auto=add
vi /usr/local/etc/strongswan.conf
& & & & 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
vi /usr/local/etc/ipsec.secrets
: RSA server.pem
: PSK "xskywallker"
: XAUTH "uiop890"
law %any : EAP "hello"
格式:主机 &对等点 : 方法 &本机证书/协议密码& &本机证书密码&
以 :为分界,分别从左到右填充,除了各类密码缺失以 null 补位,其它都用&%any 补位(密码怎么可能是&%any)。
将上面的xskywallker单词更改为你需要的PSK认证方式的密钥;
将上面的uiop890单词更改为你需要的XAUTH认证方式的密码,该认证方式的用户名是随意的;
将上面的law改为自己想要的登录名,hello改为自己想要的密码,可以添加多行,得到多个用户,这即是使用IKEv2的用户名+密码认证方式的登录凭据.
ipsec start
关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
echo 1 & /proc/sys/net/ipv4/ip_forward
sed -i 's/net.ipv4.ip_forward=0/net.ipv4.ip_forward=1/g' /etc/sysctl.conf
添加防火墙规则
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.11.0.0/24 &-j ACCEPT
iptables -A FORWARD -s 10.11.1.0/24 &-j ACCEPT
iptables -A FORWARD -s 10.11.2.0/24 &-j ACCEPT
iptables -A INPUT -i eth0 -p esp -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 500 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 500 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 4500 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 1701 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 1723 -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -s 10.11.0.0/24 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.11.1.0/24 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.11.2.0/24 -o eth0 -j MASQUERADE
service iptables save
win7下测试
使用 Shrew Soft VPN Client
下载:https://www.shrew.net/download/vpn
安装后打开,选「Add」:
「General」选项卡下,把「Host Name or IP address」添好
「Authorization」选项卡下:
「Authorization Method」选「Mutual PSK + XAuth」
「Local Identity」的「Identification Type」选「IP Address」
「Credentials」下面「Pre Shared Key」里输入 PSK 密码
「Phrase 1」,「Exchange Type」选「Main」
「Phrase 2」,「PFS Exchange」选「auto」
保存。连接时用户名密码是你的 XAUTH 用户名密码。
使用自带客户端(Agile):
导入证书:
开始菜单搜索「cmd」,打开后输入 mmc(Microsoft 管理控制台)。
「文件」-「添加/删除管理单元」,添加「证书」单元
证书单元的弹出窗口中一定要选「计算机账户」,之后选「本地计算机」,确定。
在左边的「控制台根节点」下选择「证书」-「个人」,然后选右边的「更多操作」-「所有任务」-「导入」打开证书导入窗口。
选择刚才生成的 client.cert.p12 文件。下一步输入私钥密码。下一步「证书存储」选「个人」。
导入成功后,把导入的 CA 证书剪切到「受信任的根证书颁发机构」的证书文件夹里面。
打开剩下的那个私人证书,看一下有没有显示「您有一个与该证书对应的私钥」,以及「证书路径」下面是不是显示「该证书没有问题」。
然后关闭 mmc,提示「将控制台设置存入控制台1吗」,选「否」即可。
至此,证书导入完成。
注意 千万不要双击 .p12 证书导入!因为那样会导入到当前用户而不是本机计算机中,ipsec 守护精灵是访问不了它的。
建立连接:
「控制面板」-「网络和共享中心」-「设置新的连接或网络」-「连接到工作区」-「使用我的 Internet 连接」
Internet 地址写服务器地址,注意事项同 openSUSE 的,都是 IP 或都是 URL。
描述随便写。
用户名密码写之前配置的 EAP 的那个。
点击右下角网络图标,在新建的 VPN 连接上右键属性然后切换到「安全」选项卡。
VPN 类型选 IKEv2
数据加密是「需要加密」
身份认证这里需要说一下,如果想要使用 EAP-MSCHAPV2 的话就选择「使用可扩展的身份认证协议」-「Microsoft 安全密码」,想要使用私人证书认证的话就选择「使用计算机证书」。
官网给有apk,下载安装,配置,连接试试
http://quericy.me/blog/512
https://zh.opensuse.org/SDB:Setup_Ipsec_VPN_with_Strongswan#.E7.94.9F.E6.88.90.E8.AF.81.E4.B9.A6.EF.BC.88.E5.8F.AF.E9.80.89.EF.BC.89
更多开发者职位上
1)">1)">1" ng-class="{current:{{currentPage==page}}}" ng-repeat="page in pages"><li class='page' ng-if="(endIndex<li class='page next' ng-if="(currentPage
相关文章阅读}

我要回帖

更多关于 centos ikev2账号控制 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信