看完这篇文章,你的 KS3C 等等各种独立服务器将可以同时实现多种功能。
针对 PT
- 多客户端刷 PT(Deluge,utorrent,qbittorrent,rtorrent,transmission…..so on..)
- 压片
- 制种发种
- 115/百度网盘同步
- 还有最重要的~挂 QQ!!hah 等
针对虚拟化
- 理论你可以开设无限的独立 IPV6,NAT 的 IPV4 小鸡
- 如果你有额外的 ipv4,还可以开设独立 IPV4 独立 IPV6 的小鸡!
- 支持 windows+linux 任意系统,其中 win 必须 KVM 架构,linux 可 KVM 可 lxc(类似 openvz)
1.前言
对于大多数 PTbox 玩家来说,手里的盒子,也就是各种各样的独立服务器,买回来后仅仅也就是用来安装一个 rutorrent 或者 deluge 这样的 pt 客户端,然后刷刷流量,这样对于一个独立服务器来说简直太浪费了,就拿 KS3C 来说,KS3C 的标准配置是 i3+8g+2t+100Mbps,高配的甚至有 I5+16G 内存的配置,这种级别配置可远远不止可以干这些!
于是想到了利用这些服务器打造个同时能够支持 win+linux 双系统适合 PTer 的服务器,linux 下安装诸如 qBittorrent、ruTorrent、deluge 等等的客户端,win 下可以使用 utorrent 这个只支持 win 的客户端,然后还可以在 win 系统下直接进行制种,然后通过任意客户端做种,然后像百度网盘这种只能很好的在 win 下运行的网盘,你还可以在你的盒子里实时与度盘同步,等等等等。。都可以在同一个服务器上实现,而不仅仅是安装一个 PT 客户端~~接下来看教程吧!
2.安装环境:
2.1.操作系统:Debian9
说明一下,必须要是Debian9系统,原因不详细说了,主要是因为能用最新 PVE 内核,支持 BBR 加速,
对于KS或者SYS这种ovh系列的服务器,只需要安装官方的 VPS Proxmox VE 5 (64bits) 这个模板即可,可以省略安装 proxmox 这一步!!!
对于online系列的服务器,如果有硬 raid,你可以直接使用系统的 proxmox5 模板,如果是软 raid,默认只能 raid1,所以就安装 debian9 吧。
如何你的服务器的提供商没有提供 debian9 系统,比如 oneprovider 的 15 欧等等,只能安装 debian7,你可以参考以下操作
debian7 升级为 debian8:
apt-get update apt-get upgrade sed -i 's/wheezy/jessie/g' /etc/apt/sources.list apt-get update apt-get upgrade apt-get dist-upgrade apt autoremove apt clean
debian8 升级为 debian9:
apt-get update apt-get upgrade sed -i 's/jessie/stretch/g' /etc/apt/sources.list apt-get update apt-get upgrade apt-get dist-upgrade apt autoremove apt clean
期间遇到任何提示都选择 Y 就行了,最后都执行完了后执行 reboot 重启系统!
反正总之就是你需要 debian9 的系统!!!!!
2.2.服务器环境:
Oneprovider 的 10 欧机器
ipv4:167.99.172.150
ipv6:2604:a880:2:d0::add:1001
这里建议最低双核 4G 内存的机器使用本文方案!否则可能会用的不愉快~
3.安装 proxmox
proxmox 是一款只支持 debian 系统的虚拟化环境,可以安装基于 KVM 和 LXC(openvz 进化版)的虚拟机,使用很方便,有图形界面。接下来安装 proxmox5.X 系列。
3.1.编辑/etc/hosts
比如你登录服务器后显示 [email protected],那么你的服务器的名称就是server1, 你可以通过修改/etc/hostname文件修改它。然后你需要保持你的/etc/hosts 文件如下
127.0.0.1 localhost.localdomain localhost 167.99.172.150 server1.proxmox.com server1 # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters
3.2.安装 Proxmox VE
配置 repository
echo "deb http://download.proxmox.com/debian/pve stretch pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list wget http://download.proxmox.com/debian/proxmox-ve-release-5.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-5.x.gpg apt update && apt dist-upgrade
遇到如下界面选择keep the local version回车即可!
安装 Proxmox VE 包
apt install proxmox-ve postfix open-iscsi
遇到以下邮件安装界面,我们选择No configuration即可。
安装完成后 最后执行以下命令,否则会影响性能
apt remove os-prober
然后重启你的系统 proxmox5.X 就安装完成了!
4.配置 Proxmox 及 samba
4.1.开启 BBR 及 ipv4、ipv6 转发
编辑/etc/sysctl.conf
按 Ctrl+K 清空原有所有配置,改成如下
# 开启 BBR,内核需要是 4.9 以上,可以使用 uname -r 命令查看 net.core.default_qdisc=fq net.ipv4.tcp_congestion_control=bbr # 开启 ipv4 路由转发 net.ipv4.ip_forward=1 # 开启 ipv6 相关参数,其中 vmbr0 改成对应的主网口名称 net.ipv6.conf.all.forwarding = 1 net.ipv6.conf.vmbr0.accept_ra=2
然后执行以下命令使设置生效
sysctl -p
4.2.配置网络端口
执行命令
ip addr
如上图,这里的主端口是 eth0,也就是绑定了你 ipv4 和 ipv6 地址的端口,根据你的情况看!
首先打开 proxmox 的网页界面
https://服务器 IP:8006
然后我们需要知道服务器的三个信息:IP 地址、子网掩码、网关地址(通过 ip addr 可以看到 IP 和掩码,执行 netstat -rn 后 gateway 下面的就是网关了)
如上图,点击 create linux bridge,分别把以上信息填进去,勾选上 autostart,在 bridge ports 那里填上物理网卡的名称 然后保存!
然后我们新建一个 vmbr1 的虚拟网卡用来给虚拟机转发网络
点击 create linux bridge,填写一个内网 ip(如果需要支持 ipv6,这里的 ipv6 地址和 vmbr0 或者 eth0 的一样),如下图
保存退出,重启服务器使网络生效
/etc/init.d/networking restart
这样我们的网络就配置好了
4.3.配置 samba
安装 samba
apt-get update apt-get install samba
编辑/etc/samba/smb.conf 文件,在最后添加如下内容
[models] path = /home/ptdown available = yes browsable = yes writable = yes create mask = 0777 write list = windows
给文件夹权限
chmod -R 777 /home/ptdown
添加 samba 用户,并设置密码
adduser windows smbpasswd -a windows
重启 samba 服务让设置生效
/etc/init.d/samba reload /etc/init.d/samba restart
5.安装 windows 系统
这里我们的 IP 是167.99.172.150,于是我们打开
https://167.99.172.150:8006
然后输入你的 root 账户登录就行了,语言可选 Chinese 中文!界面如下
5.1.下载镜像
首先我们需要下载 windows 的镜像,这里我们选择安装 windows2008_R2 系统,并将镜像放到/var/lib/vz/template/iso/目录
5.2.创建虚拟机
①点击右上角的创建虚拟机,随便设置个名称,点下一步。
②操作系统:镜像文件选择刚才的那个 ISO,设置如下图,根据你要安装的 windows 版本设置,这里是 win2008_r2。
③硬盘:大小随意设置,最低 30G 吧,这个无所谓!其它设置默认,不影响操作!
④CPU:如果你是 i3/i5,核那里选择 2 就可以了一般,i7/E3 之类的可以选择 3 或者 4,根据你的服务器情况,这个可以随时更改的,没关系~
⑤内存:一般设置成 2048 也就是 2G 就可以了,win2008 不怎么耗内存的!
⑥网络:选择桥接模式,桥接刚才我们创建的那个 vmbr1 端口就可以了!
最后确认完成就 OK 了
接下来点击启动我们选中左边刚创建的那个虚拟机,然后点击启动,再点控制台!
5.3.安装 win2008
打开控制台后,首先点击下一步,然后点击立即安装,然后选择下图中的那项点下一步
然后接受条款,下一步,然后选择自定义安装,下一步,然后直接下一步开始 win2008 的安装,接下来等个几分钟就可以进入系统了。
5.4.配置网络
进入系统后,首先我们将 windows 防火墙关闭,然后我们配置网络如下,保存设置,这样网络就通了
5.5.连接 samba
我们在之前在 linux 上配置好了 samba,现在只用连接就行了,打开计算机
然后点浏览,点击这个 IP 地址,然后输入用户名密码,就是你之前设置的那个 samba 用户名密码,然后选中 models,确认再确认就行了,于是你的电脑多了一个 Z 盘,这就是你的 linux 上的那个目录!
此时,windows 与 linux 已经文件互通了,因为是内网,虽然是挂载的,但跟本地磁盘没有区别!!
6.使用说明
6.1.远程桌面
在 windows 下,因为上面设置了 3389 端口转发,win 远程桌面的默认端口,所以你可以在任意一台 windows 电脑上运行 mstsc 打开远程桌面连接,如下,然后输入你刚才设置的密码,用户名是 administrator,即可远程连接!如何你没有设置 3389,比如 3390,那么你可以在计算机那里输入 IP:3390 即可连接!
6.2.utorrent 使用
由于我上面只转发了 3389 以及 8888 和 9999 端口,其中 3389 用于远程桌面,所以 8888 和 9999 可以分别用于 utorrent 的 webui 和连接端口,在 utorrent 中设置如下
7.常见问题
7.1.虚拟机网络配置
防火墙具体怎么用可以去百度,一般我都设置成全部开放,貌似也没出过什么问题,所以先开放防火墙吧!
iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -F
转发 ipv4 流量,这样让虚拟机可以访问外部网络
iptables -t nat -A POSTROUTING -s '192.168.1.0/24' -o vmbr0 -j MASQUERADE
暴露虚拟机端口到外网,如转发母机的 10022 端口到虚拟机的 22 端口
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 10022 -j DNAT --to 192.168.1.1:22
同时转发多个端口
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 10022:20022 -j DNAT --to 192.168.1.1:10022:20022
配置虚拟机 ipv6 地址
ip -f inet6 neigh add proxy 2604:a880:2:d0::add:1001 dev vmbr1 #以下 2 条命令用于转发对应 ipv6 地址的流量,如果需要多个 ipv6 地址的虚拟机,可多次执行以下 2 条命令 ip -f inet6 neigh add proxy 2604:a880:2:d0::add:1002 dev vmbr0 ip -f inet6 route add 2604:a880:2:d0::add:1002 dev vmbr1
如需要再添加一个 ipv6 地址,就执行以下命令
ip -f inet6 neigh add proxy 2604:a880:2:d0::add:1003 dev vmbr0 ip -f inet6 route add 2604:a880:2:d0::add:1003 dev vmbr1
在虚拟机设置 ipv6 地址时,地址就是 2604:a880:2:d0::add:1002 或者 2604:a880:2:d0::add:1003,网关就是 2604:a880:2:d0::add:1001
DNS 可以用 google 的 ipv6 的 DNS
2001:4860:4860::8888 2001:4860:4860::8844
7.2.添加额外的独立 IP
这个很简单,主要一般是要绑定 MAC
以 SYS 系列为例,假设我买了个 IP 121.194.222.111,然后后台有个地方可以设置 Virtual Mac,设置好了,把新添加的虚拟机的 mac 改成这个 Vitual Mac,然后设置
IP 地址:121.194.222.111
掩码:255.255.255.0
网关:121.194.222.1
记住桥接网络端口是你的默认的网络端口,比如我这里是 vmbr0!
即可,其它主机商类似,可以看看他们的配置 WIKI!
7.3.KVM 虚拟机无法关机
centos 执行
yum install acpid
debian/ubuntu 执行
apt-get install acpid
7.4.虚拟机自启动
选中你要自启动的虚拟机,选中右边的选项,开机自启动设置为是即可
7.5.配置集群
7.5.1.对于内网的机器
假设三台机器,IP 分别为
机器 A:192.168.100.10
机器 B:192.168.100.11
机器 C:192.168.100.12
全新安装完 proxmox 后,假设 A 为主机,在主机上执行
pvecm create YOUR-CLUSTER-NAME
在其它需要加入的虚拟机上执行
pvecm add 192.168.1.10
这样就添加成功了,注意,必须是同一个网段!!!
7.5.2.对于外网的机器
集群网络必须确保可靠地将集群通信数据包按顺序送达所有节点。Proxmox VE 使用 corosync 来实现集群网络通信,确保集群网络通信的高性能,低延时,高可用。我们的分布式集群文件系统(pmxcfs)就基于此构建。Proxmox VE 集群网络只有在网络延时低于 2ms 时(局域网内)才可以正常工作。所以玩集群必须是在同一个机房,内网互通的情况下才可以,不同机房的不用想了!
这个主要涉及到跨网段,我说个思路吧
假设三台机器,hostname 分别为 a、b、c,IP 分别为
机器 A:92.18.24.10
机器 B:12.16.87.11
机器 C:19.68.64.12
那么我们需要做两件事,第一是修改 hostname,这是写下 a 的示例,b,c 类似
<del>127.0.0.1 localhost.localdomain localhost 92.18.24.10 a.proxmox.com a pvelocalhost # corosync network hosts 10.10.1.151 a-corosync.proxmox.com a-corosync 10.10.1.152 b-corosync.proxmox.com b-corosync 10.10.1.153 c-corosync.proxmox.com c-corosync # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters </del>
然后我们需要为每个虚拟机添加一个新的 corosync 端口,然后你需要通过 GRE 隧道之类的方式打通这三个 corosync 端口,实现三个机器诸如 10.10.1.X 这样的内网 IP 能互相 PING 的通!
然后我们假设 A 为主机,在 a 上执行命令创建集群
<del>pvecm create YOUR-CLUSTER-NAME -bindnet0_addr 10.10.1.151 -ring0_addr a-corosync </del>
在 b、c 上分别执行命令加入集群
<del>pvecm add 92.18.24.10 -ring0_addr b-corosync pvecm add 92.18.24.10 -ring0_addr c-corosync </del>
这样就可以了!!
7.6.配置 NFS 存储
proxmox 其实是支持自定义定时备份的,但需要一个存储系统,好像支持的很多,我选了 nfs,然后对于备份,还是别在同一台机器,这里的教程是针对 debian 系统的!如下
安装 nfs
apt-get install nfs-kernel-server
创建共享目录
mkdir /home/nfs
编辑/etc/exports 文件,在文件末添加共享目录信息
/xx/xxx/ *(rw,sync,no_root_squash)
*填写你所允许的客户端 IP,也就是 proxmox 服务器的 IP,/xx/xxx/是共享目录,这里我们是/home/nfs,配置完成后我们保存退出,执行命令使配置生效
exportfs -r
然后点击 proxmox 主页左边的数据中心,右边的存储,添加 nfs,然后配置如下
其中 ID 随便设置,服务器就是你刚配置 nfs 的服务器 IP,Export 就是你设置的共享目录,内容里面可以选择支持备份的对象。
8.总结
其实很简单,我所有的 IP 用的都是实例中的,你只要对着设置肯定没错,简单说就是最后实现了硬盘空间在 linux 和 windows 上的互通,
在这篇文章中,我们最开始的设置的 linux 的 samba 目录是/home/ptdown,最后就是这个/home/ptdown 挂载到了 windows 的 Z 盘上而已。
至此你可以猥琐欲为了。linux 下可以支持安装各种 PT 客户端,下载目录设置成共享的目录,windows 上便可以直接在挂载的盘中看到,
然后你可以 115 啊,百度网盘啊同步,你可以在 win 上压片啊,win 上跑 utorrent 啊。。。so on…..!
需要各种稳定版本的 UT,或者有任何问题都欢迎加 Q 群PTboxClub 进行讨论!!