现在国内大多数用户使用VPS的主要功能就是科学上网,但是一台VPS,只挂一个科学上网的进程,白白地浪费了性能,还多花了不必要的钱。而Nat小鸡就解决了资源浪费的问题:Nat小鸡是在一台母鸡(VDS)上对资源进行分割,将性能,端口等分成多份。所以Nat小鸡配置看起来很高,但其实你分配到的性能并不高。但这也满足科学上网或一些其他小占用程序使用了。本篇文章主要介绍Nat小鸡正确的使用方式

Nat主机商的选择

市面上有许多可供选择的Nat主机,少至1元,多至上百(/月)。那么,我们要如何选择适合我们的主机呢?首先可以先看地理位置,例如香港,台湾,韩国,日本的主机,由于地理距离原因,一般延迟都比较低。但这类普遍比美国等不具备距离优势的鸡要贵(当然美国也有快的),例如香港台湾和韩国Nat主机价格一般都在50-100/permonth。日本的价格相对较低。目前博主个人使用过的Nat只有Nathost。Nathost主打香港的小鸡,个人已经稳定使用半年+。如果不追求低延迟可以看看梨园的机子,虽然一直超售而且老是没货,但价格还是很香的

端口映射

Nat鸡的食用方式与普通的VPS有挺大的区别。在购买后并不能直接使用,我们需要将小鸡内网的端口映射到外网才能进行使用。如果不添加端口映射,甚至无法链接VNC。每台小鸡一般都是自带20个端口,可以通过付费来获取更多的端口。所以端口映射对于Nat鸡是必要的。
首先,我们需要找到你所购买的Nat鸡的端口映射管理界面。我们需要先添加一个SSH的端口,以便使用Putty等软件进行连接。
端口映射
添加端口映射的界面一般都是这样。左边是内网的端口,右边是你要转发出来的端口。如我们要添加一个VNC的端口以供连接,则在内网端口填写22。22端口想必大家都不陌生,而右边则该填写的是你想要转发的端口,例如10000,那么你在连接VNC的时候,端口就得使用10000而不是22


如果在添加端口映射的过程中提示端口被占用,那是因为已经有其他用户使用了这个端口,你只需要更换一个端口就可以了

既然懂得了如何转发VNC,那么科学上网的转发也不是很难,这里建议科学上网程序使用单端口,教程不放,自行摸索。这里讲单用户单端口的使用方法:在创建了一个用户之后,我们只需要将该用户的端口填写到内网端口一栏,再将外网端口填写相同的端口,记得要分别添加TCPUDP端口,这样才能正常使用。

DDNS

Nat鸡大多数都是动态IP,一般每天都会换一次,那么每天都手动换IP则十分麻烦。这时我们就需要DDNS了,DDNS脚本可以自动检测IP的更换,并且将更换的IP自动更新到你的域名,这样我们只需要通过域名访问而不用每日更换IP。这里使用的是ilemonrain的AliDDNS,作者博客https://ilemonrain.com 。特此感谢

安装依赖

Centos:

yum install -y wget curl cronie

Debian 8+:

apt install -y wget curl cron

Ubutun与Debian7:

apt-get install -y wget curl cron

下载AliDDNS

wget -O /usr/sbin/AliDDNS.sh [版本对应的下载地址]

这里提供两个版本:V2与V3.V3是测试版。建议V3
下载地址
V2:http://file.zoi.red/Jio/AliDDNSv2.sh
V3:http://file.zoi.red/Jio/AliDDNSv3.sh

从这里开始的命令,请注意你自己是V2还是V3,然后修改对应文件后缀。以下全部以V2为示例

为脚本文件加上可执行属性

chmod +x /usr/sbin/AliDDNS.sh

执行脚本

/usr/sbin/AliDDNS.sh

这时会弹出脚本菜单

AliDDNS 工具 (阿里云云解析修改工具) 使用方法 (Usage): AliDDNS.sh run 配置并运行工具 (如果已有配置将会直接运行) AliDDNS.sh config 仅配置工具 AliDDNS.sh clean 清理配置文件及运行环境 AliDDNS.sh version 显示版本信息 [Info] 选择你要使用的功能: 配置并运行 AliDDNS 仅配置 AliDDNS 清理环境 退出

输入 1 后按下回车,进入AliDDNS配置向导:

[Info] 请输入一级域名 (比如 example.com) (此项必须填写,查看帮助请输入“h”):

假如你需要设置AliDDNS的域名为ddns.example.com,那么请在这里输入 example.com
分解开就是 [ddns] . [example.com]
同时,登录阿里云云解析,在需要DDNS的域名上,添加一个记录:

记录类型:A
主机记录:[请填写你的二级域名]
解析线路:默认
记录值:127.0.0.1 (或者随便填写一个IP地址)
TTL: [请根据实际需要选择合适的TTL]
**同步默认线路**:是 (勾选)

完成后按下回车键,继续填写二级域名

[Info] 请输入二级域名 (比如 ddns) (此项必须填写,查看帮助请输入“h”):

同上面的范例,我们输入 ddns ,之后按下回车键继续

[Info] 请输入记录的TTL(Time-To-Live)值: (默认为600,查看帮助请输入“h”):

如果你使用的是免费版的阿里云云解析,此处可以填写的数值范围为:600~86400;
如果你使用的是收费版(企业版)的阿里云云解析,此处可以填写的数值范围为:1~86400 (根据你购买的产品类型决定)。
填写完成后,按下回车键继续:

[Info] 请输入阿里云AccessKey ID (此项必须填写,查看帮助请输入“h”):

这里为了省事我直接使用的是全局key,不过为了安全我们最好还是使用子用户Key
全局控制台:https://usercenter.console.aliyun.com/#/manage/ak
子用户控制台:https://ram.console.aliyun.com/
使用子用户AccessKey,请分配 AliyunDNSReadOnlyAccess(只读访问云解析(DNS)的权限) 和 AliyunDNSFullAccess(管理云解析DNS的权限) 这两个权限。推荐有动手能力的用户使用子用户AccessKey。

填写完成后,按下回车键继续:

[Info] 请输入阿里云Access Key Secret (此项必须填写,查看帮助请输入“h”):

同上
后面一路回车即可

定时任务

为了让AliDDNS定时检查IP是否更换,我们需要利用定时任务来定时开启AliDDNS
首先,在命令行执行命令:

crontab -e

有时会弹出一个提示,问选择哪个编辑器。我们直接随便选择一个,这里推荐vim

Select an editor. To change later, run 'select-editor'. /bin/nano <---- easiest /usr/bin/vim.basic /usr/bin/vim.tiny Choose 1-3 [1]:

选择完成后,会打开一个文本编辑器。我们在最后一行添加下面这一条定时任务:

*/5 * * * * /usr/sbin/AliDDNS-v2.0.sh run >/dev/null 2>&1 &

添加完成后,:wq保存退出。并重启定时命令

CentOS:

service crond restart

Ubuntu/Debian:

service cron restart

将定时任务加入开机启动项:
CentOS:

chkconfig crond on

For Ubuntu/Debian:

systemctl enable cron

这里一切配置就完成了

最后修改:2022 年 08 月 25 日
如果觉得我的文章对你有用,能不能v我50参加疯狂星期四