站点图标 Linux-技术共享

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

看完这篇文章,你的 KS3C 等等各种独立服务器将可以同时实现多种功能。

针对 PT

针对虚拟化

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:

  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.  

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

  5. ::1 localhost ip6-localhost ip6-loopback

  6. ff02::1 ip6-allnodes

  7. 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 VE 包

  1. 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 清空原有所有配置,改成如下

  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

如上图,这里的主端口是 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.  

  6. auto lo

  7. iface lo inet loopback

  8. dns-nameservers  67.207.67.2 67.207.67.3

  9.  

  10. auto eth0

  11. iface eth0 inet static

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

  13. address   167.99.172.150

  14. netmask   255.255.240.0

  15. gateway   167.99.160.1

  16. post-up ifup eth0:1

  17. post-up ifup eth0:2

  18.  

  19. auto eth0:1

  20. iface eth0:1 inet6 static

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

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

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

  24.  

  25. auto eth0:2

  26. iface eth0:2 inet static

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

  28. 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.  

  6. auto lo

  7. iface lo inet loopback

  8. dns-nameservers  67.207.67.2 67.207.67.3

  9.  

  10. auto vmbr0

  11. iface vmrb0 inet static

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

  13. address   167.99.172.150

  14. netmask   255.255.240.0

  15. gateway   167.99.160.1

  16. post-up ifup vmbr0:1

  17.  

  18. auto vmbr0:1

  19. iface vmbr0:1 inet6 static

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

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

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

  23.  

  24. auto vmbr1

  25. iface vmbr1 inet static

  26. address 192.168.1.254

  27. netmask 255.255.255.0

  28. bridge_ports none

  29. bridge_stp off

  30. bridge_fd 0

  31. post-up iptables -t nat -A POSTROUTING -s '192.168.1.0/24' -o vmbr0  -j MASQUERADE

  32. post-down iptables -t nat -D POSTROUTING -s '192.168.1.0/24' -o vmbr0  -j MASQUERADE

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

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

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

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

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

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

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

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

  41.  

  42. auto vmbr2

  43. iface vmbr2 inet6 static

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

  45. netmask 64

  46. bridge_ports none

  47. bridge_stp off

  48. bridge_fd 0

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

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

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

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

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

  54. 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 中文!界面如下

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 之类的,其实这就意味着,你拥有很多很多很多地址,所以你可以按照上面示例接着在后面添加地址,比如这里就是下面这个

  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 不出意外就通了,理论上硬件允许的话你可以开无限个虚拟机

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.  

  4. # corosync network hosts

  5. 10.10.1.151 a-corosync.proxmox.com a-corosync

  6. 10.10.1.152 b-corosync.proxmox.com b-corosync

  7. 10.10.1.153 c-corosync.proxmox.com c-corosync

  8.  

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

  10. ::1     localhost ip6-localhost ip6-loopback

  11. ff02::1 ip6-allnodes

  12. 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…..!

退出移动版