1 | wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/ssr.sh && chmod +x ssr.sh && bash ssr.sh |
魔改BBR一键脚本合集
第一部分:OPENVZ平台
一、OpenVZ 平台 Google BBR(魔改) 一键安装脚本
来源:扩软
安装:
1 | wget https://raw.githubusercontent.com/kuoruan/shell-scripts/master/ovz-bbr/ovz-bbr-installer.sh |
卸载:./ovz-bbr-installer.sh uninstall
修改端口配置:vi /usr/local/haproxy-lkl/etc/port-rules 。在文件里添加需要加速的端口,每行一条,可以配置单个端口或者端口范围,以 # 开头的行将被忽略。 例如:8800 或者 8800-8810 配置完成之后,只需要重启 haproxy-lkl 即可。使用 systemctl 或者 service 命令来启动、停止和重启 HAporxy-lkl:
systemctl {startstoprestart} haproxy-lkl
或
service haproxy-lkl {startstoprestart}
二、OpenVZ平台魔改BBR一键脚本之Rinetd方式
来源:南琴浪 GITHUB项目地址
优点:Rinetd就是另外一种lkl bbr,好处是不需要开启TUN/TAP,对于后台没有或者找不到这个模块的,刚好可以用一下。
缺点:不支持IP段加速,每个要加速的端口都需要单独配置。
更新: 2018-03-24 新增 多网卡 适配
Debian or Ubuntu
单网卡(单 IP) 服务器:
1 | wget https://raw.githubusercontent.com/nanqinlang-tcp/tcp_nanqinlang/master/Rinetd/bash/tcp_nanqinlang-rinetd-debian+ubuntu.sh |
多网卡(多 IP) 服务器,会为所有网卡(所有 IP)提供加速:
1 | wget https://raw.githubusercontent.com/nanqinlang-tcp/tcp_nanqinlang/master/Rinetd/bash/tcp_nanqinlang-rinetd-debian+ubuntu-multiNIC.sh |
CentOS 7
1 | # 单网卡 |
运行脚本会出现下面几个选项:
安装 rinetd-bbr
此脚本会在/home/tcp_nanqinlang进行安装,所以安装完成后不要动这个文件夹了(除非你想修改端口)。安装过程中,会提示输入端口号。多个端口号用空格隔开。不支持端口段。安装完成后,会开启 rinetd-bbr。以后重启机器也会随开机自启。使用前请注意自己的 iptables 相关设置。
检查 rinetd-bbr 运行状态
此命令用于检查 rinetd-bbr 运行与否,可通过返回的提示判断。
卸载 rinetd-bbr
运行此命令会删除 /home/tcp_nanqinlang 、移除 rc.local 对应开机自启项和清空 iptables raw 表。属于完整卸载,不会有残留。且卸载后无需重启。
三、OpenVZ 魔改 BBR - LKL 一键脚本
来源:南琴浪 GITHUB项目地址
优点:支持IP段加速
安装方法:
1 | # Debian 8+ |
以下进行脚本使用说明:
安装 LKL
此命令用于安装 LKL。
在/home/tcp_nanqinlang进行安装,所以安装完成后不要动这个文件夹了(除非你想修改端口)。
安装过程中,会提示你选择
1 | 单个端口 |
或
1 | 端口段 |
输入,具体已在运行脚本的提示中有说明,这里不再赘述。
安装完成后,会开启 LKL。以后重启机器也会随开机自启。
以后若需要修改转发端口,请将/home/tcp_nanqinlang/haproxy.cfg中的端口号和/home/tcp_nanqinlang/redirect.sh中的端口号改为你想要的端口或端口段,修改完成后重启服务器。
使用前请注意自己的 iptables 相关设置。
检查 LKL 运行状态
此命令用于检查 LKL 运行与否,可通过返回的提示判断。
卸载 LKL
运行此命令会卸载 haproxy、删除 /home/tcp_nanqinlang、移除 rc.local 开机自启项。稍后请自行移除iptables相关规则。
该脚本项目最新的地址是:https://github.com/tcp-nanqinlang
第二部分:KVM平台、独服
一、BBR+BBR魔改+Lotsever(锐速)一键脚本 for Centos/Debian/Ubuntu
来源:千影
支持系统 Centos 6+ / Debian 7+ / Ubuntu 14+ BBR魔改版不支持Debian 8
安装:
1 | wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh" |
魔改BBR一键安装
说明:运行脚本后会出现上图的界面。安装魔改BBR先选择1安装对应内核,安装完毕后重启机器,然后再进入脚本目录重新执行脚本,选择4安装魔改BBR。
如果出现下图界面,需要选NO:
此界面要选NO
在CentOS 7中安装KVM平台搭建VPS
KVM即Kernal-based Virtual Machine, 是一种高效且成熟稳定的虚拟化技术, 支持所有的操作系统. 因此, 掌握服务器上搭建KVM平台是很有意义的. 通过虚拟机的建立以及IP分配, 虚拟机可以当做一台完全独立的服务器来使用, 即我们常用的VPS.
搭建虚拟机平台对宿主机系统的要求较高. KVM虚拟化要求宿主机的CPU支持Intel VT或AMD-V技术 (请执行cat /proc/cpuinfo查看), CPUBenchMark至少在1000以上, 建议5000或更多 (ATOM D525这种就不要来装虚拟机了). 系统内存要求至少为4G, 建议8G或更多. 硬盘要求20G以上. 操作系统必须为64位. 服务器至少分配2枚或以上的独立IP地址 (每个VPS一枚, 宿主机一枚). 本次教程, 我们以最新版本的CentOS 7为例, 介绍KVM平台的搭建.
1, 系统环境准备
(1) 设置服务器名(Hostname)
任何与网络相关的Linux操作都要求设置好服务器名. 请确保您已经正确设置服务器名: 当您在SSH中执行hostname -f命令时, 应看到servername.domainname.com; 当您执行hostname命令时, 应看到servername. 具体设置方法我已强调数十遍, 这里不再赘述. 若未设置好服务器名, 请不要继续.
(2) 软件更新
CentOS系统下执行yum -y update命令更新软件.
(3) 检查网络与IP信息
CentOS 7系统中执行ip addr命令查看网卡及IP地址信息. 查看一下绑定您的宿主机外网主IP地址的网卡名称, 记下它, 我这里是ens9. 查看一下是否有其他的虚拟网卡绑定了额外的外网IP地址, 若有, 请删除对应的虚拟网卡.
本次教程中, 我们假设给宿主机分配的IP地址段为标准网段100.100.100.200/29共8个IP, 则网络地址100.100.100.200, 网关100.100.100.201, 宿主机IP 100.100.100.202, VPS IP段100.100.100.203 ~ 100.100.100.206, 广播地址100.100.100.207, 子网掩码255.255.255.248.
2, 桌面环境的搭建
如果您仅使用一台服务器搭建KVM, 那我建议搭建桌面环境并搭建VNC服务器, 这样在管理KVM虚拟机和安装操作系统时较为方便. 我们以GNOME桌面环境为例介绍VNC服务器的搭建. GNOME桌面环境安装很简单, 执行下面这行命令即可:
1 | yum groupinstall "GNOME Desktop" |
然后安装VNC服务器. 执行:
1 | yum install tigervnc-server |
新建用户, 用来连接VNC, 并配置用户的连接文件. 执行:
1 | useradd jarod |
编辑文件: /etc/systemd/system/vncserver@:1.service
将文件中的
配置防火墙:
1 | firewall-cmd --permanent --zone=public --add-service vnc-server |
然后, 切换到用户jarod, 启动VNC服务器:
su jarod vncserver
此时, 会提示输入VNC密码, 设置好后回车即可.
最后切换回root, 设置随开机启动:
1 | su root |
这样, 我们就配置好VNC服务器了. 在本地电脑上使用VNC客户端连接100.100.100.202:5901即可访问服务器的GNOME桌面环境. 第一次使用VNC连接的时候会提示输入管理员密码, 如下图.
此时请输入您的root用户密码. 然后会提示一系列配置信息, 直接NEXT就好.
3, KVM的安装
KVM安装很简单. 在SSH中执行下面这行命令即可.
1 | yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python libvirt-client virt-install virt-viewer |
4, 在宿主机上新建VPS
首先, 使用VNC连接宿主机. 进入桌面后, 找到Virtual Machine Manager, 如下图.
打开后, 点击图标Create a new virtual machine.
然后按步骤载入系统镜像. 如果没有系统镜像的, 可以去我的下载站http://wget.pro下载.
接着分配内存和硬盘. KVM是实虚拟, 因此分配内存后宿主机就不能再使用这部分资源了.
最后分配网卡. 这里我们要选择桥接模式Bridge, 并选择宿主机的出口网卡. 如下图.
这样, 我们就新建完成了VPS, 可以安装操作系统了.
是不是很简单呢? 安装系统的时候有一个步骤是配置网络信息, 这里我们的DHCP是不生效的, 需要在VPS上获取IP. 选择Configure Network Manually, 然后按照第一部分第三小节的信息来配置即可.
至此, 大功告成. 我们在VPS上安装SSH服务器后, 就可以对它进行完全独立的网络访问了.
参考资料:
1, Kishore, S. VNC-Server installation on CentOS 7. https://www.howtoforge.com/vnc-server-installation-on-centos-7
一键网络安装最新纯净CentOS7.X(自动分区扩容版)发布
简介
之前的CentOS7系统模板是手动分区版,是为兼容磁盘较小的服务器以及使得用户可以手动挂载自己的数据盘,避免在安装时因为自动分区导致将用户数据盘格式化等问题,因此手动分区版在自动安装完成后,系统默认只分配了4.5GB,剩余磁盘需要进行手动分区扩容。
所以,今天的自动分区版发布了,毕竟手动分区还要花费几分钟时间去手动操作,为什么不在安装时就自动分配所有的磁盘空间给(/)根分区呢?这样安装完直接就是所有磁盘空间都被应用,省去了人工去分区的精力和时间,效率就是金钱。这真是太棒了。
当然手动分区版的存在也是必要的,毕竟有些MJJ们需要手动去分区,例如想给home自定义分区或者挂载数据盘,脚本中默认为自动分区版,因此对于需要手动分区的MJJ们可以手动修改安装地址为手动分区版地址即可。两个版本的唯一差别就是一个会自动分区(所有空间划给/根分区),一个需要手动分区(安装完成后可自定义手动划分分区)。两版安装完均是当前最新的CentOS7.X,CentOS发布什么最新版本,安装完就是什么最新的版本。截至2018年8月CentOS发布的为7.5版。
预览图片(套路云一键重装完)
配置为:1C/1G/40G/200M/1T的机器
如何使用和做
一键安装具有两种系统模板,以下教程中默认使用自动分区版(一个是自动分区版,一个是手动分区版,你应该按照你的需求进行选择)
自动分区版:https://opendisk.cxthhhhh.com/OperatingSystem/CentOS/CentOS_7.X_NetInstall_AutoPartition.vhd.gz
手动分区版:https://opendisk.cxthhhhh.com/OperatingSystem/CentOS/CentOS_7.X_NetInstall.vhd.gz
如需手动进行分区(可根据您的需求定制化,比如挂载数据盘等),请将下面代码中的系统模板地址替换为手动分区版的地址,代码中默认为自动分区版。
我提供两种方式供你采用。(任选其一)。
1. 进入恢复模式(推荐)或在常规模式下,查看要安装的磁盘。(以下命令需要修改到您自己的磁盘)
①如果你是VPS,你应该像这样运行 wget -qO- https://opendisk.cxthhhhh.com/OperatingSystem/CentOS/CentOS_7.X_NetInstall_AutoPartition.vhd.gz gunzip -dc dd of=/dev/vda
②如果你是一个专用服务器,你应该像这样运行 wget -qO- https://opendisk.cxthhhhh.com/OperatingSystem/CentOS/CentOS_7.X_NetInstall_AutoPartition.vhd.gz gunzip -dc dd of=/dev/sda
2. 在正常模式下执行以下命令(通过MoeClub.org提供的脚本) (你需要注意,下面命令中引号是”英文状态引号”。)
wget --no-check-certificate -qO InstallNET.sh 'https://moeclub.org/attachment/LinuxShell/InstallNET.sh' && bash InstallNET.sh -dd 'https://opendisk.cxthhhhh.com/OperatingSystem/CentOS/CentOS_7.X_NetInstall_AutoPartition.vhd.gz'
您得明白
1. 它将帮助您重新安装最新的CentOS7.X系统。(正式,纯粹,安全,高效) 2. 执行后,您可能需要15-45分钟后才能通过IP:22进行连接。 3. 新安装的系统root密码为[cxthhhhh.com] 。 4. 系统首次启动后,请等待自动安装完成,系统将自动重启,然后才能使用。(安装过程中的手动干预可能会导致错误) 5. IPV4和IPV6是开启的,并通过DHCP获取网络信息。 6. 系统的DNS将被设置为1.1.1.1和8.8.8.8,用来保护您的隐私。 7. 系统使用官方CentOS镜像,将自动匹配yum信息。拒绝服务提供商劫持。 8. 登录信息标准化,易于管理。您需要在登录后修改它。 9. 完成测试,非常适合Azure,Google Cloud,Vultr,Online,Net,OVH,阿里云,腾讯云中的许多专用服务器和KVM服务器。欢迎您的反馈。 10. 对于手动分区版系统模板,默认分配磁盘大小为4.5G。 11. 当你使用我的解决方案,我想说,感谢您信任我。我非常感谢您。我很高兴可以帮助到你。如果您不信任我的解决方案,请关闭页面,信任这是平等的。我相信技术不分国家,欢迎一起讨论,共同研究最新技术。 12. 自动分区版将会把所有的硬盘剩余空间分配给(/)根分区,请注意,你只可以在全新的服务器上使用自动分区版,如果你有数据在服务器上,请使用手动分区版(根据需求手动挂载您的数据盘),这是为了防止自动分区版在安装时将您的数据盘格式化。 13. 在每次重装前,请保证你已经通过服务商面板重装过一次系统(CentOS/Debian/Ubuntu均可),不可以在已经DD安装过的系统上使用萌咖的自动脚本再次DD本系统,否则会报错,系统无法启动。手动DD不受此问题影响。 14. 在安装过程中,请勿手动进行操作,也许会导致错误。如果您在屏幕(VNC)上看到以下界面,代表正在安装系统,请耐心等待。
开始享受纯净的CentOS7。
Linux安装DNSmasq搭建自己的公共DNS
DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。自己搭建公共DNS更加灵活,如果是在本地搭建,还可以大幅提高解析速度。
安装DNSmasq
可以下载软件包编译安装,不过一般Linux软件仓库已经提供了DNSmasq,相关命令如下:
1 | #centos安装 |
配置DNSmasq
DNSmasq配置文件再/etc/dnsmasq.conf
,我们需要修改几个参数,分别为:
- resolv-file=/etc/resolv.dnsmasq.conf 这个参数表示 dnsmasq 会从这个指定的文件中寻找上游 dns 服务器
- 取消注释的 strict-order ,表示严格按照 resolv-file 文件中的顺序从上到下进行 DNS 解析, 直到第一个成功解析成功为止
- 注释掉 no-hosts, 默认情况下这是注释掉的, dnsmasq 会首先寻找本地的 hosts 文件再去寻找缓存下来的域名, 最后去上游 dns 服务器寻找.
- 设置 listen-address=127.0.0.1 ,
127.0.0.1
改成自己服务器IP
我们来整理下上面我们修改了那些配置内容
1 | #需要新建一个resolv.dnsmasq.conf文件,这个是配置上游DNS,也就是真正的公共DNS |
1 | #修改/etc/dnsmasq.conf |
使用方法
DNSmasq可以设置不同的域名指定不同的DNS进行解析,修改/etc/dnsmasq.conf
文件即可,若不对域名设置DNS,则从上游DNS获取记录。
1 | #指定淘宝使用114 DNS进行解析 |
也可以对指定的域名进行解析,相当于就是本地hosts指向,可以利用这个功能实现广告屏蔽等效果。也是需要修改/etc/dnsmasq.conf
文件,DNSmasq也可以对域名进行泛解析,填写*.xiaoz.me
,这样的格式即可。
1 | #将广告域名指向到127.0.0.1实现广告屏蔽 |
启动与测试
1 | #启动 |
比如我在本地一台Linux服务器(192.168.20.127)安装了DNSmasq,并在局域网内其它PC将DNS配置为192.168.20.127,使用dig命令进行测试,第一次查询相对较长,第二次几乎再10ms内,如下截图。
总结
如果是在内网搭建DNSmasq,不仅可以提高解析速度,还可以有效的防止DNS劫持,实现屏蔽广告等作用。如果是在公网搭建DNSmasq,还可以对指定的域名解析hosts指向,从而避免DNS污染,实现fq
如果您发现DNSmasq启动正常,但就是无法解析,请注意防火墙是否放行tcp/upd 53端口。
使用CloudXNS API实现DDNS(动态解析)
DDNS是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器程序负责提供DNS服务并实现动态域名解析。
目前国内支持DDNS解析的商家也比较多,比如花生壳等。如果你想自己不想使用第三方厂家提供的DDNS服务,完全可以自己折腾,比如使用CloudXNS API实现DDNS。
一、开始准备
- 需求:家里有一台占美小主机24小时运行,需要连接公网实现一些服务,不过运营商的IP是动态的,随时都在发生变化,于是需要用到DDNS
- 系统:CentOS 6 X64
- 环境:PHP 5.6
- 域名一个,并且已经使用CloudXNS DNS
二、安装CloudXNS API PHP SDK
选择CloudXNS API PHP SDK,所以你要提前把PHP环境搭建好咯,进入站点根目录依次执行下面的命令:
1 | ### 下载CloudXNS API PHP SDK |
三、安装SDK
CloudXNS-API-SDK-PHP需要用到Composer,如果您还没有安装Composer,请安装Composer,接着在站点根目录执行composer install
即可完成SDK安装。吐槽:SDK在国外,安装速度太慢了。
四、添加执行脚本
CloudXNS API PHP SDK里面有完整的DEMO,需要的可以参考。将下面的代码另存为ddns.php,setApiKey和setSecretKey请注意修改为自己在CloudXNS后台获取的。其中test.hixz.org请修改为您在CloudXNS需要更新的解析记录。
1 | <?php |
五、定时任务
我们可以用Linux的crontab定时任务每小时运行一次脚本,及时更新公网IP,如下:
1 | ### 添加定时任务 |
10
指每小时的10分,/data/wwwroot/test/
为网站根目录,/usr/local/php/bin/php
是PHP所在的安装路径。
六、测试
脚本执行成功后,由于DNS缓存原因,一般10分钟左右生效,我们可以用ping命令测试是否和自己的公网IP一致,如果一致,说明DDNS解析成功,如下截图。
如何将Windows Server(2003/2008/2012/2016/XP/7/8/10)重装到Linux Server(CentOS/Debian/Ubuntu)
简介
有时候,我们的无法在服务商的控制面板将Windwos Server服务器重装为Linux Server。
我们尝试发送支持票据,服务商告诉我们因为授权价格差异,不支持更换。我们只能想办法手动解决。
今天,我将演示通过四种方式,来帮助你成功的在服务器上将Windows安装为Linux。我在Alibaba Cloud、以及一些KVM机器中完成测试。如果你正在寻找这样的方案,赶快来试试吧。
准备工作
一台装有Windows的服务器 / 具有互联网接入 / 有控制台(VNC/KVM)操作权限 / 或者具有恢复模式
请注意,以下四种方案均通过测试,因此绝大部分的机器都可以通过以下四种方式进行操作。(你应该测试哪一种方案适合你)
让我们开始
1. 解决方案一(通过服务商提供的恢复模式):
①. 首先在服务商面板选择并进入恢复模式
你将会收到一个包含有SSH/RDP连接信息的提示/邮件,通过这些信息,你可以访问到恢复模式,用来管理和操作你的服务器。 (解决方案一主要针对收到SSH连接信息的恢复模式,如果收到的是RDP信息,请查看解决方案二/解决方案三/解决方案四)
②. 检查磁盘信息
查看你想安装到的磁盘,输入以下命令。(你的磁盘可能是以下名称vda/vdb/sda/sdb/等等,请修改下面命令中的vda为您的磁盘) fdisk -l
③. 执行以下的DD系统命令,进行一键安装最新的系统(你需要使用你自己的DD镜像,我提供了一个最新的CentOS7.X镜像)
wget -qO- https://opendisk.cxthhhhh.com/OperatingSystem/CentOS/CentOS_7.X_NetInstall_AutoPartition.vhd.gz gunzip -dc dd of=/dev/vda
④. 执行完毕重启计算机,等待15-45分钟,通过IP:22进行SSH连接(上述CentOS7安装后的默认密码为cxthhhhh.com)。
2. 解决方案二(通过官方提供的Debian-Installer Loader中转安装Linux)
①. 在Windows系统中下载Debian-Installer Loader硬盘安装器
Debian-Installer硬盘安装器 下载:https://opendisk.cxthhhhh.com/OperatingSystem/Debian/Debian-install-Windows.exe
②. 通过Debian-Installer Loader安装Debian系统(按照程序提示,这是Debian官方提供的方案)
以下是安装预览图片(独立服务器的话,你需要去主板设置关闭安全启动Secure Boot)
③. 通过VNC/KVM界面开机选择安装Debian,进行一步步的手动安装操作(无需SSH,请在VNC/SSH下操作)。
④. 等待Debian安装完毕,启动Debian。
(你已经完成Debian的安装,但是Windows系统也同时存在硬盘上,所以建议再次通过DD方式重新安装Linux系统,使得所有磁盘空间可用)
3. 解决方案三(通过UNetbootin安装方案)
①. 在Windows系统中下载UNetbootin安装器
UNetbootin 下载:https://opendisk.cxthhhhh.com/Software/UNetbootin/UNetbootin-Windows-661.exe
②. 通过UNetbootin安装Linux发行版系统(我将使用CentOS来演示操作)
以下是安装预览图片(独立服务器的话,你需要去主板设置关闭安全启动Secure Boot)
*提示信息:你也可以选择一个你已经下载好的任意Linux发行版ISO光盘镜像进行安装。(第一步选择ISO镜像即可,不使用在线安装)
③. 通过VNC/KVM界面开机选择启动UNetbootin引导,进行一步步的手动安装Linux的操作即可(无需SSH,请在VNC/SSH下操作)。
④. 手动安装完毕,重启计算机,你的Windows系统就成功的安装到了Linux。
(可选)如果不放心,你可以在当前已经安装好的Linux下再次通过第一种解决方案DD安装新的纯净Linux系统。 (已经有Grub引导了,此时你也手动安装其他Linux发行版)
4. 解决方案四(通过Deepin引导方案):
①. 在Windows系统中下载Deepin操作系统和Deepin硬盘安装器
Deepin系统 下载:https://opendisk.cxthhhhh.com/OperatingSystem/Deepin/deepin-15.7-amd64.iso
Deepin硬盘安装器 下载:https://opendisk.cxthhhhh.com/OperatingSystem/Deepin/deepin-system-installer.exe
②. 通过deepin硬盘安装器安装Deepin系统(将安装器和ISO镜像放在同一个目录下)
以下是安装预览图片(独立服务器的话,你需要去主板设置关闭安全启动Secure Boot)
③. 通过VNC/KVM界面开机选择安装Deepin,进行一步步的手动安装操作(无需SSH,请在VNC/SSH下操作)。
④. 等待Deepin安装完毕,启动Deepin,然后在Deepin下通过第一种解决方案DD安装新的Linux系统
(可选)如果不放心,你可以在当前已经安装好的Linux下再次通过第一种解决方案DD安装新的纯净Linux系统。 (已经有Grub引导了,此时你也手动安装其他Linux发行版)
非常棒,现在你已经掌握四种方案成功的将Windows重装为Linux
申请CloudFlare Partner并搭建面板,使用CName接入CloudFlare
前言
CloudFlare恐怕无人不知无人不晓了吧?大名鼎鼎的CDN服务商,拥有众多数据节点,CDN加速效果极其出色(当然说的是在国外,国内另算)。
CloudFlare
拥有免费套餐,对于咱们普通站长来说,免费套餐是绰绰有余的,当然,如果想自己指定亚洲节点,那就得升级套餐了,套餐费用可不便宜!
CloudFlare
无论是作为CDN,还是为了隐藏真实IP,其效果都是很不错的,不过要使用CloudFlare
,您就得将自己的域名NS服务器修改为CloudFlare
指定的NS服务器才可以,也就是说,要使用CloudFlare
的免费套餐,就必须使用CloudFlare
的免费NS服务!
而对于很多站长来说,可能并不希望自己的域名存放到CloudFlare
的NS服务器上,毕竟它又不支持分线路解析不是?
那如果想要不使用CloudFlare
的NS服务器的情况下,来使用CloudFlare
的免费CDN呢?一般来说就得升级套餐,然后使用CName
模式接入,不过价格咱们普通站长绝对承受不起。
除此之外,就是使用CloudFlare
提供的Partner
咯,也就是合作伙伴接口,这个接口提供了一个API
,使用这个API
就可以通过收费套餐才可以使用的CName
模式接入CloudFlare
,当我们通过CName
接入CloudFlare
后,剩下的自选亚洲节点什么的,就自己去解决吧,哈哈哈!
CloudFlare Partner申请
要使用Partner
,咱们必须要向CloudFlare
申请,等待CloudFlare
通过后才可以使用,不过这是对于像自建Partner
的朋友来说,如果不想自建,而直接使用他人提供的,那就无需申请,只要拥有一个CloudFlare
的账号即可,直接使用第三方提供的平台,请直接看本文最后部分。
Partner
的申请很简单,也很困难,说简单是填写的内容不多,说困难则是通过的几率!
首先打开https://www.cloudflare.com/partners/become-a-partner/,整个申请界面看下图:
这里有几点需要注意,否则不容易通过:
- 所有内容请使用英文!
- 公司类型最好选择
VPS
类。- 网站打开后必须是与公司类型相关的。
- 联系邮箱请使用域名邮箱,且最好使用
admin@domain.com
格式。- 申请理由最好说明
自己客户大多为中国客户,需要使用CF,但由于那啥啥啥原因,很多CF公司的NS服务器都被屏蔽了,所以需要申请Partner给客户使用
。- 最好不要使用国内企业邮箱系统,这里是康康的教训,因为康康曾经提交过申请,而后一直没有任何回复,后来过了一段时间后再次提交申请,收到一封邮件说我已经申请通过了的,而且还说看了我账号一直没有使用,这才发现是国内企业邮箱收不到邮件所致。
提交申请后请耐心等待,通过后会有一封邮件要求你设置密码,点击链接后会打开一个界面,在其中输入要设置的登录密码。
设置完成后打开https://partners.cloudflare.com/login登录到`Partner`系统中,并完善一些个人信息。
一直持续下一步,最后生成一个API Key
。
这样咱们的Partner
就算申请并配置完成了,接下来咱们将搭建一个Partner
的接入面板。
面板搭建
Partner
的接入使用的是API
接入,可以使用命令行、Python
以及各种方式进行接入,但最直观最方便的还是操作面板,毕竟可视化对于命令行来说占的优势不是一点两点的!
这里的面板搭建,选择使用Cloudflare-CNAME-Setup,作者为郭泽宇,因为曾经使用过这款面板,还挺不错的!
Cloudflare-CNAME-Setup
使用PHP
开发,所以咱们需要配置PHP
才能使用。
依然使用最喜爱的FreeBSD
系统进行搭建,系统安装完成后直接执行以下命令:
1 | pkg install openssl curl nginx php72 php72-opcache php72-mbstring php72-filter php72-session php72-openssl php72-curl php72-pecl-APCu php72-json php72-gettext |
接着配置目录并启动即可,具体的FreeBSD
下配置PHP
运行环境请看康康之前的文章,都是老三步:优化、安装、SSL
环境搭建完成后,至Cloudflare-CNAME-Setup下载最新版本面板代码,并将config.example.php
更名为config.php
。
1 | <?php |
最后打开网站,已经可以看到面板界面了!
面板使用
Cloudflare-CNAME-Setup
面板的使用很方便,并没有管理后台,只有客户界面。
如果您不想自己搭建,可以使用面板作者搭建的也行。 作者搭建的面板地址:https://cf.tlo.xyz
打开面板后,会显示一个登陆界面,要求输入CloudFlare
账号密码进行登录。
这是由于Partner
的原因,必须使用CloudFlare
的账号密码进行登录,不过放心,面板并没有保存账号信息。
咱们使用CloudFlare
的账号密码登录进入面板(记住是CloudFlare
的账号密码,不是Partner
的账号密码),若存在域名的,会显示当前账号下的域名列表。
首先咱们将自己需要使用CDN
的域名添加进去,这里注意,该域名必须在CloudFlare
或百度云加速
中不能存在,若存在请先删除,且必须添加顶级域(也就是没有www.的那个)。
添加完成后出现NS
设置面板,这里有三种接入方式,一种为NS
接入,也就是CloudFlare
默认的接入方式,咱们肯定不用;第二种为CName
接入,这是咱们需要使用的;第三种为A
记录接入,不太推荐这种方式,因为其实CloudFlare
是不允许使用A
记录进行接入的!
当然,无论使用什么方式接入,首先咱们需要在面板中添加咱们的解析指向,比如需要让lovekk.org
这个顶级域名指向123.123.123.123
这个IP地址,www.lovekk.org
这个子域名指向124.124.124.124
这个IP地址,那么设置如下(注意一定要开启CDN
选项):
添加完成后返回面板,可以看到解析添加记录,而且发现CName
接入方式下已经出现了指向地址。
OK,面板的域名部分就完成了,接下来只需要回到域名的NS
服务器中,将对应的域名CName
指向给出的地址就完成了CDN
的接入。
比如按照上面的图示,康康就需要到lovekk.org
的NS
服务器中,做如下解析记录:
lovekk.org
域名,清除所有的@
前缀的A
或CName
记录,并添加一条@
前缀的CName
记录,指向lovekk.org.cdn.cloudflare.net
。
www.lovekk.org
域名,清除所有的www
前缀的A
或CName
记录,并添加一条www
前缀的CName
记录,指向www.lovekk.org.cdn.cloudflare.net
。
接下来咱们等待解析记录生效即可。
使用Forsaken Mail搭建一个临时邮箱系统,即收即毁
说明:Forsaken Mail
是一个临时邮箱系统,可以供任何人接受邮件,即收即毁,支持自定义邮箱地址前缀,这里就说下Docker
和NPM
两种安装教程,任选一种即可,有兴趣或者有需求的可以玩玩。
截图
需求
1、VPS
需要开启25
端口,这个直接发工单要主机商开启。 2、域名解析,如果你想邮件地址格式都为*@xx.com
的形式,则为xx.com
设置MX
记录,需要添加以下2
条解析记录。
1 | #MX记录 |
NPM安装
Github地址:https://github.com/denghongcai/forsaken-mail
1、安装NPM
1 | #Debian/Ubuntu系统 |
2、安装Forsaken Mail
1 | git clone https://github.com/denghongcai/forsaken-mail.git |
最后按Ctrl+A
,再按D
键返回主界面,然后打开http//mx.xx.com:3000
就可以查看Forsaken Mail
邮箱界面了,如果你打不开界面,可能还需要开启防火墙端口,一般该情况在CentOS
系统上出现最多,这里就说下CentOS
开启操作。
1 | #Centos 6系统 |
Docker安装
1、安装Docker
1 | #CentOS 6 |
2、安装Forsaken Mail
1 | docker run --name forsaken-mail -d -p 25:25 -p 3000:3000 denghongcai/forsaken-mail |
安装成功后打开http//mx.xx.com:3000
就可以了,如果打不开界面请参考NPM
安装步骤。
配置Https访问
如果你不习惯使用http//mx.xx.com:3000
,或者想使用Https
域名访问主界面,那我们可以使用Caddy
反代。
这里所使用的域名只能是上面设置MX
记录的xx.com
,并提前将域名A
记录解析到服务器IP
。
1、安装Caddy 使用命令:
1 | wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install http.filemanager |
2、配置Caddy
1 | #以下全部内容是一个整体,请修改2个域名后一起复制到SSH运行! |
tls
参数会自动帮你签发ssl
证书,如果你要使用自己的ssl
,改为tls /root/xx.crt /root/xx.key
即可。后面为ssl
证书路径。
3、启动Caddy
1 | /etc/init.d/caddy start |
最后可以打开https://xx.com
访问了。
一款带Web管理面板的内网穿透工具:lanproxy使用教程
说明:博主今天找Frp
管理面板的时候,无意间发现了lanproxy
内网穿透工具,自带Web
管理面板,让我们在服务端配置方便了很多,而且一个服务端可以支持多个客户端连接,看起来还不错,这里就分享下。
简介
lanproxy
是一个将局域网个人电脑、服务器代理到公网的内网穿透工具,目前仅支持tcp
流量转发,可支持任何tcp
上层协议,可用作访问内网网站、本地支付接口调试、SSH
访问、远程桌面等等,而且带Web
在线管理面板,添加端口配置十分简单。
截图
相关链接
主页地址:https://lanproxy.io2c.com/ Github地址:https://github.com/ffay/lanproxy 发布包下载:https://seafile.io2c.com/d/3b1b44fee5f74992bb17/
服务端安装
服务端需要安装在一个有公网IP
的服务器上,系统为Linux/Windows
均可。
1、安装JAVA java
版本至少为1.7
,查看命令为java -version
。
2、Linux系统安装 首先下载发布包,服务端发布包下载地址:点击进入。
1 | #下载最新发布包 |
然后编辑配置文件conf/config.properties
,参考如下:
1 | #与在proxy-server配置后台创建客户端时填写的秘钥保持一致; |
运行lanproxy
:
1 | cd /root/proxy-server*/bin |
然后打开地址http://ip:8090
,使用上面配置中配置的用户名密码登录,进入Web
管理面板,且配置数据存放在~/.lanproxy/config.json
文件中。
1 | #如果打不开Web界面,就需要开启防火墙,一般CentOS系统出现情况最多 |
3、Windows系统安装 方法参考上面,只是启动的时候双击bin
文件夹里的startup.bat
即可运行。
客户端使用
客户端一般安装在一个内网的VPS
服务器或Windows
电脑上使用。这里说下JAVA
和非JAVA
两个客户端的使用方法,客户端下载地址:点击进入。
1、配置服务端 首先我们通过http://ip:8090
进入服务端Web
管理界面,先添加客户端,名称随便填。 然后点击刚刚添加的客户端名称,再添加配置,设置公网端口,后端
IP:端口
。 截图的配置意思是将内网的
888
端口映射到服务器的8080
端口,也就是访问服务器ip:8080
等于访问内网ip:888
。
这时候基本配置好了一个客户端节点,且该节点可以供多个客户端使用。
2、JAVA客户端使用 本版本需要安装java
,且版本依然至少为1.7
,查看命令为java -version
。
然后进入客户端下载地址,下载lanproxy-java-client.zip,再将文件解压到服务器或者Windows
电脑上,编辑conf/config.properties
配置文件,修改如下:
1 | #与在proxy-server配置后台创建客户端时填写的秘钥保持一致; |
最后运行lanproxy
:
1 | #运行方法可参考服务端运行步骤 |
3、非JAVA客户端使用 该方法可以不用安装java
即可在客户端运行lanproxy
,首先下载对应版本的JAVA客户端,然后解压出来,再运行以下命令:
1 | #以下需要使用的参数是服务端IP,服务端端口,客户端密匙 |
这里单独说下Windows
电脑使用方法,首先按住Win+R
,输入cmd
进入命令窗口。
1 | #如果你将客户端exe文件解压到了D盘的RATS文件夹,则使用命令进入RATS文件夹 |
最后客户端运行后,服务端Web
界面的配置状态显示在线即连接成功。 如果显示不在线检查下防火墙端口和配置是否正确什么的。