zoukankan      html  css  js  c++  java
  • KVM (虚拟化网络管理)

    vlan:https://www.cnblogs.com/du-z/p/10802786.html
    trunk:https://www.cnblogs.com/du-z/p/10804773.html

    KVM网络模式--Bridge网桥

    网桥架构图

    Linux Bridge : 基本原理就是创建一个桥接接口 br0 ,在物理网卡和虚拟网络接口之间传递数据,此种方式host却可以和vm联通。

    vim /etc/sysconfig/network-scripts/ifcfg-eth0 
    
    ...
    TYPE=Ethernet
    NAME=eth0
    DEVICE=eth0
    ONBOOT=yes
    BRIDGE=br0
    ...
    
    vim /etc/sysconfig/network-scripts/ifcfg-br0 
    
    ...
    TYPE=Bridge
    NAME=br0
    DEVICE=br0
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=192.168.137.134
    PREFIX=24
    GATEWAY=192.168.137.2
    DNS=8.8.8.8
    DNS2=114.114.114.114
    ...
    

    brchl 网桥管理命令

    ## yum install bridge-utils -y
    ##brctl show 查看网桥配置   
    
    
    [root@localhost ~]# brctl show
    bridge name	bridge id		STP enabled	interfaces
    br0		8000.000c294ea15a	no		ens33
    virbr0		8000.525400eb441b	yes		virbr0-nic
    
    
    ##brctl 命令帮助手册
    
    [root@localhost ~]# brctl --help
    Usage: brctl [commands]
    commands:
    	addbr     	<bridge>		add bridge  #添加网桥
    	delbr     	<bridge>		delete bridge  #删除网桥
    	addif     	<bridge> <device>	add interface to bridge  #向网桥添加接口
    	delif     	<bridge> <device>	delete interface from bridge   #删除网桥上接口
    	hairpin   	<bridge> <port> {on|off}	turn hairpin on/off
    	setageing 	<bridge> <time>		set ageing time
    	setbridgeprio	<bridge> <prio>		set bridge priority
    	setfd     	<bridge> <time>		set bridge forward delay
    	sethello  	<bridge> <time>		set hello time
    	setmaxage 	<bridge> <time>		set max message age
    	setpathcost	<bridge> <port> <cost>	set path cost
    	setportprio	<bridge> <port> <prio>	set port priority
    	show      	[ <bridge> ]		show a list of bridges  #查看网桥列表
    	showmacs  	<bridge>		show a list of mac addrs #查看物理地址列表
    	showstp   	<bridge>		show bridge stp info
    	stp       	<bridge> {on|off}	turn stp on/off
    
    

    Linux Bridge实现Vlan

    第一步:查看核心是否提供vlan功能,并载入8021q模块

    [root@localhost ~]# lsmod |grep 8021q
    [root@localhost ~]# modprobe 8021q
    [root@localhost ~]# lsmod |grep 8021q
    8021q                  33104  0 
    garp                   14384  1 8021q
    mrp                    18542  1 8021q
    
    

    第二步:设置开机载入8021q模块(可选)

    # 在/etc/sysconfig/modules下增加一个8021q.modules文件
    
    [root@localhost ~]# vim /etc/sysconfig/modules/8021q.modules
    ...
    modprobe 8021q
    ...
    

    第三步:安装vlan配置工具--vconfig

    [root@localhost ~]# rpm -ivh vconfig-1.9-16.el7.x86_64.rpm   #需用网络源
    
    [root@localhost ~]# rpm -qa |grep vconfig
    vconfig-1.9-16.el7.x86_64
    
    

    第四步:在设备器上再添加一块网卡ens38

    
    [root@localhost ~]# ifconfig
    
    ens38: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.137.137  netmask 255.255.255.0  broadcast 192.168.137.255
            inet6 fe80::f34c:437:4b83:f0b4  prefixlen 64  scopeid 0x20<link>
            ether 00:0c:29:30:5c:f9  txqueuelen 1000  (Ethernet)
            RX packets 12004  bytes 915163 (893.7 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 1195  bytes 233853 (228.3 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    ## 注意:修改网卡配置文件中:BOOTPROTO=static
    

    第五步:用vlan管理工具vconfig添加vlan

    # vconfig add ens38 10
    # vconfig add ens38 10
    

    第六步:撰写vlan接口文件,vlan网桥文件

    vlan接口文件:

    # vim ifcfg-ens38.10
    
    VLAN=yes    #启用vlan
    TYPE=vlan    #类型vlan
    PHYSDEV=ens38vlan     #物理设备网卡
    VLAN_ID=10       #vlan_id
    ONBOOT=yes    # 自启
    ZONE=trusted       #开启作用域
    DEVICE=ens38.10    #设备名
    BRIDGE=brvlan10    #网桥
    
    # vim ifcfg-ens38.20
    
    VLAN=yes
    TYPE=vlan
    PHYSDEV=ens38
    VLAN_ID=20
    ONBOOT=yes
    ZONE=trusted
    DEVICE=ens38.20
    BRIDGE=brvlan20
    
    

    vlan网桥文件:

    ## vim ifcfg-brvlan-10
    
    YPE=bridge
    BOOTPROTO=static
    NAME=brvlan-10
    DEVICE=brvlan-10
    ONBOOT=yes
    
    ## vim ifcfg-brvlan-20
    
    TYPE=bridge
    BOOTPROTO=static
    NAME=brvlan-20
    DEVICE=brvlan-20
    ONBOOT=yes
    

    第七步:给vlan网桥添加接口

    # brctl addif brvlan-10 ens38.10
    # brctl addif brvlan-20 ens38.20
    

    第八步:重启网卡

    # systemctl restart network
    

    网卡配置bond(绑定)

    常用的有三种:

    • mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。
    • mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。
    • mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。

    第一步:eth1,eth2,eth3都配置绑定为bond0,例如:

    # cat ifcfg-eth1
    
    TYPE=Ethernet
    BOOTPROTO=none
    DEVICE=eth1
    ONBOOT=yes
    MASTER=bond0
    SLAVE=yes
    
    # 载入bond模块:
    # modprobe bonding
    

    第二步:查看bond0,并桥接到br1

    # cat ifcfg-bond0
    
    DEVICE=bond0
    TYPE=Bond
    NAME=bond0
    BONDING_MASTER=yes
    BOOTPROTO=static
    USERCTL=no
    ONBOOT=yes
    #IPADDR=192.168.10.10
    #PREFIX=24
    #GATEWAY=192.168.10.19
    BONDING_OPTS="mode=6 miimon=100"
    BRIDGE=br1
    

    第三步:查看网桥br0

    # cat ifcfg-br1
    
    TYPE=Bridge
    DEVICE=br1
    ONBOOT=yes
    IPADDR=192.168.10.1
    IPADDR1=192.168.20.1
    IPADDR2=192.168.30.1
    IPADDR3=192.168.40.1
    IPADDR4=192.168.50.1
    PREFIX3=24
    PREFIX4=24
    #GATEWAY=172.16.0.1
    #DNS1=172.16.254.251
    #DNS2=223.5.5.5
    

    第四步:重启系统

    # 查看网卡信息:
    ethtool bond0
    

  • 相关阅读:
    oracle 11g wm_concat 、 listagg 函数的使用(合并数据)
    Quartz.net 开源job调度框架(二)----定点执行
    Quartz.net 开源job调度框架(一)
    Quartz.NET
    基于ASP.NET的comet简单实现
    W3wp.exe占用CPU及内存资源
    SysTick Software Timer
    ARM Memory Copy
    ARM LDR/STR, LDM/STM 指令
    STM32 USART 波特率计算
  • 原文地址:https://www.cnblogs.com/du-z/p/11236034.html
Copyright © 2011-2022 走看看