0%

Proxmox终极教程/打造纯IPV6虚拟机/独立IP虚拟机/proxmox集群/

看完这篇文章,你的 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

说明一下,必须要是D****ebian9系统,原因不详细说了,主要是因为能用最新 PVE 内核,支持 BBR 加速, 对于KS或者SYS这种ovh系列的服务器,只需要安装官方的 VPS Proxmox VE 5 (64bits) 这个模板即可,可以省略安装 proxmox 这一步!!! 对于online系列的服务器,如果有硬 raid,你可以直接使用系统的 proxmox5 模板,如果是软 raid,默认只能 raid1,所以就安装 debian9 吧。 如何你的服务器的提供商没有提供 debian9 系统,比如 oneprovider 的 15 欧等等,只能安装 debian7,你可以参考以下操作

debian7 升级为 debian8:

  1. apt-get update
  2. apt-get upgrade
  3. sed s/wheezy/jessie/ /etc/apt/sources.list tee /etc/apt/sources.list
  4. apt-get update
  5. apt-get upgrade
  6. apt-get dist-upgrade

debian8 升级为 debian9:

  1. apt-get update
  2. apt-get upgrade
  3. sed s/jessie/stretch/ /etc/apt/sources.list tee /etc/apt/sources.list
  4. apt-get update
  5. apt-get upgrade
  6. 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 文件如下

  1. 127.0.0.1 localhost.localdomain localhost

  2. 167.99.172.150 server1.proxmox.com server1 pvelocalhost

  3. # The following lines are desirable for IPv6 capable hosts

  4. ::1 localhost ip6-localhost ip6-loopback

  5. ff02::1 ip6-allnodes

  6. ff02::2 ip6-allrouters

_3.2._安装 Proxmox VE

配置 repository

  1. echo “deb http://download.proxmox.com/debian/pve stretch pve-no-subscription” > /etc/apt/sources.list.d/pve-install-repo.list
  2. wget http://download.proxmox.com/debian/proxmox-ve-release-5.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-5.x.gpg
  3. apt update && apt dist-upgrade

遇到如下界面选择keep the local version回车即可!

Proxmox 终极教程/打造纯 IPV6 虚拟机/独立 IP 虚拟机/proxmox 集群/

安装 Proxmox VE 包

  1. apt install proxmox-ve postfix open-iscsi

遇到以下提示,由于我们只是来跑 PT,我们选择local only即可。

Proxmox 终极教程/打造纯 IPV6 虚拟机/独立 IP 虚拟机/proxmox 集群/

然后重启你的系统 proxmox5.X 就安装完成了!

_4._配置 Proxmox 及 samba

_4.1._开启 BBR 及 ipv4、ipv6 转发

编辑**/etc/sysctl.conf**

按 Ctrl+K 清空原有所有配置,改成如下

  1. net.core.default_qdisc=fq
  2. net.ipv4.tcp_congestion_control=bbr
  3. net.ipv4.conf.all.rp_filter=1
  4. net.ipv4.icmp_echo_ignore_broadcasts=1
  5. net.ipv4.conf.default.forwarding=1
  6. net.ipv4.conf.default.proxy_arp = 0
  7. net.ipv4.ip_forward=1
  8. kernel.sysrq = 1
  9. net.ipv4.conf.default.send_redirects = 1
  10. net.ipv4.conf.all.send_redirects = 0
  11. net.ipv6.conf.eth0.autoconf=0
  12. net.ipv6.conf.eth0.accept_ra=2
  13. net.ipv6.conf.default.forwarding=1
  14. net.ipv6.conf.all.forwarding=1
  15. net.ipv6.conf.default.proxy_ndp=1
  16. net.ipv6.conf.all.proxy_ndp=1

注意:上面的 eth0 改成你对应的主端口!

然后执行以下命令使设置生效

  1. sysctl -p

_4.2._配置网络端口

执行命令

  1. ip addr

Proxmox 终极教程/打造纯 IPV6 虚拟机/独立 IP 虚拟机/proxmox 集群/

如上图,这里的主端口是 eth0,也就是绑定了你 ipv4 和 ipv6 地址的端口,根据你的情况看!

于是我们要修改**/etc/network/interface**文件,默认的如下

  1. # Generated by the DigitalOcean provisioning process on 2018-04-09T13:42:50Z

  2. # See ‘man interfaces’ on a Debian/Ubuntu systems.

  3. # The network configuration was generated from http://169.254.169.254/metadata/v1.json.

  4. # You may also find the it on the locally attached CDROM under ‘digitalocean_meta_data.json’

  5. auto lo

  6. iface lo inet loopback

  7. dns-nameservers 67.207.67.2 67.207.67.3

  8. auto eth0

  9. iface eth0 inet static

  10. hwaddress 5e:9a:17:e6:df:9d

  11. address 167.99.172.150

  12. netmask 255.255.240.0

  13. gateway 167.99.160.1

  14. post-up ifup eth0:1

  15. post-up ifup eth0:2

  16. auto eth0:1

  17. iface eth0:1 inet6 static

  18. hwaddress 5e:9a:17:e6:df:9d

  19. address 2604:A880:0002:00D0:0000:0000:0ADD:1001/64

  20. gateway 2604:a880:0002:00d0:0000:0000:0000:0001

  21. auto eth0:2

  22. iface eth0:2 inet static

  23. hwaddress 5e:9a:17:e6:df:9d

  24. address 10.46.0.6/255.255.0.0

 

我们将其改成如下内容

  1. # Generated by the DigitalOcean provisioning process on 2018-04-09T13:42:50Z

  2. # See ‘man interfaces’ on a Debian/Ubuntu systems.

  3. # The network configuration was generated from http://169.254.169.254/metadata/v1.json.

  4. # You may also find the it on the locally attached CDROM under ‘digitalocean_meta_data.json’

  5. auto lo

  6. iface lo inet loopback

  7. dns-nameservers 67.207.67.2 67.207.67.3

  8. auto vmbr0

  9. iface vmrb0 inet static

  10. hwaddress 5e:9a:17:e6:df:9d

  11. address 167.99.172.150

  12. netmask 255.255.240.0

  13. gateway 167.99.160.1

  14. post-up ifup vmbr0:1

  15. auto vmbr0:1

  16. iface vmbr0:1 inet6 static

  17. hwaddress 5e:9a:17:e6:df:9d

  18. address 2604:A880:0002:00D0:0000:0000:0ADD:1001/64

  19. gateway 2604:a880:0002:00d0:0000:0000:0000:0001

  20. auto vmbr1

  21. iface vmbr1 inet static

  22. address 192.168.1.254

  23. netmask 255.255.255.0

  24. bridge_ports none

  25. bridge_stp off

  26. bridge_fd 0

  27. post-up iptables -t nat -A POSTROUTING -s ‘192.168.1.0/24’ -o vmbr0 -j MASQUERADE

  28. post-down iptables -t nat -D POSTROUTING -s ‘192.168.1.0/24’ -o vmbr0 -j MASQUERADE

  29. post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 3389 -j DNAT --to 192.168.1.10:3389

  30. post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 3389 -j DNAT --to 192.168.1.10:3389

  31. post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 8888 -j DNAT --to 192.168.1.10:8888

  32. post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 8888 -j DNAT --to 192.168.1.10:8888

  33. post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 9999 -j DNAT --to 192.168.1.10:9999

  34. post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 9999 -j DNAT --to 192.168.1.10:9999

  35. post-up iptables -t nat -A PREROUTING -i vmbr0 -p udp --dport 9999 -j DNAT --to 192.168.1.10:9999

  36. post-down iptables -t nat -D PREROUTING -i vmbr0 -p udp --dport 9999 -j DNAT --to 192.168.1.10:9999

  37. auto vmbr2

  38. iface vmbr2 inet6 static

  39. address 2604:a880:2:d0::add:1002

  40. netmask 64

  41. bridge_ports none

  42. bridge_stp off

  43. bridge_fd 0

  44. post-up echo 1 > /proc/sys/net/ipv6/conf/all/proxy_ndp

  45. post-up echo 1 > /proc/sys/net/ipv6/conf/all/forwarding

  46. post-up echo 1 > /proc/sys/net/ipv6/conf/default/forwarding

  47. post-up /sbin/ip -f inet6 neigh add proxy 2604:a880:2:d0::add:1002 dev vmbr2

  48. post-up /sbin/ip -f inet6 neigh add proxy 2604:a880:2:d0::add:1003 dev vmbr0

  49. post-up /sbin/ip -f inet6 route add 2604:a880:2:d0::add:1003 dev vmbr2

保存退出,然后执行命令

  1. /etc/init.d/networking restart

这样我们的网络就配置好了

_4.3._配置 samba

安装 samba

  1. apt-get update
  2. apt-get install samba

编辑/etc/samba/smb.conf 文件,在最后添加如下内容

  1. [models]
  2. path = /home/ptdown
  3. available = yes
  4. browsable = yes
  5. writable = yes
  6. create mask = 0777
  7. write list = windows

给文件夹权限

  1. chmod -R 777 /home/ptdown

添加 samba 用户,并设置密码

  1. adduser windows
  2. smbpasswd -a windows

重启 samba 服务让设置生效

  1. /etc/init.d/samba reload
  2. /etc/init.d/samba restart

_5._安装 windows 系统

这里我们的 IP 是167.99.172.150,于是我们打开

  1. https://167.99.172.150:8006

然后输入你的 root 账户登录就行了,语言可选 Chinese 中文!界面如下

Proxmox 终极教程/打造纯 IPV6 虚拟机/独立 IP 虚拟机/proxmox 集群/

_5.1._下载镜像

首先我们需要下载 windows 的镜像,这里我们选择安装 windows2008_R2 系统,并将镜像放到**/var/lib/vz/template/iso/**目录

_5.2._创建虚拟机

①点击右上角的创建虚拟机,随便设置个名称,点下一步。

②操作系统:镜像文件选择刚才的那个 ISO,设置如下图,根据你要安装的 windows 版本设置,这里是 win2008_r2。

Proxmox 终极教程/打造纯 IPV6 虚拟机/独立 IP 虚拟机/proxmox 集群/

③硬盘:大小随意设置,最低 30G 吧,这个无所谓!其它设置默认,不影响操作!

④CPU:如果你是 i3/i5,核那里选择 2 就可以了一般,i7/E3 之类的可以选择 3 或者 4,根据你的服务器情况,这个可以随时更改的,没关系~

⑤内存:一般设置成 2048 也就是 2G 就可以了,win2008 不怎么耗内存的!

⑥网络:选择桥接模式,桥接刚才我们创建的那个 vmbr1 端口就可以了!

最后确认完成就 OK 了

接下来点击启动我们选中左边刚创建的那个虚拟机,然后点击启动,再点控制台!

Proxmox 终极教程/打造纯 IPV6 虚拟机/独立 IP 虚拟机/proxmox 集群/

_5.3._安装 win2008

打开控制台后,首先点击下一步,然后点击立即安装,然后选择下图中的那项点下一步

Proxmox 终极教程/打造纯 IPV6 虚拟机/独立 IP 虚拟机/proxmox 集群/

然后接受条款,下一步,然后选择自定义安装,下一步,然后直接下一步开始 win2008 的安装,接下来等个几分钟就可以进入系统了。

_5.4._配置网络

进入系统后,首先我们将 windows 防火墙关闭,然后我们配置网络如下,保存设置,这样网络就通了

Proxmox 终极教程/打造纯 IPV6 虚拟机/独立 IP 虚拟机/proxmox 集群/

_4.3._配置 samba

我们在之前在 linux 上配置好了 samba,现在只用连接就行了,打开计算机

Proxmox 终极教程/打造纯 IPV6 虚拟机/独立 IP 虚拟机/proxmox 集群/

然后点浏览,点击这个 IP 地址,然后输入用户名密码,就是你之前设置的那个 samba 用户名密码,然后选中 models,确认再确认就行了,于是你的电脑多了一个 Z 盘,这就是你的 linux 上的那个目录!

Proxmox 终极教程/打造纯 IPV6 虚拟机/独立 IP 虚拟机/proxmox 集群/

此时,windows 与 linux 已经文件互通了,因为是内网,虽然是挂载的,但跟本地磁盘没有区别!!

_6._使用说明

_6.1._远程桌面

在 windows 下,因为上面设置了 3389 端口转发,win 远程桌面的默认端口,所以你可以在任意一台 windows 电脑上运行 mstsc 打开远程桌面连接,如下,然后输入你刚才设置的密码,用户名是 administrator,即可远程连接!如何你没有设置 3389,比如 3390,那么你可以在计算机那里输入 IP:3390 即可连接!

Proxmox 终极教程/打造纯 IPV6 虚拟机/独立 IP 虚拟机/proxmox 集群/

_6.2._utorrent 使用

由于我上面只转发了 3389 以及 8888 和 9999 端口,其中 3389 用于远程桌面,所以 8888 和 9999 可以分别用于 utorrent 的 webui 和连接端口,在 utorrent 中设置如下

Proxmox 终极教程/打造纯 IPV6 虚拟机/独立 IP 虚拟机/proxmox 集群/

Proxmox 终极教程/打造纯 IPV6 虚拟机/独立 IP 虚拟机/proxmox 集群/

_7._常见问题

_7.1._interface 文件详解

解释下上面的各种配置

vmbr0~vmbr2: proxmox 的虚拟端口,你可以接着按这个示例添加!

post_up-post_down:设置端口转发的,因为服务器大部分就一个 IP,这样可以设置端口转发,让外界直接和虚拟机通信

vmbr2:上面红色的内容表示添加了一个额外的 ipv6 地址,大多数服务商给的 ipv6 都是/64 之类的,其实这就意味着,你拥有很多很多很多地址,所以你可以按照上面示例接着在后面添加地址,比如这里就是下面这个

  1. post-up /sbin/ip -f inet6 neigh add proxy 2604:a880:2:d0::add:1004 dev eth0
  2. 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 不出意外就通了,理论上硬件允许的话你可以开无限个虚拟机

Proxmox 终极教程/打造纯 IPV6 虚拟机/独立 IP 虚拟机/proxmox 集群/

7.2.免重启添加转发规则

比如我们在 vmbr1 下新加了一个转发 6666 到虚拟机 6666 的规则,我们可以执行以下命令

  1. ifdown vmbr1
  2. 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 类似

  1. 127.0.0.1 localhost.localdomain localhost

  2. 92.18.24.10 a.proxmox.com a pvelocalhost

  3. # corosync network hosts

  4. 10.10.1.151 a-corosync.proxmox.com a-corosync

  5. 10.10.1.152 b-corosync.proxmox.com b-corosync

  6. 10.10.1.153 c-corosync.proxmox.com c-corosync

  7. # The following lines are desirable for IPv6 capable hosts

  8. ::1 localhost ip6-localhost ip6-loopback

  9. ff02::1 ip6-allnodes

  10. 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,然后配置如下

Proxmox 终极教程/打造纯 IPV6 虚拟机/独立 IP 虚拟机/proxmox 集群/

其中 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 进行讨论!!