KVM——5——kvm网络
Nat模式
注意:
[root@localhost ~]# yum info firewalld
不同版本的firewalld工具,对iptables规则的影响不一样,如果使用的是 centos7.7之前的版本,那么防火墙版本应该在: 0.6.3.2.el7版本,这时候,防火墙必须是打开的状态才可以看到路由转发规则。
而到了centos7.8版本的时候,firewalld防火墙版本已经更新,现在 firewalld工具必须是关闭状态,才可以看到路由转发规则。
查看路由转发规则,或者iptables-save命令 ,都可以
[root@localhost ~]# iptables -t nat -L
KVM默认的网络方式,如果想要使用这种模式(centos7.7之前)防火墙需要打开,因为需要用到iptables规则
# 防火墙添加规则,打开5900端口
[root@localhost ~]# firewall-cmd --add-port=5900/tcp --permanent
success
[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]# firewall-cmd --list-all
添加路由转发
[root@localhost ~]# echo net.ipv4.ip_forward = 1 >> /etc/sysctl.conf
[root@localhost ~]# sysctl -p
net.ipv4.ip_forward = 1
NAT模式自定义网段
1、直接修改我们现在使用的default网络的信息
[root@kvm01 ~]# virsh net-edit default
……<ip address='192.168.120.1' netmask='255.255.255.0'><dhcp><range start='192.168.120.2' end='192.168.120.254'/></dhcp>
……[root@kvm01 ~]# virsh net-destroy --network default
[root@kvm01 ~]# virsh net-start --network default[root@kvm01 ~]# virsh net-dumpxml default
<network><name>default</name><uuid>795e355e-4265-498a-ac30-336d7af9c47a</uuid><forward mode='nat'><nat><port start='1024' end='65535'/></nat></forward><bridge name='virbr0' stp='on' delay='0'/><mac address='52:54:00:6d:6b:d9'/><ip address='192.168.120.1' netmask='255.255.255.0'><dhcp><range start='192.168.120.2' end='192.168.120.254'/></dhcp></ip>
</network>
此时,kvm虚拟机的virbr0网卡的IP地址就改变了
[root@kvm01 ~]# ip a
……
5: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000link/ether 52:54:00:6d:6b:d9 brd ff:ff:ff:ff:ff:ffinet 192.168.120.1/24 brd 192.168.120.255 scope global virbr0valid_lft forever preferred_lft forever
……
打开虚拟机test01,仍然用dhcp的方式获取IP地址,就会看到kvm虚拟机域获取到的IP地址已经变了
[root@kvm01 ~]# virsh start test01
[root@kvm01 ~]# virsh vncdisplay test01
:0
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=dhcp
ONBOOT=yes[root@localhost ~]# systemctl restart network
2、可以去自定义一个网段
[root@kvm01 ~]# virsh net-dumpxml default > test.xml
[root@kvm01 ~]# vim test.xml
<network>
<name>test</name>
<forward mode='nat'>
<nat>
<port start='1024' end='65535'/>
</nat>
</forward>
<bridge name='virbr1' stp='on' delay='0'/>
<ip address='192.168.110.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.110.2' end='192.168.110.254'/>
</dhcp>
</ip>
</network>
[root@kvm01 ~]# virsh net-create test.xml
Network test created from test.xml[root@kvm01 ~]# virsh net-listName State Autostart Persistent
----------------------------------------------------------default active yes yestest active no no[root@kvm01 ~]# virsh net-dumpxml test
<network>
<name>test</name>
<uuid>c620e968-5c5e-48fc-8319-5fd8a1fbdab7</uuid>
<forward mode='nat'>
<nat>
<port start='1024' end='65535'/>
</nat>
</forward>
<bridge name='virbr1' stp='on' delay='0'/>
<mac address='52:54:00:b0:36:b9'/>
<ip address='192.168.110.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.110.2' end='192.168.110.254'/>
</dhcp>
</ip>
</network>[root@kvm01 ~]# ip a
...
5: virbr1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500
qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:b0:36:b9 brd ff:ff:ff:ff:ff:ff
inet 192.168.110.1/24 brd 192.168.110.255 scope global
virbr1
valid_lft forever preferred_lft forever
6: virbr1-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc
pfifo_fast master virbr1 state DOWN group default qlen
1000
link/ether 52:54:00:b0:36:b9 brd ff:ff:ff:ff:ff:ff
修改想要使用此网络的虚拟机域,这里我们使用test01虚拟机域
[root@kvm01 ~]# virsh edit test01
...
67 <interface type='network'>
68 mac地址这里直接删除即可。
69 <source network='test'/>
...[root@kvm01 ~]# virsh start test01
PS:虚拟机域的IP获取方式改为dhcp,直接启用,即可看到分配到的IP地址,当然是在我们test网络同一个网段的
总结:nat模式支持主机与虚拟机的互访,也支持虚拟机访问互联网,但不支持外网访问虚拟机域
桥接网络
1、创建虚拟桥接网卡br0
[root@kvm01 ~]# systemctl stop NetworkManager
[root@kvm01 ~]# virsh iface-bridge ens33 br0 #过程有可能报错,先看/etc/sysconfig/network-scripts/有没有自动生成 br0
[root@kvm01 ~]# cd /etc/sysconfig/network-scripts/
[root@kvm01 network-scripts]# ls
ifcfg-br0
查看配置文件会看到,ens33桥接到了br0上
[root@kvm01 network-scripts]# cat ifcfg-ens33
DEVICE="ens33"
ONBOOT="yes"
BRIDGE="br0"[root@kvm01 network-scripts]# cat ifcfg-br0
DEVICE="br0"
ONBOOT="yes"
TYPE="Bridge"
BOOTPROTO="none"
IPADDR="192.168.1.150"
NETMASK="255.255.255.0"
GATEWAY="192.168.1.1"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
DHCPV6C="no"
STP="on"
DELAY="0"[root@kvm01 network-scripts]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000c29efc727 yes ens33
virbr0 8000.5254006d6bd9 yes virbr0-nicvnet0
2、修改kvm虚拟机域的xml配置文件
[root@kvm01 ~]# virsh edit test02
...
69 <interface type='bridge'> #修改
70 <mac address='52:54:00:97:98:6f'/> #无须修改
71 <source bridge='br0'/> #修改
...
3、开启虚拟机域,配置IP,验证是否能够连通外网
[root@kvm01 ~]# virsh start test02
[root@kvm01 ~]# virsh vncdisplay test02
:0
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=dhcp
ONBOOT=yes[root@localhost ~]# systemctl restart network
也可配置静态IP验证
PS:这时候需要注意,往往到这一步,很可能会报一个错,说要开启虚拟网卡的混杂模式,出于安全考虑是不允许的,然后就会出现,dhcp模式获取不到IP,即使手动设置好IP之后,仍然ping不通外网。
因为要开启网卡的混杂模式,需要我们对VMware的vmnet0网卡有权限进行操作,如果使用的是Windows操作系统装的VMware,只要使用管理员运行VMware就可以了,如果是Linux操作系统上安装的VMware,需要更改一下/dev/vmnet0网卡的权限,当然如果想要使用nat网络,更改/dev/vmnet8就可以了。
练习:
1、由test01虚拟机,克隆一台虚拟机test02
2、test01使用默认的nat模式访问外网,并部署一个httpd服务。test02使用bridge模式访问外网,并部署一个nginx服务
3、两台虚拟机域哪一台能给外网提供服务,并总结两种网络模式的优缺点
练习实操:
1、由test01虚拟机,克隆一台虚拟机test02
[root@kvm01 ~]# virsh list --allId Name State
----------------------------------------------------- centos7.0 shut off- test01 shut off[root@kvm01 ~]# virt-clone --auto-clone -o test01 -n test02[root@kvm01 ~]# virsh list --allId Name State
----------------------------------------------------- centos7.0 shut off- test01 shut off- test02 shut off[root@kvm01 ~]# ls /kvm-vm/
centos7.0.qcow2 test01.raw test02.raw
[root@kvm01 ~]# ls /etc/libvirt/qemu/
centos7.0.xml networks test01.xml test02.xml
2、test01使用默认的nat模式访问外网,并部署一个httpd服务。test02使用bridge模式访问外网,并部署一个nginx服务
1)test01使用默认的nat模式访问外网,并部署一个httpd服务
继上边的实验继续部署httpd服务:
[root@localhost ~]# yum -y install httpd
[root@localhost ~]# echo 1231111111111 > /var/www/html/index.html
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl enable httpd
[root@localhost ~]# curl 192.168.110.45
1231111111111
外界访问不到:
[root@kvm01 ~]# curl 192.168.110.45
curl: (7) Failed connect to 192.168.110.45:80; No route to host
例图:
2)test02使用bridge模式访问外网,并部署一个nginx服务
继上边的实验继续部署nginx服务:
在kvm虚拟机中编写nginx.repo文件,scp到test02虚拟机域中
[root@kvm01 ~]# vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true[root@kvm01 ~]# scp /etc/yum.repos.d/nginx.repo root@192.168.1.143:/etc/yum.repos.d/
在test02虚拟机域中安装nginx
[root@localhost ~]# cat /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[root@localhost ~]# yum -y install nginx[root@localhost ~]# systemctl start nginx
[root@localhost ~]# systemctl enable nginx[root@localhost ~]# curl 192.168.1.143 #本机访问
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
……[root@localhost ~]# firewall-cmd --add-port=5900/tcp --permanent #防火墙添加规则,打开5900端口
success
[root@localhost ~]# firewall-cmd --add-port=80/tcp --permanent #防火墙添加规则,打开80端口
success
[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]# firewall-cmd --list-all
……ports: 5900/tcp 80/tcp
……
外界访问:
[root@kvm01 ~]# curl 192.168.1.143
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
例图:
3、两台虚拟机域哪一台能给外网提供服务,并总结两种网络模式的优缺点
test02可以给外界提供服务;
优缺点:
nat: | nat模式支持主机与虚拟机的互访,也支持虚拟机访问互联网,但不支持外网访问虚拟机域 |
---|---|
bridge: | bridge模式支持主机与虚拟机的互访,也支持虚拟机访问互联网,支持外网访问虚拟机域 |
KVM——5——kvm网络相关推荐
- RHEL7 kvm虚拟机桥接网络配置
摘要:RHEL7 KVM虚拟机网络配置Bridge方式.Bridge方式的配置原理和步骤. Bridge方式适用于服务器主. bridge 的网络结构见图: Bridge方式 问题 客户机安装完成后, ...
- KVM的NAT网络和bridge网络安装
KVM的安装使用 安装前准备 NAT网络 第一大步:安装相关包 第二大步:创建磁盘 第三大步:安装配置 第四大步:进入管理端 点左上角1的部分,查看ip 创建bridge网络虚拟机 安装前准备 实验目 ...
- KVM虚拟机配置网络
kvm虚拟机的网络配置有两种模式:桥接模式和NAT模式. 一.两种模式区别如下: 1)NAT模式:也是用户模式,数据包由NAT方式通过主机的接口进行传送,可以访问公网,但是无法从外部访问虚拟机网络,所 ...
- kvm虚拟化学习笔记(十七)之KVM到KVM之v2v迁移
1.源KVM虚拟主机node1 (1).查看源KVM虚拟主机上的虚拟机列表,本文计划将CentOS6.5-01虚拟机迁移到其它KVM虚拟主机中. [root@node1 ~]# virsh list ...
- KVM总结-KVM性能优化之网络性能优化
前面已经介绍了KVM CPU优化(http://blog.csdn.net/dylloveyou/article/details/71169463).内存优化(http://blog.csdn.net ...
- KVM中的网络IO设备虚拟化方式
在KVM虚拟化的架构里,对CPU的虚拟化采用的是硬件辅助的方式(Intel VT-x,AMD-V),效率比较高,内存的虚拟化有Intel EPT技术的支持,效率也没有问题:那么对于像磁盘驱动器,网卡等 ...
- Kvm 平台自定义网络的方式
Kvm是一个用于创建虚拟机的虚拟化平台,可以用它来创建不同操作系统的虚拟机 Kvm在安装完后,创建时默认时使用的网络名称是 default,其会在宿主机上创建一张虚拟网卡--virbr0,所有虚拟机对 ...
- linux kvm网络配置文件,linux kvm 虚拟机之网络配置
在KVM的网络模式中 ,企业应用最常用的网络模式应该是网桥模式. 在kvm的官网中,有关于怎么搭建KVM网络的.但照那样做,并不会生成一个真正可用的网桥.因为还差了几步. 我做的步骤如下,配置后正常使 ...
- linux kvm 虚机 网络,linux kvm 虚拟机之网络配置
在KVM的网络模式中 ,企业应用最常用的网络模式应该是网桥模式. 在kvm的官网中,有关于怎么搭建KVM网络的.但照那样做,并不会生成一个真正可用的网桥.因为还差了几步. 我做的步骤如下,配置后正常使 ...
最新文章
- OpenGL--- 坐标系变换
- mapreduce介绍
- 湖南工程师用中文编写操作系统,还发明了甲、乙、丙语言???
- 漫画:什么是自动驾驶?
- excel如何把顺序倒过来_春节酒局多,这些葡萄酒倒酒礼仪你一定要知道
- 前端知识 | React Native手势响应浅析
- [恢]hdu 1017
- Appium API文档中文版
- IntelliJ IDEA引入项目之后不显示 解决办法
- html站点地图怎么做,sitemap网站地图(站点地图)如何制作以及作用
- 用PPT就可以做印章?是的,超简单超逼真,教你一分钟搞定
- Excel的科学计数法
- 华为二层网络隔离与互通(vlan隔离与端口隔离)
- Lucas-Kanade 算法原理以及应用
- myelipse修改页面后 浏览器无变化
- 我就想知道知道我错哪了!!啊啊啊啊!
- 桌面Linux下分区建议方案
- 回归分析——基本内容
- 数组元素的去重与排序
- 回旋数字c语言数组,LeetCode 447*. 回旋镖的数量(Python)