静看光阴荏苒
不管不顾不问不说也不念

CentOS7部署IKEv2/L2TP/IPsec服务端

这两天属实有点难受,机器都被封完了,前两天套了个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 imlala@fbi.com -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
  leftid=@ikev2.koko.cat
  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
赞(2)
未经允许不得转载:荒岛 » CentOS7部署IKEv2/L2TP/IPsec服务端
分享到: 更多 (0)

评论 15

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    带哥,我猜你套CF只能在电脑上用,手机会提示connection closed by peer?? 不知你有没有兴趣试试其他的CDN。
    而且,这篇文章讲述的pptp,l2tp实际上寿命不长,协议特征很明显,就是在平时也是用了半小时就断线那种。 :cry:

    Autumn2个月前 (06-10) Google Chrome 74.0.3729.157 Google Chrome 74.0.3729.157 Android 9 Android 9回复
    • 不是,手机是没有客户端,我套CF使用的是goflyway,然后就是CF白天还行,晚上就基本不能用了,那速度太慢了。毕竟每天有那么几个小时是要躺床上玩手机的嘛,所以才有此对策。
      另外这篇文章说的是ikev2为主,我目前是用的ikev2,就我这边的联通运营商来说,4G网除了连接的时候有明显的干扰,一旦连接上去之后就很稳了,没出现过半小时断线这种情况。当然各地运营商网络情况很复杂,以自己那边的实际情况为准。
      总而言之,这只是我目前的一个过渡方案,最终肯定是要回归SS/SSR/V2ray的怀抱的。。

      LALA2个月前 (06-10) Google Chrome 74.0.3729.169 Google Chrome 74.0.3729.169 Windows 10 x64 Edition Windows 10 x64 Edition回复
  2. #2

    电信win7能连,win10不知道。

    冻冻2个月前 (06-10) Google Chrome 74.0.3729.169 Google Chrome 74.0.3729.169 Windows 7 x64 Edition Windows 7 x64 Edition回复
  3. #3

    啦啦师太,你就从了v2ray吧,啥客户端都有。 :twisted:

    老纳2个月前 (06-11) Yandex Browser 19.4.3.352.00 Yandex Browser 19.4.3.352.00 Android 8.0.0 Android 8.0.0回复
    • 是是是,红裤衩浏览器格外醒目 :neutral:

      LALA2个月前 (06-12) Google Chrome 74.0.3729.169 Google Chrome 74.0.3729.169 Windows 10 x64 Edition Windows 10 x64 Edition回复
  4. #4

    win8.1很顺利连上了啊,免费蹭网一直爽 :oops:

    橘子2个月前 (06-11) Google Chrome 73.0.3683.87 Google Chrome 73.0.3683.87 Windows 10 x64 Edition Windows 10 x64 Edition回复
    • 然后上传比下载快6倍hhh

      橘子2个月前 (06-11) Google Chrome 73.0.3683.96 Google Chrome 73.0.3683.96 Windows 8 Windows 8回复
    • 一直蹭,一直爽 :shock:

      LALA2个月前 (06-12) Google Chrome 74.0.3729.169 Google Chrome 74.0.3729.169 Windows 10 x64 Edition Windows 10 x64 Edition回复
  5. #5

    “解决 Windows10 下 IKEv2 不 route all traffic through tunnel”
    Win10,很早很早以前是建一个文件,扩展名改pbk
    Step 1 Download the phonebook entry and open it. Then click on “Ok”.
    Step 2 Click on “Workplace network”.
    Step 3 Enter the desired location as “Internet address” and put “hide.me VPN” as “Destination name”. Then click on “Create”.
    当前方法可能是用powershell没试过 ttps://hide.me/en/vpnsetup/windows10/ikev2/

    Kaku2个月前 (06-11) Firefox 67.0 Firefox 67.0 Windows 10 x64 Edition Windows 10 x64 Edition回复
    • 这个是连上后流量不走VPN的问题,我的问题是连都连不上。。

      LALA2个月前 (06-12) Google Chrome 74.0.3729.169 Google Chrome 74.0.3729.169 Windows 10 x64 Edition Windows 10 x64 Edition回复
  6. #6

    你这是什么手机什么主题呢

    YuGer2个月前 (06-12) Google Chrome 74.0.3729.169 Google Chrome 74.0.3729.169 Windows 10 x64 Edition Windows 10 x64 Edition回复
    • 自己瞎改的。

      LALA2个月前 (06-12) Google Chrome 74.0.3729.169 Google Chrome 74.0.3729.169 Windows 10 x64 Edition Windows 10 x64 Edition回复
  7. #7

    我能说我一直用我抓包某加速APP的酸酸乳节点稳如老狗吗 :smile: ,不过这个教程确实受教了,找个小鸡折腾一下有备无患

    也许吧2个月前 (06-12) Google Chrome 75.0.3770.67 Google Chrome 75.0.3770.67 Android 9 Android 9回复
    • 这操作有点骚啊,不过有些小APP这方面没做验证,很容易就把节点全抓下来了。。

      LALA2个月前 (06-13) Google Chrome 74.0.3729.169 Google Chrome 74.0.3729.169 Windows 10 x64 Edition Windows 10 x64 Edition回复
  8. #8

    怎么联系你啊?

    zibuyu2个月前 (06-13) Google Chrome 67.0.3396.99 Google Chrome 67.0.3396.99 Windows 7 x64 Edition Windows 7 x64 Edition回复

分享创造快乐

广告合作资源投稿