昨天听朋友说PFGO中转面板有活动了,可以免费获得免费授权一年的使用资格。由于活动已经结束。我就抱着试试的心态找PFGO作者联系了下,没想到PFGO作者给了个授权,废话少说先搭建再说!所以决定出个全面的教程(包含进阶的CNAME域名解析入口机应用),方便大家参考。(自己水平有限只会搭建不会描述找个别人发的教程文章让大家看吧)
由于现在普遍都采用PFGO面板,本文只介绍此面板的用法。
1、注册-充值-买套餐
不少老板没有在PFGO面板上开通充值功能,这种情形下,你只能每个月定期打钱给老板了
(一般使用支付宝口令红包即可)。
稍微高级一点的,老板会在PFGO面板上提供在线充值功能,这种就可以一条龙自助服务了。
- 充值:PFGO面板左侧导航菜单“用户信息>余额”,充值足够的金额(建议先充个足够月付的就可以,如果后续稳定使用的话可以适当留些余额,开启自动续费)
- 买套餐:确认账户有充值余额后,可以去“商店>购买套餐”自行在线买套餐(用余额支付)
买完套餐后,可以在“商店>我的套餐”看到流量使用情况、转发规则数量限制等。
【重要提醒】PFGO不支持套餐叠加,如果你在使用A套餐,还没过期,又购买了B套餐,则A套餐立即失效。
2、自备单端隧道转发(国内入口 > 自备国外落地机)
此方式在服务端和落地机两边建立隧道协议,需要在落地机执行脚本。相比纯TCP流量转发,隧道连接更为稳定和安全。如果面板提供方有开启类似Secure、SecureX的协议,建议使用(这两个区别不大,随便选)。
2.1、创建自己的单端隧道
前提:你得能SSH访问你的落地机VPS,且有root权限。
去“设备管理>单端隧道”,点击右上角+,开始创建:
注意:SNI不要填写国内GOV网站,也不要含有科学出国相关的敏感单词
创建完,回到单端隧道列表,复制一下命令备用:
接着SSH登录你的自备落地机VPS,粘贴以上命令,回车运行即可。
如果之前你用过其他家的类似转发服务,可能会提示需要创建新的服务名,随便写个名字即可:
回到PFGO面板的单端隧道列表,可以看到此时“同步时间”已经有数据了(刚创建完隧道时还没有这个数据):
2.2、 创建中转规则(从入口节点转到自备单端节点)
典型场景:入口为老板提供的国内成都移动,出口为自备的香港CMI落地机
设置关键点:如上图,“目标”IP是127.0.0.1,端口为自备落地机上具体科学出国协议的端口。
创建完中转规则后,可能要等个几十秒或者一分钟,才会显示状态为正常。
注意:使用单端隧道转发方式时,由于需要你的国外机直连国内机,强烈建议科学协议进行加密,不要裸协议运行。
3、入口机+出口机+转发到自备国外落地机
典型场景:入口为老板提供的国内深圳移动,出口为老板提供的香港机,最终目标为自备香港落地机。
为什么需要中间多加一层转发?因为有可能你的目标落地机,从国内直连不太行,所以要先用老板的两台机器组建隧道先出国,出去之后天地宽,你再接自己的落地机,这样速度就能提上来了。
设置关键点:如上图,“目标”IP是你的自备落地机具体IP,端口为自备落地机上具体科学出国协议的端口(此方式不需要建立单端隧道)。
注意:
1、创建完中转规则后,可能要等个几十秒或者一分钟,才会显示状态为正常。
2、如果老板提供的出口节点是集群(也即是多台机器),这里的模式可改为负载均衡(单转发其实也没问题)。
3、由于入口和出口已用了两台机器,显然,消耗的流量也会加倍,请留意老板标注的消耗量说明。
4、此方式先通过老板提供的隧道出境,再去访问你的自备落地机,因此理论上你的落地机所用的科学协议可以不加密裸奔,毕竟都已经出境了,不加密还能减少一点速度上的损耗。
4、非隧道转发(TCP+UDP)- 不推荐
有时候,面板提供方没有开启Secure或者SecureX协议,只能用纯流量转发模式,即入口机直接转发(非隧道方式)到你的自备落地机。
此时目标和端口必须为落地机的IP和科学端口:
纯TCP转发模式一般不推荐,因为容易连接不稳定,且如果有客户用不加密的科学协议裸奔,站长的机器容易被和谐。实际上,大部分中转服务商也不开放此方式,这里只是给大家做个科普罢了。
注:此方式下不必去创建单端隧道,也不用去落地机执行脚本。
5、替换客户端的原有科学出国链接
无论你使用什么科学出国协议,将PFGO面板获取到的节点网址和监听端口,替换掉原始科学链接的对应值即可,以下为Windows上的某客户端示例:
总结:大部分情况下,我推荐用面板提供商给的隧道出口来转发自己的落地机,这样的话,会被和谐也只是出口机,而不是你的小鸡。或者说,哪怕你的小鸡从国内已无法直连,任可以用隧道出口正常访问。单端隧道转发方式,更适用的场景是,你的小鸡直连国内速度还不错(如CN2GIA或者CMI),或者面板提供商的境外隧道性能不行/资源不足。
6、(进阶应用)CNAME解析自备域名到中转机入口域名
注意:本节内容适用于中转机入口有域名的场景(千万不要直接用自己的未备案域名解析到入口机的IP地址)
使用中转服务的一个麻烦点就是,老板会时不时更换入口机器的地址:
1、你可能在多个客户端(软路由、手机、平板、电脑等)使用了这些链接,逐个去修改入口域名非常麻烦
2、你可能将链接也分享给朋友了,你还得去通知他们修改入口域名
3、有些中转服务商提供的入口域名,本身在国内部分地区访问就不太顺畅
问题就来了,有没有一种办法,能够灵活应对以上场景呢?
当然有,这玩意叫做CNAME。大概原理是,你可以将自己的(子)域名A,用CNAME方式解析到别人的域名B,客户端请求访问A时,实际上请求到的是域名B对应的IP地址。
我从网上扒了张阿里云的图,供大家再学习下这个CNAME的原理:
下面是在我的域名托管商那里设置CNAME的截图,也供参考:
完成CNAME域名解析后,在科学客户端的节点域名栏,将原本应该填写的中转机入口域名,改为自己的(子)域名。
用这种方式,当中转入口域名发生变动后,你只需要将之前CNAME解析的内容更新一下就行,之前的各客户端所有链接保持不变。
CNMAE看起来已经很强大了,还有没有更高级的玩法?有的。
一般来说,为了提高可用性,我们会使用不止一条中转入口线路,不管是同一家服务商提供的多个入口,还是买多几家中转服务,积攒几个入口。那问题就来了,如果不是入口更换域名,而是入口域名直接挂了好几天没恢复,甚至是某一家中转服务商被攻击,完全无法访问节点,怎么办?那我们就得再升级一下CANME的用法了。
【注意:以下均对同一台落地机而言】
1、在PFGO面板上创建不同入口节点的规则,但手动填写同一个监听端口数字(可能要多试几次,因为你手动填的端口可能被已别人占用了)。
2、分别用自己的多个子域名,去解析以上的多个不同入口的域名,科学客户端节点链接使用自己的子域名
3、当面板的其中一个入口域名挂掉时,只需要去修改对应CANME的记录,改成其他可用入口域名,即可实现无缝入口切换:既不用手动去客户端切换其他可用节点,也不用修改(原本已挂掉节点的)节点端口(这就是相同监听端口的好处了)