1. 程式人生 > >虛擬化技術之網路橋接

虛擬化技術之網路橋接

虛擬機器的網路

       首先虛擬機器的網路,虛擬機器創建出來後,希望和主機通訊,和其他外網中的主機通訊,也希望和其他的虛擬機器通訊,該用什麼方式呢?     大多數人都會想到NAT,橋接,Host-Only。

橋接:

      特點:虛擬機器可以和外界通訊,虛擬機器之間可以通訊,虛擬機器可以跟真機通訊。       虛擬機器需要虛擬一個網絡卡裝置。我們知道,物理機上都有一個物理網絡卡,而這個物理網絡卡就連線到交換機上。而這個物理網絡卡一定是被真機試用的。那怎麼實現虛擬機器去和外界通訊的。橋接的意思就是       將真機的網絡卡橋接。將這個真機網絡卡當做交換機,這個交換機工作在混雜模式下。什麼幀資料都接收。現在真機網絡卡成了交換機了。現在外界的主機要與我的真機通訊。我真機網絡卡當做了交換機,並虛擬了一個網絡卡接收給真機的資料。當然,如果目標MAC是虛擬機器的網絡卡的MAC。那麼資料就發往這個虛擬機器。如果,虛擬機器上線了,虛擬機器將自己的MAC通告,資訊傳給真機網絡卡的交換機,交換機轉發資訊。區域網內的其他主機接到資訊,就好像虛擬機器和自己處在同一個區域網內一樣。

僅主機:(vmnet1) 特點:虛擬機器之間可以通訊,虛擬機器可以和真機通訊,但是虛擬機器不能與外界通訊。       真機先虛擬一塊網絡卡,VMware再虛擬一個交換機。虛擬機器的各個虛擬網絡卡連線到這個虛擬交換機上,然後再將真機虛擬出的網絡卡接到這個虛擬交換機上,就可以實現虛擬機器之間加上真機的通訊了。ps:如果真機的網絡卡可以與真機的虛擬網絡卡通訊並轉發資料包,那麼就可以實現虛擬機器與外部區域網通訊,這叫路由模型。這時,虛擬機器把閘道器指向真機的虛擬網絡卡上的地址就OK了。(但路由這不常用,除非靜態路由)       NAT:(vmnet8)       特點:虛擬機器之間可以通訊,虛擬機器之間可以通訊,虛擬機器與真機可以通訊。  
  
      虛擬一個網絡卡VMnat8,虛擬機器的閘道器應該都指向VMnet8.當虛擬機器與外部區域網通訊時,源地址被真機修改成了真機的IP地址,區域網的其他主機也以為是我的真機與他們在通訊。所以回覆資料包的時候,目標IP是我真機的IP。真機收到請求再地址轉換,以達到通訊的目的。
在Linux上建立橋裝置 首先最開始的網路資訊如下:
[[email protected] network-scripts]# ifconfig 
eth0      Link encap:Ethernet  HWaddr 00:0C:29:02:2B:7E  
          inet addr:192.168.217.131  Bcast:192.168.217.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe02:2b7e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:301 errors:0 dropped:0 overruns:0 frame:0
          TX packets:64 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:48584 (47.4 KiB)  TX bytes:4344 (4.2 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:453 errors:0 dropped:0 overruns:0 frame:0
          TX packets:453 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:87716 (85.6 KiB)  TX bytes:87716 (85.6 KiB)

第一,要注意。橋接的話,不支援NetworkManager去管理橋裝置,所以建立橋裝置,必須關掉NetworkManager。
[[email protected] network-scripts]# chkconfig --list|grep NetworkManager
NetworkManager 	0:off	1:off	2:off	3:off	4:off	5:off	6:off
[[email protected] network-scripts]# service NetworkManager status
NetworkManager is stopped
[[email protected] network-scripts]# 
所以之前必須記住關掉NetworkManager。 第二,想要管理橋裝置必須安裝必須的橋管理工具。(真正的實現實是由核心tap模組)
[[email protected] network-scripts]# yum -y install bridge-utils
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
rhel6                                                    | 3.9 kB     00:00 ... 
Setting up Install Process
Package bridge-utils-1.2-10.el6.x86_64 already installed and latest version
Nothing to do
通過修改配置檔案的方式修改橋接。 配置檔案ifcfg-br0
DEVICE="br0"
NM_CONTROLLED="no"
BOOTPROTO="none"
IPADDR=192.168.217.131
NETMASK=255.255.255.0
GATEWAY=192.168.217.2
IPV6INIT="no"
ONBOOT="yes"
TYPE="Bridge"
USERCTL="no"
配置物理網絡卡的配置檔案ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="none"
NM_CONTROLLED=no
IPV6INIT="yes"
ONBOOT="yes"
TYPE="Ethernet"
BRIDGE="br0"
重啟網路服務。
[[email protected] network-scripts]# service network restart
Shutting down interface eth0:                              [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:                                [  OK  ]
Bringing up interface br0:  Determining if ip address 192.168.217.131 is already in use for device br0...
                                                           [  OK  ]
檢視網路資訊。
[[email protected] network-scripts]# ifconfig 
br0       Link encap:Ethernet  HWaddr 00:0C:29:02:2B:7E  
          inet addr:192.168.217.131  Bcast:192.168.217.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe02:2b7e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:875 (875.0 b)  TX bytes:1074 (1.0 KiB)

eth0      Link encap:Ethernet  HWaddr 00:0C:29:02:2B:7E  
          inet6 addr: fe80::20c:29ff:fe02:2b7e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:348 errors:0 dropped:0 overruns:0 frame:0
          TX packets:84 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:57691 (56.3 KiB)  TX bytes:5706 (5.5 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:574 errors:0 dropped:0 overruns:0 frame:0
          TX packets:574 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:111480 (108.8 KiB)  TX bytes:111480 (108.8 KiB)

使用命令檢視當前的橋裝置。
[[email protected] network-scripts]# brctl show
bridge name	bridge id		STP enabled	interfaces
br0		8000.000c29022b7e	no		eth0

啟用STP的功能
[[email protected] network-scripts]# brctl stp br0 on
[[email protected] network-scripts]# brctl show
bridge name	bridge id		STP enabled	interfaces
br0		8000.000c29022b7e	yes		eth0

基於命令列的實現。

新增一個橋裝置
[[email protected] ~]# brctl addbr br0
[[email protected] ~]# 
[[email protected] ~]# ifconfig -a
br0       Link encap:Ethernet  HWaddr C6:50:BC:BE:88:68  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

eth0      Link encap:Ethernet  HWaddr 00:0C:29:7E:C9:4F  
          inet addr:192.168.217.129  Bcast:192.168.217.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe7e:c94f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:14062 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7065 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:20762199 (19.8 MiB)  TX bytes:392006 (382.8 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:18 errors:0 dropped:0 overruns:0 frame:0
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1064 (1.0 KiB)  TX bytes:1064 (1.0 KiB)

拆掉eth0上的IP
[[email protected] ~]# ifconfig eth0 0 up
[[email protected] ~]# 
[[email protected] ~]# ifconfig 
eth0      Link encap:Ethernet  HWaddr 00:0C:29:7E:C9:4F  
          inet6 addr: fe80::20c:29ff:fe7e:c94f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:14192 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7084 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:20772188 (19.8 MiB)  TX bytes:394136 (384.8 KiB)

為br0新增eth0網絡卡
[[email protected] ~]# brctl addif br0 eth0

為br0新增地址相關內容。
[[email protected] ~]# ifconfig br0 192.168.217.129/24 up
[[email protected] ~]# route add default gw 192.168.217.2
[[email protected] ~]# 
[[email protected] ~]# ifconfig 
br0       Link encap:Ethernet  HWaddr 00:0C:29:7E:C9:4F  
          inet addr:192.168.217.129  Bcast:192.168.217.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe7e:c94f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:582 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:26772 (26.1 KiB)  TX bytes:606 (606.0 b)

eth0      Link encap:Ethernet  HWaddr 00:0C:29:7E:C9:4F  
          inet6 addr: fe80::20c:29ff:fe7e:c94f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:14868 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7091 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:20814087 (19.8 MiB)  TX bytes:394562 (385.3 KiB)

檢視。
[[email protected] ~]# brctl stp br0 on
[[email protected] ~]# brctl show
bridge name	bridge id		STP enabled	interfaces
br0		8000.000c297ec94f	yes		eth0



相關推薦

虛擬化技術路橋

虛擬機器的網路        首先虛擬機器的網路,虛擬機器創建出來後,希望和主機通訊,和其他外網中的主機通訊,也希望和其他的虛擬機器通訊,該用什麼方式呢?     大多數人都會想到NAT,橋接,Hos

Linux 基礎 高階網路配置 (路橋

一、網路橋接 網路橋接用網路橋實現共享上網主機和客戶機除了利用軟體外,還可以用XP自帶的網路橋建立連線用雙網絡卡的機器做主機。 橋接: 一般的交換機,網橋就有橋接作用。就交換機來說,本身有一個埠與mac的對映表,通過這些,隔離了衝突域(collision)。 簡單的說就是通過網橋可以把

虛擬化技術KVM

iss iptable roo num bytes ebo uuid screen ext 一、kvm環境準備 kvm介紹: KVM是Kernel Virtual Machine的簡寫,目前Red Hat只支持在64位的RHEL5.4及以上的系統運行KVM,同時硬

二LWIP學習筆記口管理

line nts span 基於 網絡接口 blog 內部 定義 1.5 一、引言   LWIP分為四個層次:鏈路層、網絡層、傳輸層和應用層。運行LWIP的嵌入式設備可以有多個網絡接口:以太網接口、串行鏈路接口、環回接口等。為了實現對所有網絡接口的有效管理,協議棧內部使用了

虛擬化技術基於硬件虛擬化技術KVM

雲計算 虛擬化 KVM 前言上一篇說到了虛擬化的原理,有一個是基於CPU硬件的虛擬化。原理是廠商更改指令集模式的特權級別,使得VMM(虛擬機監控器)直接運行在硬件上面。關於CPU指令特權級別可以參考https://blog.csdn.net/autumn20080101/article/detai

Linux中高階網路配置-路橋配置

概念 虛擬機器是沒有物理網絡卡的,這時虛擬機器要與外部通訊,進行資料交換就需要通過主機上的物理網絡卡,進行地址轉換,而且主機的核心來處理這些問題,無疑增加了主機核心的負載,大大降低了資料交換的速率,如果搭建網路橋,使得虛擬機器與外部資料交換通過橋接方式,虛擬機器核心可以在一定程度上直接使用主

KVM虛擬化技術使用Qemu-kvm建立和管理虛擬機器

一 .KVM 簡介 KVM (名稱來自英語: Kernel-basedVirtual Machine 的縮寫,即基於核心的虛擬機器) , 是一種用於Linux核心中的虛擬化基礎設施,可以將Linux核心轉化為一個hyper

學習一下虛擬機器路橋配置

熟悉vmware都知道網路配置有三種: 各個概念大致記錄: 橋接,各個虛擬機器與宿主機處於同一網段,是獨立機器,虛擬機器與宿主機可以通訊,可以認為就是獨立主機,可以配置連外網。 NAT,通過共享主機的ip,主機能訪問網路,虛擬機器則也可以,基本不用配置。 僅主機,宿主機和虛

Win10系統中VirtualBox路橋與主機直鏈同一wifi區域網互通並可連線外

VirtualBox的網路設定有好幾種模式, 現在需求是: 將虛擬機器和主機都直連到wifi路由器使兩者處於同一區域網段中, 並都可以訪問外網. 網上找了好多篇文章發現要麼是版本差別, 要麼是沒有實現效果, 最後自己折騰了半天終於實現了 無圖無真相, 先上最

路橋和鏈路聚合

網路橋接用網路橋實現共享上網主機和客戶機除了利用軟體外還可以用系統自帶的網路橋建立連線用雙網絡卡的機器做主機 1. 在真機中新增網橋 目的:使在一個區域網中的主機能夠直接進行資料傳輸 cd /etc/sysconfig/network-scri

VMware虛擬機器遷移到新系統中無法利用路橋模式連PLC的解決方法:

       在WIN7系統中安裝了VMware,裡面安裝了虛擬WIN7系統,並安裝了各種西門子軟體,通過橋接模式,可以通過乙太網(指有線的介面,下同)與西門子PLC、HMI裝置相連。       更換電腦後,上了WIN10系統,安裝了VMware,將虛擬機器拷貝過來,同樣為

Linux-路橋和鏈路聚合

網路橋接和鏈路聚合 網路橋接和網路橋實現共享上網主機和客戶端除了利用軟體外 還可以利用系統自帶的網路橋建立連線用雙網絡卡的機器做主機 cd /erc/sysconfig/network-script

路橋和ipv6的配置

########################## ############網橋########## ########################## 1.永久配置方式 [[email protected] ~]# vim /etc/sysconfig/

[How To]在Linux下設定無線路橋

很多同學在說Linux下配置網路橋接不如Windows方便,如果要共享網路連結很麻煩。其實如果各位能到牆外查檢視,很多部落格都介紹瞭如何在Linux下做網路橋接的姿勢和動作要領。這裡為大家介紹一下。如果你遇到如下問題,這篇文章可以幫助你搞定。 * 對如何在Linux下進

虛擬化技術kvm基礎

  一、KVM簡介   KVM的全稱是kernel base virtual machine(基於核心的虛擬機器)是一個開源的系統虛擬化模組,自Linux 2.6.20之後整合在Linux的各個主要發行版本中。它使用Linux自身的排程器進行管理,所以相對於Xen,其核心原始碼很少。KVM已成為學術界的主流V

虛擬化技術kvm管理工具virsh常用基礎命令(一)

  在上一篇部落格中,我們瞭解了KVM基礎架構和部署以及圖形管理工具virt-manager安裝虛擬機器的過程,回顧請參考https://www.cnblogs.com/qiuhom-1874/p/13499801.html;今天我們來聊一下kvm的命令列工具virsh;virsh工具功能非常豐富,它可以全生

虛擬化技術kvm磁碟管理工具qemu-img

  在前邊的部落格中,我們大致瞭解了virsh這個工具對kvm虛擬機器的一些操作,回顧請參考https://www.cnblogs.com/qiuhom-1874/tag/virsh/;今天我們來了解下kvm的磁碟管理工具qemu-img常用命令的用法;   1、qemu-img的幫助資訊 [root@no

虛擬化技術kvm虛擬機器建立工具qemu-kvm

  在前邊的部落格中我們介紹瞭如何建立kvm虛擬機器,以及一些常用的工具的介紹和使用,今天我們來了解下kvm原始工具qemu-kvm;為什麼說qemu-kvm是一個原始的工具呢,如果你用kvm虛擬機器,心細的你一定會發現我們不管用什麼工具建立kvm虛擬機器,在宿主機上表現的都是一個以/usr/libexec/

虛擬化技術kvm WEB管理工具kimchi

  在前面的部落格中,我們介紹了kvm的各種工具,有基於圖形管理的virt-manager、有基於命令列管理的virt-install 、qemu-kvm、virsh等等;今天我們來介紹一款基於web介面的管理工具kimchi;kimchi是一款基於HTML5的kvm管理工具,它被設計成儘可能容易使用kvm並

linux運維、架構路-KVM虛擬化技術

sna 運維 3.1 png 配置 tools 關閉 wall ati 一、雲計算概述 雲計算:是一種資源使用和交付模式 虛擬化:一種具體的技術,用來將物理機虛擬成為多個相互獨立的虛擬機。雲計算不等於虛擬化,雲計算是使用了虛擬化的技術做支撐 二、KV