这两天属实有点难受,机器都被封完了,前两天套了个CF也只能电脑上用用,我手机已经快1个星期无法扶墙了,socks5一类的proxy完全不敢用,前两天拿了台玩具机搭了没几个小时就给我咔嚓了。。
所以手机这边我决定用IKEv2了,L2TP只是我顺带配置一下,反正我也不会去用的。主要让我没想到的是联通4G网连Linode的Tokyo2速度竟然出奇的快,也不知道是本身线路就这样还是有别的原因。。总之现在手机挺爽的,而且还特稳定,除了不能分流以外。。
以下部署过程均是在KVM虚拟机上完成的,OpenVZ应该是不行,估计要搞什么TUN/TAP啥的,反正我从来不用OVZ,就不折腾了,所以你如果按照这篇文章来部署,切记机器要么是独立服务器要么是KVM或者XEN-HVM这种全虚拟化的。如何确定自己的机器是什么虚拟化?安装这个包:
yum -y install virt-what
执行:
virt-what
看回显即可。
现在部署IPsec最佳的方案就是使用strongswan了,然后又是IKEv2需要用到证书,都9102年了,签个Let’s Encrypt简直就跟玩一样,也没啥必要去用自签证书了,所以这里直接用cerbot去申请SSL证书。
yum -y install epel-release yum -y install strongswan certbot net-tools nano
开IPv4转发:
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf && sysctl -p
开防火墙:
systemctl start firewalld systemctl enable firewalld
把80/443放行一下,待会申请SSL证书需要用到这两个端口:
firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --reload
签RSA证书,这个兼容性好点:
certbot certonly --standalone --agree-tos --rsa-key-size 4096 --no-eff-email --email [email protected] -d ikev2.koko.cat
将签好的证书复制到strongswan的目录:
cp /etc/letsencrypt/live/ikev2.koko.cat/cert.pem /etc/strongswan/ipsec.d/certs cp /etc/letsencrypt/live/ikev2.koko.cat/privkey.pem /etc/strongswan/ipsec.d/private cp /etc/letsencrypt/live/ikev2.koko.cat/chain.pem /etc/strongswan/ipsec.d/cacerts
注意这里别复制fullchain.pem这种做过拼接的有完整证书链的证书,在某些IKEv2客户端下有可能会因为这个导致无法连接。
将默认的ipsec配置文件做个备份,并编辑,直接清空里面的内容:
cp /etc/strongswan/ipsec.conf /etc/strongswan/ipsec.conf.bak nano /etc/strongswan/ipsec.conf
然后使用下面我给出的配置:
config setup charondebug="ike 1, knl 1, tls 1, cfg 1" uniqueids=no conn imlala-ikev2 auto=add keyexchange=ikev2 rekey=no ike=aes256-sha1-modp1024,aes256-sha256-modp2048,3des-sha1-modp2048,aes256-sha1-modp2048! dpddelay=300s dpdaction=clear left=%any [email protected] leftauth=pubkey leftcert=cert.pem leftsendcert=always leftsubnet=0.0.0.0/0 right=%any rightid=%any rightauth=eap-mschapv2 rightsendcert=never rightsourceip=192.168.4.0/24 rightdns=1.0.0.1,9.9.9.9 eap_identity=%identity
上面这个配置你只需要改一下leftid=后面的域名就行了。如果要增加或者删除配置,建以看看这两个文档:
https://wiki.strongswan.org/projects/strongswan/wiki/Connsection
https://wiki.strongswan.org/projects/strongswan/wiki/ConfigSetupSection
编辑密钥配置文件:
nano /etc/strongswan/ipsec.secrets
写入如下配置,其中域名换成你自己的,后面就是VPN的用户账号和密码了,要添加几个用户就在这里写上(一行一个。):
ikev2.koko.cat : RSA "/etc/strongswan/ipsec.d/private/privkey.pem" imlala %any% : EAP "你的VPN密码" moon23 %any% : EAP "你的VPN密码"
这样IKEv2就配置完成了,使用下面的命令启动或者管理strongswan:
systemctl start strongswan systemctl enable strongswan systemctl restart strongswan
配置Firewalld:
firewall-cmd --zone=public --permanent --add-masquerade firewall-cmd --zone=public --permanent --add-service="ipsec" firewall-cmd --zone=public --permanent --add-rich-rule='rule protocol value="esp" accept' firewall-cmd --zone=public --permanent --add-rich-rule='rule protocol value="ah" accept' firewall-cmd --reload
IKEv2就配置好了。接下来配置L2TP/IPsec。
首先安装需要用到的包:
yum -y install xl2tpd ppp
然后直接打开之前的ipsec配置文件:
nano /etc/strongswan/ipsec.conf
在里面加上如下配置:
conn imlala-l2tp auto=add authby=secret keyexchange=ikev1 type=transport dpddelay=300s dpdaction=clear left=%any leftprotoport=17/1701 right=%any rightprotoport=17/%any
还是打开之前的密钥配置文件:
nano /etc/strongswan/ipsec.secrets
加入一行:
%any : PSK "你的密钥"
接着备份一下xl2tpd的配置文件,然后编辑清空里面所有的配置:
cp /etc/xl2tpd/xl2tpd.conf /etc/xl2tpd/xl2tpd.conf.bak nano /etc/xl2tpd/xl2tpd.conf
使用下面我给出的配置:
[global] ipsec saref = yes saref refinfo = 30 [lns default] ip range = 192.168.5.2 - 192.168.5.254 local ip = 192.168.5.1 require chap = yes refuse pap = yes require authentication = yes name = imlala-l2tp ppp debug = yes pppoptfile = /etc/ppp/options.xl2tpd length bit = yes
备份options.xl2tpd文件,清空里面的内容:
cp /etc/ppp/options.xl2tpd /etc/ppp/options.xl2tpd.bak nano /etc/ppp/options.xl2tpd
使用我下面我给出的配置:
name l2tpd require-mschap-v2 ms-dns 1.0.0.1 ms-dns 9.9.9.9 mtu 1500 mru 1500 auth crtscts hide-password modem proxyarp lcp-echo-interval 30 lcp-echo-failure 4
编辑L2TP账号配置文件:
nano /etc/ppp/chap-secrets
在里面加入你的VPN账号密码,有多少个用户就加多少个(一行一个)例如:
imlala l2tpd 你的密码 * moon23 l2tpd 你的密码 *
重启strongswan:
systemctl restart strongswan
启动xl2tpd:
systemctl start xl2tpd systemctl enable xl2tpd
最后放行1701端口完成部署:
firewall-cmd --zone=public --permanent --add-port=1701/udp firewall-cmd --reload
手机端配置,这边我用iOS演示,IKEv2的:
L2TP:
连不上?看日志:
tail -f /var/log/messages
然后Google吧。
我这边测试了iOS的联通4G/电信WiFi能连,电脑和WiFi同一网络环境开虚拟机Win7也能连,但是宿主机Win10死活连不上,应该和ISP干扰有关系。不过无所谓,我反正就是拿来给手机4G网用的,这个iKEv2+LinodeTokyo2+联通4G真的速度非常快。
最后搞两个VPN账号出来,看你们用Win10能连上不。。估计电信有点难。。
IKEv2: 服务器地址:ikev2.koko.cat 账号:null 密码:boom
L2TP/IPsec: 服务器地址:139.162.100.234 账号:null 密码:boom 密钥:lala.im
最新评论
5211314
能不能教我 一点不会