全文转载于https://ednovas.xyz/2021/05/09/nat/,略微增加一些说明。因为手上有好多白嫖的VPS主机,之前试着安装Docker失败了,之后想着搭建梯子,尝试了v2ray的各种脚本,但是最后都失败了,一开始试着用域名+CDN的方法,但是一直失败,也不知道为什么,后来安装了宝塔面板,发现搭建的网站只能用IP+端口的方式访问,或者在不打开小黄云的条件下使用域名+端口访问,一旦打开小黄云就无法访问,最后才知道是Cloudflare对于http和https端口的CDN加速是有限制的,最后只好放弃那些IP被封的小鸡,不过好在还有几个NAT小鸡的IP没有被封,所以还是想着能不能安装上v2ray,但是试了好久都失败了,也不知道为什么,最后只好放弃,于是在网上找NAT机有没有什么用处,找到了这篇文章,写得非常好,虽然时间已经很久了,2021-05-09发布的,不过还是能用得上的,正好有搭建梯子的方法,按照里面的方法成功安装成功了,配合warp成功解锁了Netflix。
我发现卖 nat 服务器的老板不少,但是网上你却根本找不到什么使用教程,所以此文就是为了 nat 使用说明而写的。
1. 服务器的类别
在开始本篇教程前,我们先来了解下现在所提供的可供租赁的服务器的种类。
(1) 独立服务器
独立服务器(又叫母鸡,独服,杜甫),是指服务商提供给你一整台物理服务器的资源供你使用,整台服务器上的资源全部供你使用,不会有任何人跟你抢占服务器资源。
- 优点:
服务器性能强大,资源充足 - 缺点:
价格过于昂贵 (往往性能不错的杜甫必定 3XX 软妹币起步,更高性能的经常出现四位数)
(2) 虚拟服务器 (VPS)
虚拟服务器(又叫 VPS、小鸡),是指服务商通过虚拟化技术(比如 KVM、OpenVZ、Xen 等),分割一整台(或者多台)物理服务器的资源,取其中的一部分资源供你使用。相对于独立服务器来讲价格要低廉不少,而且配置可以自己选择,相对灵活。
- 优点:
资源可以灵活分配,按需选择配置 - 缺点:
宿主物理服务器(母鸡)阵亡,当前服务器下所有的虚拟机(小鸡)全部跟着阵亡(极少发生,但也分商家)
部分服务商会选择超售,或者你遇到一个恶意长时间占用资源的邻居,导致实际性能不如标称配置性能,甚至发生宕机
(3) 基于 NAT 的虚拟服务器 (NAT-VPS)
基于 NAT 的虚拟服务器(又叫 NAT 鸡),是在虚拟服务器(VPS)的基础上,通过共享 IP 的方式,为这个 IP 下的服务器提供外网访问能力。
- 优点:
相对于虚拟服务器(VPS)来讲,价格更加低廉(因为几乎没有 IP 的费用) - 缺点:
同上,如果你碰到一个折腾的邻居(尤其是拿到服务器就装 PPTP 等 VPN 的),会导致服务器 IP 被墙
服务器 IP 一旦被墙,会导致同 IP 下所有的服务器全部无法连接(有 DDNS 的话这点还能好点)
只能使用固定的端口访问服务器,而且无法用来建站(强行信仰建站当我没说)
以上转载自 iLemonrain’s Blog https://blog.ilemonrain.com/linux/nat-server-tutorial.html2. 购买 nat vps
你既然看到这篇文章了,那你肯定也已经买了个 nat vps,但是不知道怎么使用了。这里也就不推荐店铺了,有打广告的嫌疑哈哈哈
一般 nat vps 都会有个面板,这里以两种不同的 nat vps 为例(尽管区别不大)
一个是需要自己创建端口映射的,另一个是已经创建好了端口映射的
下面先讲创建端口映射的
3. 需要端口映射
3.1 创建 22 端口映射
一般面板都有个 nat vps 端口映射管理页面,比如下图,不同面板有所不通,但大同小异
点击添加规则,先要映射一个 22 端口来连接 ssh 用,这是必须要的
内网端口填写 22,公网端口随意填写一个 大于10000 的端口,并且没有被占用的(如果被占用了应该会有提示),可以直接忽略 65432 端口,这个估计肯定有人占了,协议使用 TCP
(当然,有可能店家直接默认就给分配了一个 22 端口的映射,那么我们就不再需要创建这个 22 端口映射了)
3.2 连接 SSH
然后使用你习惯的 ssh 连接到 VPS
root 密码会在 nat vps 控制面板页面有的,
这里注意以下,端口需要填写刚刚映射了的外网端口,比如我的就是 60032
主机这里复制黏贴公网 ip,然后点击连接
3.3 创建更多端口映射
然后再创建更多的端口映射,来搭建协议
操作和映射 22 端口类似,不过这里强烈推荐内网外网端口一致,以防配置出现混淆!
如果需要 TCP 和 UDP 服务,那么同端口再映射一个 UDP 协议即可
至少映射两个以上端口,一个用来访问 v2-ui 面板,一个用来搭建协议
一般 nat 开放 10-20 个端口,如果你有需要你可以全弄满,但也没有必要
4. 无需端口映射
比如这个老板已经搞好端口映射了,开放了 10 个端口,起始端口从 10100 到 10109,SSH 连接端口是 61010
那么我们就用他给我们的信息直接 SSH 连接即可
SSH 内主机填写 IP解析域名或 ip,SSH 端口是 61010,root 和 root 密码照填即可
然后直接连接即可
5. IP 被墙
当 ip 被墙了怎么办,如果店家提供替换那自然最好了(大部分 ip 被墙也无所谓),如果没有就要用中转去拉了,但是问题是 ip 被墙了以后 ssh 也登录不上怎么办呢
5.1 SSH 设置代理
Finalshell 在添加了 ssh 信息后连接不上,然后打开这里的代理服务器设置,添加一个代理,以 Clash for Windows为例,就是本地 127.0.0.1,和端口 7890,并选中这个代理,再连接即可
5.2 Clash 开 tun/tap
Clash 开启 tun https://ednovas.xyz/2021/02/15/clashtun/
转载注:其实感觉这个无所谓,我一直用的Clash都没有设置这个,应该没有影响
6. Centos 关闭防火墙
centos 需要先关闭防火墙!
centos 需要先关闭防火墙!
centos 需要先关闭防火墙!
(当然有的默认是关着的)
所以别再问店家为啥 ping 的通但是连不上,v2-ui 面板打不开了
转载注:不过我用的是Debian的NAT,这个也无所谓,防火墙好像没有影响
查看防火墙状态
firewall-cmd --state
停止 firewall
systemctl stop firewalld.service
禁止 firewall 开机启动
systemctl disable firewalld.service
7. 安装 v2-ui
8. 疑似作者被抓,项目网站已删库,请使用 x-ui 作为替代品
9. x-ui 项目地址: https://github.com/vaxilu/x-ui
9.1 更改密码
如果你愿意你可以给 nat vps 更改个 root 密码(下次连接就需要重新输入更改后的密码了)
passwd
然后输入两遍你想改的密码,注意密码是不会显示的,输入完了直接 enter 回车即可
9.2 安装 v2-ui
GitHub 地址:https://github.com/sprov065/v2-ui(已删库,请使用 x-ui 代替)
https://github.com/vaxilu/x-ui
或使用网站时光机回溯 http://web.archive.org/web/20210412193605/https://github.com/sprov065/v2-ui
9.2.1 一键脚本
bash <(curl -Ls https://blog.sprov.xyz/v2-ui.sh)
(v2ui 已删库,以下是 x-ui 项目)
bash <(curl -Ls https://raw.githubusercontent.com/vaxilu/x-ui/master/install.sh)
安装完成后,需要更改面板端口,默认端口是 65432,如果你映射了这个端口,那就直接 ip+65432 登录即可。但如果没有(大概率是没有的),那么还需要更改登录端口

输入 v2-ui x-ui 进入管理菜单
v2-uix-ui
输入 6 并回车
输入你映射了的端口,比如刚刚映射了的 60033 端口,然后回车
y 确定,最后回车回到脚本管理菜单即可
10. 搭建协议
然后浏览器输入 ip(或解析了的域名)+ 更改了的端口进入 v2-ui 管理页面
比如我这里就是
conxxxxxx.xxxxxx.xxx:60033

默认账户密码都是 admin
转载注:这是之前的安装过程,现在新版本的安装过程中就会输入用户名、密码和端口号
点击登录进入面板
先去左侧面板设置,更改一下登录账户和密码,点击更新
然后去账号页面,新加一个节点,端口填写之前映射了的另一个端口,比如我这就是 60034 端口
如果是店家已经映射好了的端口,从端口范围内随便选个未被占用的端口即可
协议建议 vmess+ws 或者 vmess+ws+tls(你要是有能力给非 443 端口搞证书估计你就不会看这篇文章了吧哈哈哈)
还是要以店家要求为准,一般购买须知等处会写明,如下图
11. 导入客户端
创建好协议以后,点击复制链接,或者直接扫描二维码
在 v2rayn 或别的客户端中黏贴节点,这样一个 nat vps 的节点就搭建完成了
12. 开启 bbr 加速
nat vps 只要能开启 tun/tap 还是可以使用 bbr 加速的哦(有的不支持的就算了)
12.1 开启 tun/tap
默认都是关闭 tun/tap 的,所以我们需要进控制面板打开
因为没有 tls 所以有这个危险提示很正常,我们无视他进入即可
输入提供的控制面板账户和密码
然后找到 tun/tap 设置,选择 on 打开 tun/tap
会有如下图的提示,有可能会重启机器,我们选择 是 / Yes 即可
稍等片刻等待机器重启,点击右上角的 refresh 刷新,会发现 status 变成红色的 offline,一会重启结束又会回到绿色的 online
12.2 安装 bbr
开启 tun/tap 后我们用 ssh 重新连接上
然后安装 bbr,我们使用 BBRPLUS lkl-haproxy 一键脚本开启
12.2.1 脚本说明
lkl-linux+haproxy hack 版本 bbrplus,在 OpenVZ 工作良好。
12.2.2 注意
需要开启 TUN/TAP 和至少 256M 空闲内存。
12.2.3 项目地址
GitHub 项目地址:https://github.com/mzz2017/lkl-haproxy#bbrplus-lkl-haproxy
12.2.4 一键安装
一键安装脚本(支持 Alpine / Debian / Ubuntu / CentOS):
wget --no-cache -O lkl-haproxy.sh https://github.com/mzz2017/lkl-haproxy/raw/master/lkl-haproxy.sh && bash lkl-haproxy.sh
输入 1 并回车
正常情况下开启了 tun/tap 应该会显示 File descriptor in bad state 或者 文件描述符处于错误状态 ,如果显示 未找到文件 或类似语句说明 tun/tap 未开启
转载注:新版本的现在好像没有这个提示?不知道是不是我安装失败了还是改版了
这里选择单个端口或者端口段都可以,我就只有一个 60034 端口节点,所以我选择 1 单个端口
输入你需要加速的端口号并回车,比如 60034
等待一会开启完毕
可以使用脚本第二项检测是否开启成功
wget --no-cache -O lkl-haproxy.sh https://github.com/mzz2017/lkl-haproxy/raw/master/lkl-haproxy.sh && bash lkl-haproxy.sh
这时候输入 2 并回车
如图,说明 bbr 已经正常开启,芜湖起飞!
































