首页>路由刷机>在Proxmox VE上运行OpenWrt/LEDE虚拟机——5.PVE的网络设置(3)CLI配置网络
2018
12-23

在Proxmox VE上运行OpenWrt/LEDE虚拟机——5.PVE的网络设置(3)CLI配置网络

免费支持本站

此篇文章为《在Proxmox VE上运行OpenWrt/LEDE虚拟机》的第5篇

在Proxmox VE上运行OpenWrt/LEDE虚拟机——1.关于Proxmox VE

在Proxmox VE上运行OpenWrt/LEDE虚拟机——2.PVE下运行的OpenWrt/LEDE固件编译要点

在Proxmox VE上运行OpenWrt/LEDE虚拟机——3.PVE的网络设置(1)规划网络

在Proxmox VE上运行OpenWrt/LEDE虚拟机——4.PVE的网络设置(2)WebUI配置网络

在Proxmox VE上运行OpenWrt/LEDE虚拟机——5.PVE的网络设置(3)CLI配置网络

在Proxmox VE上运行OpenWrt/LEDE虚拟机——6.创建OW/LEDE虚拟机

在Proxmox VE上运行OpenWrt/LEDE虚拟机——7.导入OW/LEDE固件文件到虚拟机中

PVE的网络设置(2)部分已经讨论了WebUI方式配置PVE的网络系统。本文讨论CLI方式配置PVE的网络系统。与WebUI方式相比,CLI方式直接编辑配置文件,可以设置更多的参数,如bridge的stp和fd等参数,能更加灵活地配置网络,当然这通常也需要一定的Linux使用基础。

CLI方式配置PVE网络系统仅需直接编辑配置文件——“/etc/network/interfaces”,完成后执行命令“/etc/init.d/networking restart”重启服务即可生效。下面以一个示例来进行说明该配置文件的各项内容的含义。其中,每行行首的数字是行号。

1 # network interface settings; autogenerated2 # Please do NOT modify this file directly, unless you know what3 # you're doing.4 #5 # If you want to manage part of the network configuration manually,6 # please utilize the 'source' or 'source-directory' directives to do7 # so.8 # PVE will preserve these directives, but will NOT its network9 # configuration from sourced files, so do not attempt to move any of10 # the PVE managed interfaces into external files!11 12 auto lo13 iface lo inet loopback14 15 auto enp2s016 iface enp2s0 inet manual17 #NIC218 19 auto enp1s020 iface enp1s0 inet manual21 #NIC122 23 auto enp4s024 iface enp4s0 inet manual25 #NIC326 27 auto vmbr028 iface vmbr0 inet static29 address 192.168.0.25430 netmask 255.255.255.031 gateway 192.168.0.132 bridge_ports enp2s0 enp4s033 bridge_stp off34 bridge_fd 035 #LAN36 37 iface wlp3s0 inet manual38 39 auto vmbr140 iface vmbr1 inet manual41 bridge_ports enp1s042 bridge_stp off43 bridge_fd 044 #WAN45 46 auto vmbr247 iface vmbr2 inet manual48 bridge_ports none49 bridge_stp off50 bridge_fd 051 #DMZ

前10行均以“#”开头,为注释部分,说明了要慎重使用对此种方式配置PVE网络。所以在编辑前最好做个完整的备份。

第12~13行定义lo接口。anto表示自动启动,lo是looplback(换回)的简写,它是TCP/IP协议虚拟的接口;这里通常不需要再进行改动。

第15~17行、第19~21行、第23~25行定义网络接口。此处仅以第15~17行为例说明如下:

auto enp1s0:

auto表示自动启动;enp1s0为网络接口名称。

其中,en是ethernet的简写,表示以太网设备;p1指pcibus 1,表示PCI总线1;s0指slot 0,表示插槽位1;这些组合在一起来表示该理网卡对应的物理位置。定义该物理网卡自动启动。

iface enp1s0 inet manual:

iface是interface的简写,表示网络接口;enp1s为接口名称;inet是internet的简写,是指internet protocol address,表示IP地址;manual表示手动方式;这些组合在一起表示该网络接口使用手动指定IP地址。然而该接口在这里并未指定IP地址,因为它在后面的定义中被绑定到了网桥接口来使用。

#NIC1

“#”表示备注,其后紧跟备注内容;NIC1为备注的内容,此处备注该网络接口为NIC1,即物理网卡1。

第27~35行、第39~44行、第46~51行定义网桥接口。此处以第27~35行为例说明如下:

auto vmbr0

auto表示自动启动;vmbr0为第一个(默认创建)Linux网桥接口名称。

其中,vm是Virtual Machine的缩写,表示虚拟机;br是bridge的简写,表示网桥;0则是起始编号;这些组合在一起作为虚拟机网桥接口名称——vmbr0。

iface vmbr0 inet static

前面的几部分与第16行的表示方式一样;static表示使用静态方式;这些组合在一起表示该网桥接口使用静态的IP地址,后面有详细的IP设置。

address  192.168.0.254

address表示IP地址,其值为192.168.0.254

netmask 255.255.255.0

netmask表示子网掩码,其值为255.255.255.0

gateway 192.168.0.1

gateway表示网关,其值为192.168.0.1,这是后面将要创建的OW/LEDE虚拟机的LAN接口IP地址。

bridge_ports enp2s0 enp4s0

bridge_port表示桥接端口,设置该网桥连接到名称为enp2s0和enp4s0的物理网卡上,将它们桥接在一起变成了多端口网桥,从而实现交换机的功能。

bridge_stp off

bridge_stp表示网桥的STP,STP——Spanning Tree Protocol,即生成树协议,它是基于OSI网络模型第二层——数据链路层的通信协议,用作确保一个无环路的局域网环境。基本功能是防止桥接环路及由其产生的广播风暴。STP还允许在网络设计启用备份链路,以便在主链路发生故障时切换到备用链路来提供容错;off表示关闭。它们组合在一起表示该网桥关闭STP。对于简单的网络结构,很容易保证连接不出现环路,这时不需要启用STP以提升效率并降低开销。

bridge_fd 0

bridge_fd中的fd是forwarding delay的缩写,意思是转发延迟,表示网桥在进入转发状态前在侦听和学习状态上花费的时间,Linux网桥有禁止、侦听、学习、转发和阻塞五种状态,通常需经过侦听和学习才能获得端口与MAC地址的对应关系并以此来转发数据帧,对于结构简单且不启用STP的网络,通常默认为0以提高效率。

#LAN

备注为LAN,表示此接口所属的网络为LAN,以清晰地与WAN区分。

路由器交流群

支付宝打赏支付宝打赏微信打赏微信打赏