KVM 虛擬機的 NAT 和 Bridge 網絡模式的區別及配置


來源:https://www.jianshu.com/p/110b60c14a8bhttps://blog.csdn.net/wenwenxiong/article/details/47343717

1. 網絡模式

網橋模式可以:

1、讓客戶機和宿主機共享一個物理網絡設備連接網絡

2、也可以讓客戶機有自己的IP直連與宿主機一摸一樣的網絡

原理圖:

 

使用命令配置的過程:

1. 建立bridge,並綁定到一個可以正常對外訪問的網絡接口上,同時讓bridge成為本機與外部網絡的接口

brctl addbr br0          #添加bridge
brctl addif br0 eth0     #將br0和eth0綁定起來 (可能讓網絡斷掉,最好在本機操作,不要通過網絡)
brctl stp br0 on         #將br0設置為啟用STP協議
ifconfig eth0 0          #將eth0的IP設置為0
dhclient br0             #將br0網絡配置好

建立好bridge后的狀態是:eth0進入混雜模式,接收網絡中所有數據包,網橋br0進入轉發狀態。

然后在虛擬機中使用該 br0 網橋即可。

 

2. NAT 模式

NAT 即 Network Address Translation, 網絡地址轉換,將內網IP數據包包頭中的源IP地址轉換為一個外網的IP地址,因此內部IP對外是不可見的,隱藏了內部結構更加安全,但對外提供服務則是其局限性,目前通常采用iptables工具進行端口映射解決。
1、相比使用網橋共享同一個網絡設備,其區別在於virbr0並未直接綁定到實際的物理網卡,數據包經過virbr0,進行nat后轉到IP包轉發后從實際的物理網絡設備中出去
2、在nat模式下,需要在宿主機上運行一個DHCP服務器給內網的機器分配IP地址,可以使用dnsmasq工具實現,或者通過手工方式指定
原理圖:

配置命令:

brctl addbr virbr0
brctl stp virbr0 on
brctl setfd virbr0 0 #設置網絡轉發延時
ifconfig virbr0 192.168.122.1 netmask 255.255.255.0 up


#打開宿主機上的網絡轉發功能
echo 1> /proc/sys/net/ipv4/ip_forward

#設置iptables 轉發規則
iptables -t nat -A POSTROUTING -s 內網ip/24 ! -d  內網ip/24 -j MASQUERADE

 

3. Centos 上配置 bridge 模式

在centos中,需要創建一個 bridge,把原來網卡的IP 地址設置為該網橋的地址,然后去除網卡的地址。這些需要通過配置網絡接口腳本來實現。

首先配置網橋 ifcfg-mgtbr:

TYPE=Bridge
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=mgtbr
UUID=2e1a9bac-aaa6-4593-8fd2-7990deaa7803
DEVICE=mgtbr
ONBOOT=yes
IPADDR=192.168.1.10
PREFIX=24
GATEWAY=192.168.1.1
IPV6_PRIVACY=no
ZONE=public

再配置物理網卡 ifcfg-em1:

PROXY_METHOD=none
BROWSER_ONLY=no
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=em1
UUID=2e1a9bac-aaa6-4593-8fd2-7990deaa7803
DEVICE=em1
ONBOOT=yes
BRIDGE=mgtbr

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM