asus merlin使用cloudflare作为DDNS

ref:

https://github.com/RMerl/asuswrt-merlin.ng/wiki/DDNS-services

https://github.com/troglobit/inadyn/tree/master/examples

https://github.com/troglobit/inadyn

 

1.创建cloudflare api token

登陆cloudflare->my profile->API Tokens 创建并保存

2.ssh登陆路由器,编辑/jffs/inadyn.conf

 

vi /jffs/inadyn.conf

修改如下

allow-ipv6 = true

# ipv4
provider cloudflare.com:1 {
checkip-server = 1.1.1.1
checkip-path = /cdn-cgi/trace
username = zone.name # cloudflare 的zone
password = api_token # Create a unique custom api token with the following permissions: Zone.Zone - Read, Zone.DNS - Edit.
hostname = hostname.zone.name
ttl = 1 # optional, value of 1 is 'automatic'.
proxied = false # optional.
}

# ipv6
provider cloudflare.com:2 {
checkip-server = dns64.cloudflare-dns.com
checkip-path = /cdn-cgi/trace
username = zone.name
password = api_token # Use the same api token as above.
hostname = hostname.zone.name
ttl = 1 # optional, value of 1 is 'automatic'.
proxied = false # optional.
}

inadyn关联配置文件

inadyn --check-config -f "/jffs/inadyn.conf"

创建/jffs/scripts/ddns-start

vi /jffs/scripts/ddns-start

添加以下内容

#!/bin/sh
inadyn --once -f "/jffs/inadyn.conf" -e "/sbin/ddns_custom_updated 1" --continue-on-error "/sbin/ddns_custom_updated 0"

添加可执行权限

chmod +x /jffs/scripts/ddns-start

浏览器登陆路由器,在DDNS选项中选择custom,就可以了

 

 

「技巧」Chrome、Edge 默认下载器也能多线程下载?隐藏黑科技了解一下!

原文:https://zhuanlan.zhihu.com/p/93176490

注意:任何基于 Chromium 内核的浏览器(国内套壳、Edge等)都支持该功能!

大家在使用 Chrome、Edge 浏览器的时候,下载一些小文件往往都会直接用默认下载器,但是下载大文件的时候,一般都会搭配其他 专业多线程下载工具 使用,但是嫌麻烦…

最近我发现 Chrome、Edge 浏览器有个多线程下载选项,默认是关闭的,我试了下发现挺好用。

Chrome、Edge 浏览器这个多线程下载虽然不如专业下载工具,但也够用了!

速度对比

多线程下载 开启前
多线程下载 开启后

一键开启

  • Chrome 浏览器,地址栏输入并回车:chrome://flags/#enable-parallel-downloading
  • Edge 新版浏览器,地址栏输入并回车:edge://flags/#enable-parallel-downloading

就会看到如下图所示,将默认的 Default 改为 Enabled 即可!

然后重启 Chrome 浏览器再去下载个文件试试速度吧!

Enabled = 开启

为什么下载速度没有翻倍?

两种可能性:

  • 该文件不允许多线程下载!

例如,网站服务器限制了同一时间一个 IP 只能建立 1 个下载连接。

  • 该文件没有显示文件总大小!

部分网站下载文件时,不会显示文件总大小,这样的话就没办法多线程下载了(其他任何多线程下载工具都不行),没有文件总大小,就没办法等份分割文件进行并行下载。


多线程下载是什么?

一些人的可能并不清楚 多线程下载 是什么,我简单解释下。

目前的 专业下载工具(HTTP下载) 之所以下载速度更快,就是因为使用了 多线程下载 技术。

目前的 BT 软件也都支持 HTTP 多线程下载(因为 BT 下载上传也是需要文件分片)。

这个多线程下载技术很容易理解,那就是将下载的文件分割成多份。

假设下载一个 1GB 的文件,会被分割为 8 个 128MB 的文件块(8线程为例),然后与服务器建立 8 个连接,同时下载这 8 个分割后的文件块,如果单线程时最多 1MB/s 下载速度,那么现在理论上你的下载速度就从 1MB/s 提高到了 8MB/s。

这 8 个文件块都下载完成后,就会开始合并文件,这也是为什么下载完成后总会停顿一会儿才会提示下载完成。

目前最靠谱的BT种子下载站点TOP7

原文:https://www.24ker.com/app/29862.html

我们不支持任何侵犯版权的行为,以下站点请科学合法学习使用,上网有风险,请注意保护好您的隐私和个人数据:

1.海盗湾— THEPIRATEBAY.ORG

 

PirateBay是最佳的KickAss Torrent替代品之一。但是由于侵犯版权,许多ISP阻止了它及其镜像域。

2. 1337X — 1337X.TO

如果您喜欢pirate bay和KickAss等网站,那么1337x将是您的备胎。这个站点已经存在很长时间了,可靠性突出。就像KickAssTorrent一样,1337x提供了一个简单,用户友好的搜索栏,没有花里胡哨的设计。

您也可以按类别搜索种子文件和磁力链接。或者,您可以访问网站上最受欢迎的torrent的“ Top 100”部分。

3. TORLOCK — TORLOCK.COM

TorLock是最好的torrent网站之一,允许用户下载高质量的torrent文件和磁力链接。

Torlock是一个独特的电影下载站点,免费提供音乐,游戏,软件,最新电视剧和电影。

以“无假冒种子网站”为官方格言,Torlock仅列出100%经过验证的种子。该网站甚至向用户发起挑战,要求他们寻找假的种子,每次发现将获得1美元的赔偿。

4. IDOPE — IDOPE.SE

这是一个新的视频和电影下载网站。它可以让您发现您要搜索的任何内容,还声称从不追踪其访问者。iDope是kickass洪流的绝佳替代品。

iDope主页仅包含带有以下标语的torrent索引器栏:“致敬KickassTorrent”。iDope甚至有一个Chrome插件和一个Android应用。该服务在Darknet上也可用。

5. YIFY TORRENT / YTS — YTS.AM

也称为YTS洪流跟踪器,此网站是KickAss Torrents的另一种最佳选择。我确定所有电影爱好者都知道YTS电影。但这不是下载YIFY电影的原始YIFY洪流网站。

在其首领在新西兰法学界认罪后,原始站点变得一片漆黑。YTS.am是原始网站的出色克隆。但是,您需要提防其他虚假的洪流站点,将其提升为YTS。

6. EXTRATORRENT — EXTRATORRENT.SI

其中,ExtraTorrent也是KickAssTorrent的绝佳替代品。

ExtraTorrent曾经是最受欢迎和最佳的BT站点。但是该网站于2017年5月17日消失了,网站上出现了关闭的消息。ExtraTorrent现在卷土重来有了新域名。

7.KickAss Torrent  最新的Kickass Torrent网站(KATcr.co/new)已恢复在线状态。

解除网页复制限制

 

原文:

https://blog.csdn.net/legendaryhaha/article/details/80226747

https://blog.csdn.net/weixin_43970884/article/details/88384939

1.首先我们要知道,一个网站实现禁止复制粘贴的功能实现一般是采用js实现的。一般通过以下语句进行实现:

var bodyMain = document.getElementById(‘bodyMain’ );

     //实现禁止复制,将返回结果设置为FALSE
     bodyMain.oncopy = function(){
       return false;
    }
     //实现禁止粘贴,将返回结果设置为TRUE
     bodyMain.onpaste = function(){
       return false;
}

 

再知道怎样实现后,我们可以对证下药,比如禁用js。下面以谷歌浏览器为例子:
在谷歌浏览器中打开到自己想要复制内容的那一页,按f12打开开发者工具后,按f1 转到设置界面,
勾选如图所示选项:

哈哈哈,别关闭开发者页面,如果嫌麻烦把它缩小就好,此时在文章中发现,原来的文章可以复制了。

 

2.在你要复制文字的页面,按F12,选择“ Console” 输入:

document.body.innerText

使用 CloudFlare Worker 部署jsproxy实现在线代理

https://github.com/yangmyc/jsproxy/tree/master/cf-worker

 

使用 CloudFlare Worker 免费部署

简介

CloudFlare Worker 是 CloudFlare 的边缘计算服务。开发者可通过 JavaScript 对 CDN 进行编程,从而能灵活处理 HTTP 请求。这使得很多任务可在 CDN 上完成,无需自己的服务器参与。

部署

首页:https://workers.cloudflare.com

注册,登陆,Start building,取一个子域名,Create a Worker

复制 index.js 到左侧代码框,Save and deploy。如果正常,右侧应显示首页。

收藏地址框中的 https://xxxx.子域名.workers.dev,以后可直接访问。

计费

后退到 overview 页面可参看使用情况。免费版每天有 10 万次免费请求,对于个人通常足够。

如果不够用,可注册多个 Worker,在 conf.js 中配置多线路负载均衡。或者升级到 $5 的高级版本,每月可用 1000 万次请求(超出部分 $0.5/百万次请求)。

添加Router

选定一个子域名,将创建的项目覆盖的子域名上,需要全域覆盖

若子域名为x.yy.com

则需要在Router中设定覆盖范围为

x.yy.com/*

否则会报错

 

【原】用wget和ffmpeg抓取m3u8格式的视频

1.先下载后转码

以reuters.tv为例

1.手动解析出m3u8文件并下载到本地

2.利用wget下载视频片段

wget -c -r -np -i ignored.m3u8

3.将m3u8文件里的https://替换为 file ./

4.ffmpeg合并文件并用hevc转码,使用vaapi硬件加速

ffmpeg -hwaccel vaapi -hwaccel_output_format vaapi -hwaccel_device /dev/dri/renderD128 -f concat -safe 0 -i ignored.m3u8 -c:v hevc_vaapi output.mp4

 

2.直接下载

以CNTV 为例

视频地址:

https://tv.cctv.com/2020/05/21/VIDEtOJBS1JDMtj8hQAKachO200521.shtml

1.解析m3u8地址

https://newcntv.qcloudcdn.com/asp/hls/8000/0303000a/3/default/656069b44bb94a6c9128c14b4f100c1f/8000.m3u8

 

ffmpeg直接下载(使用“-c copy”,直接用原编码,不转码)

ffmpeg -i "https://hls.cntv.myalicdn.com/asp/hls/8000/0303000a/3/default/656069b44bb94a6c9128c14b4f100c1f/8000.m3u8" -c copy out.mp4

 

Linux搭建IPSec/IKEv2 VPN服务器及客户端连接教程

ref:

https://blog.csdn.net/lai444132348/article/details/75578548

https://mpco.gitlab.io/2015/09/02/Centos%E6%90%AD%E5%BB%BAIPSEC%20IKEV2%20VPN%E6%9C%8D%E5%8A%A1%E5%99%A8/

https://hjc.im/shi-yong-strongswanda-jian-ipsecikev2-vpn/

一、确定虚拟云服务虚拟技术类型

  • 1、通过系统目录判断 执行命令:ls -al /proc 一般Openvz的话,则会有vz目录,Xen的话则会有xen目录。
  • 2、通过网卡信息判断 执行命令:ifconfig 一般Openvz的话,则会有venet0或venet0:x网卡标识,Xen的话一般则是eth0。
  • 3、通过VPS控制面板判断 流行的VPS面板包括SolusVM、vePortal等,会显示具体的虚拟技术。
  • 4、通过virt-what命令判断 CentOS或RedHat系统的话,执行命令:yum install -y virt-what ubuntu(debian系):sudo apt-get install virt-what
    virt-what是一个判断当前环境所使用的虚拟技术的脚本,常见的虚拟技术基本上都能正常识别出来。
    安装好virt-what后,执行命令:sudo virt-what 根据返回的信息,即可判断出当前VPS所使用的虚拟技术。

二、编译安装Strongswan

1,安装必须的库

Ubuntu:
apt-get update
apt-get install libpam0g-dev libssl-dev make gcc
CentOS:
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
    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.31.2.0/24
    auto=add

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
    auto=add

conn windows7
    keyexchange=ikev2
    ike=aes256-sha1-modp1024!   # windows7的ikev2指定了DH group必须是modp1024
    rekey=no
    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  # 分配给客户端ip的子网范围
    rightsendcert=never
    eap_identity=%any
    auto=add

2,使用vim编辑/usr/local/etc/strongswan.conf文件:

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

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,编辑/etc/sysctl.conf

net.ipv4.ip_forward=1

执行

sysctl -p

 

 

如果出现错误信息:

error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key

error: "net.bridge.bridge-nf-call-iptables" is an unknown key

error: "net.bridge.bridge-nf-call-arptables" is an unknown key

net.netfilter.nf_conntrack_max = 64000

error: permission denied on key 'net.nf_conntrack_max'

则执行:

rm -f /sbin/modprobe

ln -s /bin/true /sbin/modprobe

rm -f /sbin/sysctl

ln -s /bin/true /sbin/sysctl

modprobe bridge

sysctl -p

2、配置iptables

一行前面的#号去掉(否则Ikev2 vpn连接上后将无法访问外网),保存后执行sysctl -p(如果执行后有报错的,重新打开sysctl.conf将报错的部分#注释掉保存,直到执行sysctl -p不再报错为止)。

2,配置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

PS: 如果VPS有 static IP ,可将上述防火墙规则的最后3条NAT规则替换为以下3条来提升处理效率:

iptables -t nat -A POSTROUTING -s 10.31.0.0/24 -o venet0 -j SNAT --to-source ELASTIC_IP
iptables -t nat -A POSTROUTING -s 10.31.1.0/24 -o venet0 -j SNAT --to-source ELASTIC_IP
iptables -t nat -A POSTROUTING -s 10.31.2.0/24 -o venet0 -j SNAT --to-source ELASTIC_IP

 

注意将上述3条规则的ELASTIC_IP替换为vps的静态ip地址.

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

 

PS: 如果VPS有 static IP ,可将上述防火墙规则的最后3条NAT规则替换为以下3条来提升处理效率:

iptables -t nat -A POSTROUTING -s 10.31.0.0/24 -o eth0 -j SNAT --to-source ELASTIC_IP
iptables -t nat -A POSTROUTING -s 10.31.1.0/24 -o eth0 -j SNAT --to-source ELASTIC_IP
iptables -t nat -A POSTROUTING -s 10.31.2.0/24 -o eth0 -j SNAT --to-source ELASTIC_IP

 

注意将上述3条规则的ELASTIC_IP替换为vps的静态ip地址.

3,开机自动载入iptables:

Ubuntu:

iptables-save > /etc/iptables.rules
cat > /etc/network/if-up.d/iptables<<EOF
#!/bin/sh
iptables-restore < /etc/iptables.rules
EOF
chmod +x /etc/network/if-up.d/iptables

 

CentOS:

service iptables save

 

至此,IPSec/IKEv2 VPN便搭建好了!现在启用服务就可以使用了:

ipsec start

 

启动及自启动

  1. 设置自启动

vim /etc/rc.d/rc.local

添加:

/usr/sbin/ipsec start

  1. 启动VPN

/usr/sbin/ipsec start


六、配置Win7客户端连接IPsec IKEV2 VPN

使用win7自带客户端(Agile):

1,导入证书

  • 开始菜单搜索“cmd”,打开后输入 mmc(Microsoft 管理控制台);
  • “文件”-“添加/删除管理单元”,添加“证书”单元;
    • 证书单元的弹出窗口中一定要选“计算机账户”,之后选“本地计算机”,确定;

  • 在左边的“控制台根节点”下选择“证书”-“个人”,然后选右边的“更多操作”-“所有任务”-“导入”打开证书导入窗口;

  • 选择刚才生成的 clientCert.p12 文件。下一步输入私钥密码。

  • 下一步“证书存储”选“个人”;
    导入成功后,把导入的 CA 证书剪切到“受信任的根证书颁发机构”的证书文件夹里面;

  • 打开剩下的那个私人证书,看一下有没有显示“您有一个与该证书对应的私钥”,以及“证书路径”下面是不是显示“该证书没有问题”;

  • 然后关闭 mmc,提示“将控制台设置存入控制台1吗”,选“否”即可;
    至此,证书导入完成。

2,建立连接:

  • “控制面板”-“网络和共享中心”-“设置新的连接或网络”-“连接到工作区”-“使用我的Internet 连接”;
  • Internet 地址写服务器地址或域名;
  • 目标名称随便写;
  • 用户名密码写之前配置的 EAP 的那个; ([用户名] %any : EAP “[密码]”)
  • 确定;
  • 点击右下角网络图标,在新建的 VPN 连接上右键属性然后切换到“安全”选项卡;
  • VPN 类型选 IKEv2;
  • 数据加密是“需要加密”;
  • 身份认证这里需要说一下,如果想要使用 EAP-MSCHAPV2 的话就选择“使用可扩展的身份认证协议”-“Microsoft 安全密码(EAP-MSCHAP v2)”,想要使用私人证书认证的话就选择“使用计算机证书”。

七、其他系统客户端连接IPsec IKEV2 VPN

  • 连接的服务器地址和证书保持一致,即取决于签发证书ca.cert.pem时使用的是ip还是域名;
  • Android/iOS/OSX 可使用ikeV1,认证方式为用户名+密码+预共享密钥(PSK);
  • iOS/OSX/Windows7+/WindowsPhone8.1+/Linux 均可使用IkeV2,认证方式为用户名+密码。使用SSL证书则无需导入证书;使用自签名证书则需要先导入证书才能连接,可将ca.cert.pem更改后缀名作为邮件附件发送给客户端,手机端也可通过浏览器导入,其中:

iOS/OSX 的远程ID和服务器地址保持一致,用户鉴定选择”用户名”.如果通过浏览器导入,将证书放在可访问的远程外链上,并在系统浏览器(Safari)中访问外链地址;

Windows PC 系统导入证书需要导入到“本地计算机”的”受信任的根证书颁发机构”,以”当前用户”的导入方式是无效的.推荐运行mmc添加本地计算机的证书管理单元来操作;

WindowsPhone8.1 登录时的用户名需要带上域信息,即wp”关于”页面的设备名称\用户名,也可以使用%any %any : EAP “密码”进行任意用户名登录,但指定了就不能添加其他用户名了.

WindowsPhone10 的vpn还存在bug(截至10586.164),ikeV2方式可连接但系统流量不会走vpn,只能等微软解决. (截至14393.5 ,此bug已经得到修复,现在WP10已经可以正常使用IkeV2.)
Windows10 也存在此bug,部分Win10系统连接后ip不变,没有自动添加路由表,使用以下方法可解决
—– 手动关闭vpn的split tunneling功能(在远程网络上使用默认网关);
—–也可使用powershell修改,进入CMD窗口,运行如下命令:

powershell    #进入ps控制台
get-vpnconnection    #检查vpn连接的设置(包括vpn连接的名称)
set-vpnconnection "vpn连接名称" -splittunneling $false    #关闭split tunneling
get-vpnconnection   #检查修改结果
exit   #退出ps控制台

Let’s Encrypt Wildcard Certificate(通配符证书)

ref:

https://certbot.eff.org/lets-encrypt/ubuntuxenial-apache.html

https://community.letsencrypt.org/t/getting-wildcard-certificates-with-certbot/56285

 

0.准备

Install

On Ubuntu systems, the Certbot team maintains a PPA. Once you add it to your list of repositories all you’ll need to do is apt-get the following packages.

$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install python-certbot-apache

要求:certbot 0.22以上

开始使用

1.通配符证书申请

./certbot-auto certonly --manual -d *.mking007.com -d example.com --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory
申请过程中需要修改DNS的TXT记录
验证TXT记录:
dig _acme-challenge.mking007.com txt