KVM改NAT为Bridge
kvm 改nat为桥接
在安装一个拥有虚拟化功能的Linux操作系统(此处以CentOS为例),一般我们有两种方法:
1.在光盘安装的时候安装好虚拟化包或者PXE服务器上配置好虚拟化包
2.手动在没有安装虚拟化组件的系统中安装虚拟化组件
如果我们搭建的环境是必须使用虚拟化的,或者说虚拟化是我们搭建这套环境的主要目的之一,那么我们在进行系统安装的时候将所有
的虚拟化组件全部安装上,避免后期出现安装不全或者某些服务依赖关系没有解决好,这样排错的时间远远高于安装时候多装几个包的时
间。
在我们安装好虚拟化组件(RHEL6.0之后,系统自带的均是KVM,已经没有XEN虚拟化的支持了),会自动生成一个virbr0这样的桥接设
备
[root@clovemzone ~]# brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.5254007543ce yes virbr0-nic
virbr0默认使用的是NAT方式跟虚拟机网卡进行通讯,在实际生产环境中我们多数情况下面使用桥接Bridge的方式进行物理机跟虚拟机的通讯,
这篇文章主要讲述Bridge的简单实现原理以及实际配置方法。
假设我们的物理机上有一块有线网卡,在系统中显示为eth0,我们搭建将其配置成桥接设备br0
我们经常所说的Bridge设备其实就是网桥设备,也就相当于想在的二层交换机,用于连接同一网段内的所有机器,所以我们的目的就是
将网络设备eth0配置成br0,此时br0就成为了所谓的交换机设备,我们物理机的eth0也是连接在上面的。
[root@clovemzone ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.0025903afe42 no eth0
我们创建两个虚拟机之后,所有的虚拟机网卡均连接br0,此时查看br0上面连接的设备
[root@clovemzone ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.0025903afe42 no eth0
vnet0
vnet1
[root@master ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:a7:b7:56 brd ff:ff:ff:ff:ff:ff
inet 192.168.3.176/24 brd 192.168.3.255 scope global eth0
inet6 fe80::5054:ff:fea7:b756/64 scope link
valid_lft forever preferred_lft forever
2.配置桥接设备br0
[root@master ~]# rpm -q bridge-utils //查看桥接软件是否安装
bridge-utils-1.2-9.el6.x86_64
[root@master ~]# brctl show
bridge name bridge id STP enabled interfaces
[root@master ~]#
此时无任何桥接设备,我们可以手动添加也可以在 文件中进行添加生效。
[root@master ~]# brctl addbr br0
[root@master ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000000000000 no
[root@master ~]# brctl addif br0 eth0
[root@master ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000000000000 no eth0
删除eth0上面的ip地址,将br0上面添加上固定ip地址
[root@master ~]# ip addr del dev eth0 192.168.3.176/24 //删除eth0上的IP地址
[root@master ~]# ifconfig br0 192.168.3.176/24 up //配置br0的IP地址并启动设备
[root@master ~]# route add default gw 192.168.3.1 //重新加入默认网关
查看配置是否生效
[root@master ~]# route //查看默认网关
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.3.0 * 255.255.255.0 U 0 0 0 br0
default 192.168.3.1 0.0.0.0 UG 0 0 0 br0
[root@master ~]# ip addr show //查看eth0跟br0的IP信息
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:a7:b7:56 brd ff:ff:ff:ff:ff:ff
inet6 fe80::5054:ff:fea7:b756/64 scope link
valid_lft forever preferred_lft forever
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
link/ether 52:54:00:a7:b7:56 brd ff:ff:ff:ff:ff:ff
inet 192.168.3.176/24 brd 192.168.3.255 scope global br0
inet6 fe80::5054:ff:fea7:b756/64 scope link
valid_lft forever preferred_lft forever
[root@master ~]# ping 192.168.3.1 -w2 //测试同一网段连接是否成功,判断网卡IP是否绑定正确
PING 192.168.3.1 (192.168.3.1) 56(84) bytes of data.
64 bytes from 192.168.3.1: icmp_seq=1 ttl=255 time=3.45 ms
64 bytes from 192.168.3.1: icmp_seq=2 ttl=255 time=4.20 ms
--- 192.168.3.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 3.457/3.832/4.208/0.380 ms
[root@master ~]# ping 192.168.1.1 -w2 //测试不同网段连接是否成功,判断网关是否添加成功
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=255 time=2.38 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=255 time=7.64 ms
--- 192.168.1.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 2.381/5.011/7.642/2.631 ms
上面是通过命令进行的手动配置方法,但是大家都清楚,这些命令配置的结果在服务器重启之后就不能生效了,要想使得所有配置永久生
效,我们还是需要通过配置文件进行配置,然后重启网卡设备,让系统帮我们配置,然后重启之后也是生效的。
通过上面的手动配置方法,大家可以清楚得看到一个桥接设备的配置流程,这个在你写到配置文件里面,然后让系统帮你配置的时候是看
不到的 :) ,那么下面我们将所有的配置还原,通过配置文件进行相关自动化配置吧。
还原原始配置
[root@master ~]# route delete default //删除默认网关
[root@master ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
[root@master ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.525400a7b756 no eth0
[root@master ~]# brctl delif br0 eth0 //断开/删除br0上的eth0设备
[root@master ~]#ifconfig br0 down //让br0设备停止活动
[root@master ~]#brctl delbr br0 //删除br0
root@master ~]# brctl show //查看br0是否依然存在
bridge name bridge id STP enabled interfaces
[root@master ~]# ifconfig eth0 192.168.3.176/24 //重新给eth0分配IP地址
root@master ~]# route add default gw 192.168.3.1 //重新加入默认网关
KVM改NAT为Bridge的更多相关文章
- centos7 && centos6.5部KVM使用NAT联网并为虚拟机配置firewalld && iptables防火墙端口转发
centos7 && centos6.5 部KVM使用NAT联网并为虚拟机配置firewalld && iptables防火墙端口转发 一.准备工作: 1: 检查kvm ...
- Host Only、NAT和Bridge三种网络连接
Host Only.NAT和Bridge三种网络连接 在安装好了Linux镜像之后,如何连接物理机和虚拟机呢?这就需要网络连接,网络连接有三种:HostOnly.NAT.Bridge,它们都可用于Gu ...
- CentOS下KVM配置NAT网络(网络地址转换模式)
KVM虚拟机Nat方式上网: # 查看当前活跃的网络 virsh net-list # 查看该网络的详细配置 virsh net-dumpxml default 客户机的XML配置文件中interfa ...
- 烂泥:KVM使用NAT联网并为VM配置iptables端口转发
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 在前面的文章中,我们介绍KVM的虚拟机(以下简称VM)都是通过桥接方式进行联网的. 本篇文章我们来介绍KVM的VM通过NAT方式进行联网,并且通过配置I ...
- WMware Workstation——网络类型:NAT、bridge、host-only
bridge NAT host-only 总结: NAT和host-only都需要虚拟网卡(WMware Adapter Card)实现物理机和虚拟机互访. NAT和bridge都可以访问外网 NAT ...
- 转:KVM使用NAT联网并为VM配置iptables端口转发,kvmiptables
转载地址:https://www.ilanni.com/?p=7016 在前面的文章中,我们介绍KVM的虚拟机(以下简称VM)都是通过桥接方式进行联网的. 本篇文章我们来介绍KVM的VM通过NAT方式 ...
- KVM 虚拟机联网方式:NAT 和 Bridge
KVM 客户机网络连接有两种方式: 用户网络(User Networking):让虚拟机访问主机.互联网或本地网络上的资源的简单方法,但是不能从网络或其他的客户机访问客户机,性能上也需要大的调整.NA ...
- KVM虚拟机网络配置 Bridge方式,NAT方式
https://blog.csdn.net/hzhsan/article/details/44098537/
- VMWare中的Host-only、NAT、Bridge的比較
VMWare有Host-only(主机模式).NAT(网络地址转换模式)和Bridged(桥接模式)三种工作模式. 1.bridged(桥接模式) 在这样的模式下.VMWare虚拟出来的操作系统就像是 ...
随机推荐
- Eclipse External Tool Configration Notepad++
Location: C:\Program Files\Notepad++\notepad++.exe Arguments: ${resource_loc}
- java 代理模式(静态代理、动态代理、Cglib代理) 转载
Java的三种代理模式 1.代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩 ...
- JavaScript lastIndexOf() 方法
<script type="text/javascript"> var str="0000.0000.0000.0000.0000.0000.0000.&qu ...
- bootstrap modal垂直居中(简单封装)
1.使用modal 弹出事件方法: 未封装前: <!DOCTYPE html> <html lang="en"> <head> <meta ...
- 表单中input name属性有无[]的区别
1 input数组 如下一个表单: <input type="text" name="username[]" value="Jason" ...
- GA-H61M-DS2 BIOS SETTING
Boot Option #1,UEFI:Sandisk SDSSDHP128G Boot Option #2, Boot Option #3, Boot Option #4, Bootup Numbe ...
- cookie中的小错误
今天在练习 cookie时意外的报了这个错. 这句话的意思是一个不识别的字符[32]出现在了cookie当中由于tomcat的版本比较高,所以在addCookie时是不能使用空格的 而在ASCII码中 ...
- codeforces589I
Lottery CodeForces - 589I Today Berland holds a lottery with a prize — a huge sum of money! There ar ...
- 了解AutoCAD对象层次结构 —— 3 ——数据库
数据库的结构是什么样的?对象是如何存储在数据库中的?这些问题我们需要搞明白.在此我们可以借助工具ArxDbg或MgdDbg来查看数据库结构及其内容.下图就是利用MgdDbg工具查看到的内容,我们可以看 ...
- LitJson的用法
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...