ProxmoxVE建立IPV4-NAT和独立IPV6虚拟机/proxmoxVE集群/

Linux教程 半醉丶 1年前 (2018-04-09) 4820次浏览 1个评论
目录
[隐藏]

看完这篇文章,你的 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回车即可!

ProxmoxVE 建立 IPV4-NAT 和独立 IPV6 虚拟机/proxmoxVE 集群/

安装 Proxmox VE 包

apt install proxmox-ve postfix open-iscsi

遇到以下邮件安装界面,我们选择No configuration即可。

ProxmoxVE 建立 IPV4-NAT 和独立 IPV6 虚拟机/proxmoxVE 集群/

安装完成后 最后执行以下命令,否则会影响性能

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

ProxmoxVE 建立 IPV4-NAT 和独立 IPV6 虚拟机/proxmoxVE 集群/

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

首先打开 proxmox 的网页界面

https://服务器 IP:8006

ProxmoxVE 建立 IPV4-NAT 和独立 IPV6 虚拟机/proxmoxVE 集群/

然后我们需要知道服务器的三个信息:IP 地址子网掩码网关地址(通过 ip addr 可以看到 IP 和掩码,执行 netstat -rn 后 gateway 下面的就是网关了)

如上图,点击 create linux bridge,分别把以上信息填进去,勾选上 autostart,在 bridge ports 那里填上物理网卡的名称 然后保存!

然后我们新建一个 vmbr1 的虚拟网卡用来给虚拟机转发网络

点击 create linux bridge,填写一个内网 ip(如果需要支持 ipv6,这里的 ipv6 地址和 vmbr0 或者 eth0 的一样),如下图

ProxmoxVE 建立 IPV4-NAT 和独立 IPV6 虚拟机/proxmoxVE 集群/

保存退出,重启服务器使网络生效

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

ProxmoxVE 建立 IPV4-NAT 和独立 IPV6 虚拟机/proxmoxVE 集群/

5.1.下载镜像

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

5.2.创建虚拟机

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

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

ProxmoxVE 建立 IPV4-NAT 和独立 IPV6 虚拟机/proxmoxVE 集群/

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

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

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

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

最后确认完成就 OK 了

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

ProxmoxVE 建立 IPV4-NAT 和独立 IPV6 虚拟机/proxmoxVE 集群/

5.3.安装 win2008

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

ProxmoxVE 建立 IPV4-NAT 和独立 IPV6 虚拟机/proxmoxVE 集群/

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

5.4.配置网络

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

ProxmoxVE 建立 IPV4-NAT 和独立 IPV6 虚拟机/proxmoxVE 集群/

5.5.连接 samba

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

ProxmoxVE 建立 IPV4-NAT 和独立 IPV6 虚拟机/proxmoxVE 集群/

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

ProxmoxVE 建立 IPV4-NAT 和独立 IPV6 虚拟机/proxmoxVE 集群/

 

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

6.使用说明

6.1.远程桌面

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

ProxmoxVE 建立 IPV4-NAT 和独立 IPV6 虚拟机/proxmoxVE 集群/

6.2.utorrent 使用

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

ProxmoxVE 建立 IPV4-NAT 和独立 IPV6 虚拟机/proxmoxVE 集群/

ProxmoxVE 建立 IPV4-NAT 和独立 IPV6 虚拟机/proxmoxVE 集群/

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

ProxmoxVE 建立 IPV4-NAT 和独立 IPV6 虚拟机/proxmoxVE 集群/

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

 


如无注明,所有文章皆为“半醉”原创,转载请保留文章出处。如有借鉴未注明请发邮件到 [email protected],深表抱歉!
喜欢 (8)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(1)个小伙伴在吐槽
  1. 666
    李算老几2018-04-10 09:46 回复 Windows 10 | Firefox浏览器 59.0