看完这篇文章,你的 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 s/wheezy/jessie/ /etc/apt/sources.list | tee /etc/apt/sources.list
- apt–get update
- apt–get upgrade
- apt–get dist–upgrade
debian8 升级为 debian9:
- apt–get update
- apt–get upgrade
- sed s/jessie/stretch/ /etc/apt/sources.list | tee /etc/apt/sources.list
- apt–get update
- apt–get upgrade
- apt–get dist–upgrade
期间遇到任何提示都选择 Y 就行了,最后都执行完了后执行 reboot 重启系统!
反正总之就是你需要 debian9 的系统!!!!!
2.2.服务器环境:
DigitalOcean 的 4 核 8G 内存方案 Debian9.4 系统
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
比如你登录服务器后显示 root@server1,那么你的服务器的名称就是server1, 你可以通过修改/etc/hostname文件修改它。然后你需要保持你的/etc/hosts 文件如下
- 127.0.0.1 localhost.localdomain localhost
- 167.99.172.150 server1.proxmox.com server1 pvelocalhost
- # 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
遇到以下提示,由于我们只是来跑 PT,我们选择local only即可。
然后重启你的系统 proxmox5.X 就安装完成了!
4.配置 Proxmox 及 samba
4.1.开启 BBR 及 ipv4、ipv6 转发
编辑/etc/sysctl.conf
按 Ctrl+K 清空原有所有配置,改成如下
- net.core.default_qdisc=fq
- net.ipv4.tcp_congestion_control=bbr
- net.ipv4.conf.all.rp_filter=1
- net.ipv4.icmp_echo_ignore_broadcasts=1
- net.ipv4.conf.default.forwarding=1
- net.ipv4.conf.default.proxy_arp = 0
- net.ipv4.ip_forward=1
- kernel.sysrq = 1
- net.ipv4.conf.default.send_redirects = 1
- net.ipv4.conf.all.send_redirects = 0
- net.ipv6.conf.eth0.autoconf=0
- net.ipv6.conf.eth0.accept_ra=2
- net.ipv6.conf.default.forwarding=1
- net.ipv6.conf.all.forwarding=1
- net.ipv6.conf.default.proxy_ndp=1
- net.ipv6.conf.all.proxy_ndp=1
注意:上面的 eth0 改成你对应的主端口!
然后执行以下命令使设置生效
- sysctl –p
4.2.配置网络端口
执行命令
- ip addr
如上图,这里的主端口是 eth0,也就是绑定了你 ipv4 和 ipv6 地址的端口,根据你的情况看!
于是我们要修改/etc/network/interface文件,默认的如下
- # Generated by the DigitalOcean provisioning process on 2018-04-09T13:42:50Z
- # See ‘man interfaces’ on a Debian/Ubuntu systems.
- # The network configuration was generated from http://169.254.169.254/metadata/v1.json.
- # You may also find the it on the locally attached CDROM under ‘digitalocean_meta_data.json’
- auto lo
- iface lo inet loopback
- dns–nameservers 67.207.67.2 67.207.67.3
- auto eth0
- iface eth0 inet static
- hwaddress 5e:9a:17:e6:df:9d
- address 167.99.172.150
- netmask 255.255.240.0
- gateway 167.99.160.1
- post–up ifup eth0:1
- post–up ifup eth0:2
- auto eth0:1
- iface eth0:1 inet6 static
- hwaddress 5e:9a:17:e6:df:9d
- address 2604:A880:0002:00D0:0000:0000:0ADD:1001/64
- gateway 2604:a880:0002:00d0:0000:0000:0000:0001
- auto eth0:2
- iface eth0:2 inet static
- hwaddress 5e:9a:17:e6:df:9d
- address 10.46.0.6/255.255.0.0
我们将其改成如下内容
- # Generated by the DigitalOcean provisioning process on 2018-04-09T13:42:50Z
- # See ‘man interfaces’ on a Debian/Ubuntu systems.
- # The network configuration was generated from http://169.254.169.254/metadata/v1.json.
- # You may also find the it on the locally attached CDROM under ‘digitalocean_meta_data.json’
- auto lo
- iface lo inet loopback
- dns–nameservers 67.207.67.2 67.207.67.3
- auto vmbr0
- iface vmrb0 inet static
- hwaddress 5e:9a:17:e6:df:9d
- address 167.99.172.150
- netmask 255.255.240.0
- gateway 167.99.160.1
- post–up ifup vmbr0:1
- auto vmbr0:1
- iface vmbr0:1 inet6 static
- hwaddress 5e:9a:17:e6:df:9d
- address 2604:A880:0002:00D0:0000:0000:0ADD:1001/64
- gateway 2604:a880:0002:00d0:0000:0000:0000:0001
- auto vmbr1
- iface vmbr1 inet static
- address 192.168.1.254
- netmask 255.255.255.0
- bridge_ports none
- bridge_stp off
- bridge_fd 0
- post–up iptables –t nat –A POSTROUTING –s ‘192.168.1.0/24’ –o vmbr0 –j MASQUERADE
- post–down iptables –t nat –D POSTROUTING –s ‘192.168.1.0/24’ –o vmbr0 –j MASQUERADE
- post–up iptables –t nat –A PREROUTING –i vmbr0 –p tcp —dport 3389 –j DNAT —to 192.168.1.10:3389
- post–down iptables –t nat –D PREROUTING –i vmbr0 –p tcp —dport 3389 –j DNAT —to 192.168.1.10:3389
- post–up iptables –t nat –A PREROUTING –i vmbr0 –p tcp —dport 8888 –j DNAT —to 192.168.1.10:8888
- post–down iptables –t nat –D PREROUTING –i vmbr0 –p tcp —dport 8888 –j DNAT —to 192.168.1.10:8888
- post–up iptables –t nat –A PREROUTING –i vmbr0 –p tcp —dport 9999 –j DNAT —to 192.168.1.10:9999
- post–down iptables –t nat –D PREROUTING –i vmbr0 –p tcp —dport 9999 –j DNAT —to 192.168.1.10:9999
- post–up iptables –t nat –A PREROUTING –i vmbr0 –p udp —dport 9999 –j DNAT —to 192.168.1.10:9999
- post–down iptables –t nat –D PREROUTING –i vmbr0 –p udp —dport 9999 –j DNAT —to 192.168.1.10:9999
- auto vmbr2
- iface vmbr2 inet6 static
- address 2604:a880:2:d0::add:1002
- netmask 64
- bridge_ports none
- bridge_stp off
- bridge_fd 0
- post–up echo 1 > /proc/sys/net/ipv6/conf/all/proxy_ndp
- post–up echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
- post–up echo 1 > /proc/sys/net/ipv6/conf/default/forwarding
- post–up /sbin/ip –f inet6 neigh add proxy 2604:a880:2:d0::add:1002 dev vmbr2
- post–up /sbin/ip –f inet6 neigh add proxy 2604:a880:2:d0::add:1003 dev vmbr0
- post–up /sbin/ip –f inet6 route add 2604:a880:2:d0::add:1003 dev vmbr2
保存退出,然后执行命令
- /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 防火墙关闭,然后我们配置网络如下,保存设置,这样网络就通了
4.3.配置 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.interface 文件详解
解释下上面的各种配置
vmbr0~vmbr2: proxmox 的虚拟端口,你可以接着按这个示例添加!
post_up-post_down:设置端口转发的,因为服务器大部分就一个 IP,这样可以设置端口转发,让外界直接和虚拟机通信
vmbr2:上面红色的内容表示添加了一个额外的 ipv6 地址,大多数服务商给的 ipv6 都是/64 之类的,其实这就意味着,你拥有很多很多很多地址,所以你可以按照上面示例接着在后面添加地址,比如这里就是下面这个
- post–up /sbin/ip –f inet6 neigh add proxy 2604:a880:2:d0::add:1004 dev eth0
- post–up /sbin/ip –f inet6 route add 2604:a880:2:d0::add:1004 dev vmbr2
配置 ipv6 地址
首先为虚拟机添加一个新的网络接口 vmbr2,它本身 ipv6 地址就作为网关地址,你自己添加的额外的 ipv6 地址就作为虚拟机的地址,ipv6 的 DNS 就设置为 google 的就可以了 2001:4860:4860::8888 和 2001:4860:4860::8844,然后小鸡的 ipv6 不出意外就通了,理论上硬件允许的话你可以开无限个虚拟机
7.2.免重启添加转发规则
比如我们在 vmbr1 下新加了一个转发 6666 到虚拟机 6666 的规则,我们可以执行以下命令
- ifdown vmbr1
- ifup vmbr1
然后在虚拟机的网络切换那里把网络端口随便切换一个,再切换回来,就直接生效了!
7.3.添加额外的独立 IP
这个很简单,主要一般是要绑定 MAC
以 SYS 系列为例,假设我买了个 IP 192.168.1.100,然后后台有个地方可以设置 Virtual Mac,设置好了,把新添加的虚拟机的 mac 改成这个 Vitual Mac,然后设置
IP 地址:192.168.1.100,
掩码:255.255.255.255
网关:192.168.1.254
记住桥接网络端口是你的默认的网络端口,比如我这里是 vmbr0!
即可,其它主机商类似,可以看看他们的配置 WIKI!
7.4.KVM 虚拟机无法关机
centos 执行
yum install acpid
debian/ubuntu 执行
apt-get install acpid
7.5.虚拟机自启动
选中你要自启动的虚拟机,选中右边的选项,开机自启动设置为是即可
7.6.配置集群
7.6.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.6.2.对于外网的机器
这个主要涉及到跨网段,我说个思路吧
假设三台机器,hostname 分别为 a、b、c,IP 分别为
机器 A:92.18.24.10
机器 B:12.16.87.11
机器 C:19.68.64.12
那么我们需要做两件事,第一是修改 hostname,这是写下 a 的示例,b,c 类似
- 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
然后我们需要为每个虚拟机添加一个新的 corosync 端口,然后你需要通过 GRE 隧道之类的方式打通这三个 corosync 端口,实现三个机器诸如 10.10.1.X 这样的内网 IP 能互相 PING 的通!
然后我们假设 A 为主机,在 a 上执行命令创建集群
pvecm create YOUR-CLUSTER-NAME -bindnet0_addr 10.10.1.151 -ring0_addr a-corosync
在 b、c 上分别执行命令加入集群
pvecm add 92.18.24.10 -ring0_addr b-corosync pvecm add 92.18.24.10 -ring0_addr c-corosync
这样就可以了!!
7.7.配置 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 进行讨论!!