基于CloudXNS的DDNS解析

前提条件

CloudXNS 账户需要实名认证,如果您不想认证,请使用CloudFlare

首先必须要有自己的域名且域名已经接入 CloudXNS,本次教程以 CloudXNS 为例。

1. 获取API的API_KEY和SECRET_KEY

APi的API_KEY和SECRET_KEY可以在用户中心开启获取:

获取API

2. 设置用于 DDNS 解析的二级域名

在 CloudXNS 中新建一个A记录,如:ddns.yourdomain.com,指向 1.1.1.1
(可随意指定,如123.123.123.123等等,主要用于后续查看 DDNS 是否生效)

3. 下载 DDNS 脚本

wget -N --no-check-certificate https://raw.githubusercontent.com/kkkgo/CloudXNS-DDNS-with-BashShell/master/cloudxns_ddns.sh

4. 修改 DDNS 脚本并填写相关信息

您可在线使用 nano/vi/vim 等工具进行修改,也可以下载到本地进行修改再上传覆盖!

#CONF START
#之前获取的KEY
API_KEY="abcdefghijklmnopqrstuvwxyz1234567"
SECRET_KEY="abcdefghijk12345"
#用于DDNS解析的二级域名
DOMAIN="home.xxxx.com"
#忽略即可
CHECKURL="http://ip.03k.org"
#OUT="pppoe0"
#CONF END
注意事项

本脚本不会自动创建子域名,请务必先到后台添加一个随意的子域名A记录,否则会提示Host record does not exist

参数说明

参数 填写说明
API_KEY 在个人中心后台的安全设置里面获取API_KEY
SECRET_KEY 在个人中心后台的安全设置里面获取SECRET_KEY
DOMAIN 用作动态DNS的域名,例如ddns.mydomain.comhome.example.com,注意所填写的域名必须在你的账号下并且有存在解析记录。
CHECKURL 用于检查自己的外网IP是什么的网址,注释掉该参数会跳过所有检查(仅验证域名记录是否存在)直接执行更新记录(会导致高频率调用更新);建议的备选CHECKURL:http://ip.qq.com http://ip.3322.org http://myip.ipip.net http://checkip.dns.he.net

5. 脚本授权并执行

chmod +x ./cloudxns_ddns.sh

如果脚本相关信息填写正确,输出内容会显示当前母鸡IP,登录 Cloudflare DNS选项 查看之前设置的 1.1.1.1 已变为母鸡IP

6. 设置定时任务

输入 crontab -e  然后会弹出 vi 编辑界面,在文件里面添加一行:

#每隔一分钟执行/root/cloudxns_ddns.sh并屏蔽输出日志

*/1 * * * * /root/cloudxns_ddns.sh &> /dev/null

日志参考

现象 说明
[DNS IP]为Get Domain Failed 本地DNS解析出现问题(断网、DNS服务器不工作、域名记录错误)
[URL IP]为空 访问CHECKURL失败,检查网络访问CHECKURL是否正常
Host record does not exist 不存在该域名或者该主机记录(本脚本不会自动创建子域名,请务必先到后台添加一个随意的子域名A记录)
[URL IP]或者[DEV IP]上次已经更新成功但是DNSIP还是不一样 DNS有缓存,DNS记录是已经更新,属正常现象

参考链接

https://03k.org/cloudxns-ddns-with-bashshell.html

基于CloudFlare的DDNS解析

前提条件

要自建DDNS服务,首先必须要有自己的域名且域名已经接入 Cloudflare (即DNS为CF提供的地址),另外就是使用阿里云解析、DNSPOD云解析、Cloudflare云解析等服务,本次教程以 Cloudflare 为例。

1. 获取CFKEY

打开网页:https://dash.cloudflare.com/profile

在页面下方找到【Global API Key】,点击右侧的View查看Key,并保存下来

2. 设置用于 DDNS 解析的二级域名

在 Cloudflare 中新建一个A记录,如:ddns.yourdomain.com,指向 1.1.1.1
(可随意指定,如123.123.123.123等等,主要用于后续查看 DDNS 是否生效)

3. 下载 DDNS 脚本

wget  -N --no-check-certificate https://raw.githubusercontent.com/yulewang/cloudflare-api-v4-ddns/master/cf-v4-ddns.sh

4. 修改 DDNS 脚本并填写相关信息

您可在线使用 nano/vi/vim 等工具进行修改,也可以下载到本地进行修改再上传覆盖!

# API key, see https://www.cloudflare.com/a/account/my-account,
# 这里填写上一步获取的CFKEY
CFKEY=

#输入你需要解析用来DDNS解析的根域名 eg: example.com,比如我的域名是123.com,那么此处填写123.com
CFZONE=

# 登陆CF的Username, eg: [email protected](即CF的登录邮箱)
CFUSER=

# 填写用来DDNS解析的二级域名,与上面设置的要一致, eg: ddns.yourdomain.com(例 ddns.123.com)
CFHOST=

5. 脚本授权并执行

chmod +x cf-v4-ddns.sh
./cf-v4-ddns.sh

如果脚本相关信息填写正确,输出内容会显示当前母鸡IP,登录 Cloudflare DNS选项 查看之前设置的 1.1.1.1 已变为母鸡IP

6. 设置定时任务

输入 crontab -e  然后会弹出 vi 编辑界面,在文件里面添加一行:

*/2 * * * * /root/cf-v4-ddns.sh >/dev/null 2>&1

如果您需要日志文件,上述代码请替换成下面代码



\#如果您需要日志文件,输入下面命令 */2 * * * * /root/cf-v4-ddns.sh >> /var/log/cf-ddns.log 2>&1

至此,教程结束!

Linux下使用SpeedTest测速

SpeedTest是用来测试网络上传/下载速率的一款工具,在Windows上能很方便的测试本地网络的上传/下载速率,而在Linux上,也可以很方便的使用命令行来进行测试。

1.下载脚本

wget -N --no-check-certificate https://raw.github.com/sivel/speedtest-cli/master/speedtest.py

2.添加权限

chmod a+rx speedtest.py

3.开始测速

python speedtest.py

进阶版

  1. 如果你想生成一张图片,并分享给其他人,那么你应该这样:
python speedtest.py --share

在浏览器中打开生成的链接,如图所示

http://www.speedtest.net/result/8006052866.png

  1. 在默认情况下,SpeedTest是选择离测试机最近的一个节点进行测试的,如果你想要自定义测试到某个地区的上传/下载速率,那首先列出目前可用的SpeedTest服务器:
python speedtest.py --list

此时会列出所有的服务器(按照距离远近进行排列,不过我们不建议您使用此命令

我们强烈推荐您一点一点的列出服务器

python speedtest.py --list|more
[email protected]:~# python speedtest.py --list|more
Retrieving speedtest.net configuration...
14939) Mimosa Networks (San Jose, CA, United States) [0.45 km]
10384) Speedtest.net (San Jose, CA, United States) [4.19 km]
11899) Janus Networks (San Jose, CA, United States) [4.19 km]
15786) Sprint (San Jose, CA, United States) [4.19 km]
 9383) Sneaker Server (San Jose, CA, United States) [4.19 km]
 9540) DNASOLES (San Jose, CA, United States) [4.19 km]
11599) Mimosa Networks (Santa Clara, CA, United States) [7.10 km]
18007) T-Mobile (Santa Clara, CA, United States) [7.10 km]
12818) Ridge Wireless (Cupertino, CA, United States) [12.57 km]
10455) Cytranet (Fremont, CA, United States) [24.84 km]
 6468) Tekify Broadband Internet Services (Fremont, CA, United States) [24.84 km]

如果我们想测试主机到Mimosa Networks这个节点的速率,那么是这样输入:

python speedtest.py --server 11599

如果您想要生成分享的图片,那就加上share

python speedtest.py --server 11599 --share

参考来源:

『工具』Liunx下使用SpeedTest测速

关于 NatCloud.net 的 NAT VPS使用说明

有些初次接触NAT VPS的朋友可能不太习惯使用NAT以及端口转发,这里以 俄罗斯NAT 为例做个使用说明(其他产品同样无缝适用)

1. 登录到用户中心 依次点 产品服务-NAT 端口映射

当然您也可以打开已经购买的产品,通过 NAT管理 进入管理界面

2. 点击 NAT 端口映射 后,可以看到您已经购买的产品,然后点击您需要映射的NAT VPS

我们看到,刚开通的NAT VPS默认是没有做端口映射的,点击右侧的 添加规则 进行端口映射(最多可以做20个端口映射)

因为都是默认提供 linux 系统,所以SSH端口:22 端口 是必须添加的,以添加22端口为例,点击 添加规则后,可以看到下图

其中内网 端口这里要填写你所需转发到的SSH 的 22 端口,外网那里填写 大于10000,且未被其他用户占用的(如被占用,会提示)

如上图,我想找个好记的45678外网端口,被其他人占用的,所以无法使用,您可以替换为其他未被占用端口,如 35689

我们看到可以该端口未被占用,点击OK后,可以看到 创建中

一般10秒左右,最多1分钟,我们刷新网页,可以看到 已创建

3. 测试 SSH 是否能正常连接

现在您可以通过获取的 公网IP 进行SSH连接管理VPS,唯一需要注意的是,端口那里一定要填写刚才的 外网端口

①PUTTY

②Xshell


至此您已完成 NAT 初步设置

Q1: 如果使用V2或55R怎么办?

1.首先您需要映射V2或55R使用的端口,这里以23890为例(假设我们的服务同时需要TCP和UDP)

分别添加TCP和UDP端口

2.映射完成后如图所示

注意!我们强烈推荐内网外网端口一致!!以防配置出现混淆!!

3.安装服务时选择映射的端口即可!