PVE设置初期,对CIDR、 网关、 LinuxBridge、VLAN等很有困惑的朋友一定很需要一篇能够全面通俗易懂的方式去理解PVE 中Linux网桥的工作方式,就像操作一个英雄,多个技能,还是需要一点点去学习理解的,如果你上来就对着别人的操作照葫芦画瓢,那么你注定只能局限于别人的设置,甚至对底层一知半解的去使用,如果想要在任意网络拓扑中都能游刃有余的去操作,那么就一定要理解这些名词背后的应用级含义。
本文以拓扑图角度出发,针对PVE的设置细节,通过实例,解释各种概念该如何使用,并初步理解这些概念,达到可以任意设计简单网络拓扑的能力。对虚拟机的安装不做赘述。
0.同网段
首先记住同网段的客户端才能互相访问,所以如果你想访问你家的路由器,你就必须将设备与路由器连接,无论是lan口还是wifi的形式。(手动设置CIDR)
1.防火墙机制
第一个机制:所有这些iKuai , Openwrt , iStore 等软路由管理软件,都是有一个防火墙机制,默认不允许从wan来访问路由器的管理界面。
如果把wan比做上lan比做下,那么访问管理页面必须自下而上进行访问。
2.网关
第二个机制就是网关的概念:网关是将无法在本地网络中找到目标地址的流量转发到网关设备(路由器),由网关负责进一步处理。
这一点涉及到的就是pve联网的问题。PVE默认网关为linux bridge 的vmbr0 设置的默认网关。(安装PVE时候设置)
我们举例说明:统一将vmbr* 理解为Linux bridge(PVE)
2.1 通过PC 管理PVE 并将PVE 连接至互联网
创建一个新的Linux Bridge------vmbr0,设置如下图
通过电脑设置IP以windows为例,
并将网线通过这个I211网卡,与enp2s0 ( ETH0 ) 连接,这个ETH0与enp2s0 是一一对应的关系我的设备是这样对应,在图中已经备注好。
经过这样的设置,你就可以通过浏览器访问PVE 的管理页面,但是PVE 并没有网络。是因为vmbr0的网关并不能处理互联网地址的流量。这里的网关不填写也不影响你访问PVE 的管理页面。
这时候是这样一张拓扑图
但只是这样,PVE的底层linux是无法联网的,只是局域网内的通信。
我们将一根从光猫或者是主路由的LAN口与PVE 中一个网口如enp7s0(ETH5)为例,通过网线连接在一起。
并创建一个新的vmbr1,将安装pve时候设置的网关删掉。再看下面的拓扑图:
PC 通过ETH0 访问PVE的管理页面,PVE需要通过vmbr1来访问互联网,那么vmbr0的网关就要删掉,如果不删掉pve的默认网关将会优先使用vmbr0设置的网关地址,而不是vmbr1通过路由器DHCP分配的。
这时候我们进入PVE修改intefaces文件,因为DHCP是没有办法通过管理页面设置的。
vim /etc/network/interfaces
键盘 输入i 进行修改,将inet(ipv4)获取改为dhcp,只要连接上vmbr1 这个网桥(虚拟交换机)就可以通过主路由上网,它自动获取的网关就是192.168.31.1与主路由的管理地址一致。
esc退出修改,输入 :wq 保存
重启网络服务,让pve成功上网。
systemctl restart networking
测试成功
这样就可以对PVE 进行优化了。
通过命令可以看到默认网关为主路由的ip地址。
有了可以联网的网桥(虚拟交换机)vmbr1,继续安装软路由系统:iKuai、iStore
当然你也可以选择直通网卡接入互联网的形式,先接着使用vmbr1这个网桥(虚拟交换机)作为我们的主路由,进行配置。
3.桥接端口(端口/从属)
第三个机制桥接端口也是一个很重要的概念,你可以直接将它理解为将物理网口归属于当前的网桥(虚拟交换机)中
拓扑图展示的是ETH1、ETH2、ETH3 对应的名称分别是enp3s0、enp4s0、enp5s0,需要在在新建网桥中进行桥接端口设置,中间以空格分开。
经过这样的设置这三个网口都可以通过iKuai 的DHCP 服务分配ip并接受iKuai的管理连接互联网。
4.虚拟机-硬件-网络设备
网络设备的命名是一个容易混淆的点
拓扑图中
iKuai
WAN口绑定vmbr1,
LAN口绑定vmbr2
对应的虚拟机选项为:
这里有个很重要的点就是在PVE中的虚拟机网络设备net0、net1 对应的是虚拟机中的eth0、eth1千万不要和网桥,名称、备注这三个混淆。
这里设置的net0 就是虚拟机中的eth0对应的是vmbr0,
举例:如果你将net0 设置为vmbr3 ,在虚拟机中的eth0 依然对应的是vmbr3。一定不要搞混。
5.Linux Bridge的一些想法
LinuxBridge主要是用于连接虚拟机、宿主机、互联网的媒介。
Linux Bridge 是一个虚拟傻瓜交换机,他的ip地址可以设置
其中ip地址都可以当成pve 的管理入口
如果你设置n个虚拟网桥,并且设置多个ip地址那么都可以通过这些网桥对应的ip地址来管理pve
例子:根据虚拟网桥设置的ip地址如:vmbr1 的CIDR 为192.168.33.2/24 那么当你想访问192.168.33.2 这个端口来进入PVE-WEB界面,网线的连接是非常重要的一个环节,你要明确你的电脑网卡对应你网络连接中哪个"以太网",
ip地址(与要管理的页面ip同网段)
并且将网线分别从电脑端连接到你PVE虚拟网桥vmbr0设置的"端口从属"物理网卡端口enp2s0(ETH0)上如图:
ps: 网桥中的 " 端口/从属 " 可以将多个物理网口连接在一起,可以通过多个端口(物理网口)分别的连接网线,再通过对应网桥的ip地址,便可以访问pve管理页面。
即假设:新建虚拟网桥vmbr0,端口从属:enp2s0(ETH0) enp3s0(ETH1) CIDR 192.168.33.2/24 网关:192.168.33.1
那么你就可以在你的电脑端将物理网卡所管理的以太网,(以本人为例,I211网卡的网线我接入了PVE 设备的物理网卡ETH0 上。)
再将以太网ipv4 设置为192.168.33.17/24(只要在同一网段即可),设置成功后
即可通过Linux Bridge 如vmbr1 的CIDR 对应的ip地址192.168.33.2
对pve进行管理。