架构解析
- 网络介绍
- NAT模式
- isolated隔离模式
- bridge桥接模式
- 网络配置
- DHCP解析
网络分类
-
NAT
-
isolated
-
Bridge
-
虚拟机交换机
-
linux-bridge(linux自带) -
ovs(open-Vswitch)
NAT
虚拟机默认为virb0,是三层交换机,既有路由功能,也有交换转发功能,
?
isolated
隔离网络就是把物理网卡与虚拟路由器断开
就是对外的虚拟接口与物理网卡之间连接的网线断开
Bridge
把路由器拔掉了,直接将物理网卡连接到虚拟机交换机上
技术:现在虚拟机上做个桥接口,物理网卡接到桥接口,桥接口连接虚拟交换机
基础配置
1. 从交换机上把enss网卡删除:
[root@kvmserver ~]# brctl delif br0 ens33
?
2. 查看交换机信息:
[root@kvmserver ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.fe540008c2ab no vnet0 #ens33网卡已删除
?
3. 添加ens33网卡:
[root@kvmserver ~]# brctl addif br0 ens33
?
4. 再次查看信息:
[root@kvmserver ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000c295f24a2 no ens33 #添加成功
vnet0
桥接模式
1. 在宿主机上添加桥接接口:
[root@kvmserver qemu]# vim /etc/sysconfig/network-scripts/ifcfg-br0
TYPE=Bridge #类型为桥接
NAME=br0 #接口名
DEVICE=br0 #接口设备名,与接口名一样即可
ONBOOT="yes" #自启
BOOTPROTO=static #静态
IPADDR=192.168.178.5 #IP地址,自定义,要看自己在哪个网段,与平常配IP地址一样......
GATEWAY=192.168.178.2 #网关 可以用route -n 查看网关
NETMASK=255.255.255.0 #24位子网掩码
DNS1=192.168.178.2 #域名解析,与网关一样
DNS2=8.8.8.8 #Google的域名解析
?
2. 修改原有的网络接口配置文件:
[root@kvmserver qemu]# cd /etc/sysconfig/network-scripts/
[root@kvmserver network-scripts]# cp -r ifcfg-ens33 ifcfg-ens33.bak #备份
[root@kvmserver network-scripts]# vim ifcfg-ens33
DEVICE="ens33" #原有的网络接口名
ONBOOT="yes" #自启
BRIDGE=br0 #桥接设备名
?
3. 重启服务生效:
[root@kvmserver network-scripts]# systemctl restart libvirtd
[root@kvmserver network-scripts]# systemctl restart network
?
4. 按图形操作即可,新添加一块网卡为新建的桥接设备........
5. 去虚拟机中 ping www.baidu.com 看是否能通
?
6. 删除桥接网卡:
[root@kvmserver networks]# rm -rf /etc/sysconfig/network-scripts/ifcfg-br0
[root@kvmserver networks]# rm -rf /etc/sysconfig/network-scripts/ifcfg-ens33
[root@kvmserver networks]# mv /etc/sysconfig/network-scripts/ifcfg-{ens33.bak,ens33}
重启网络即可 ip a 查看网卡信息
NAT模式
1. 切换到默认的网络目录:
[root@kvmserver qemu]# cd /etc/libvirt/qemu/networks/
?
[root@kvmserver networks]# ls
autostart default.xml #默认的网络配置文件
?
2. 拷贝一份:
[root@kvmserver networks]# cp -r default.xml net2.xml
?
3. 编辑新的配置文件:
[root@kvmserver networks]# vim net2.xml
<network>
<name>net2</name> #修改
<uuid>09668020-3cee-441g-930c-8f0db705f777</uuid> #修改,随便改些数字
<forward mode='nat'/> #模式为nat
<bridge name='virbr1' stp='on' delay='0'/>
<mac address='52:54:00:ce:6g:e4'/> #mac地址,修改,后六位随便改
<ip address='192.168.120.1' netmask='255.255.255.0'> #修改网关地址 120.1
<dhcp>
<range start='192.168.120.2' end='192.168.120.254'/> #自动获取IP的地址范围,修改
</dhcp>
</ip>
</network>
?
4. 重启生效:
[root@kvmserver networks]# systemctl restart libvirtd
?
1. 查看虚拟交换机:[root@kvmserver networks]# brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.525400ce2de4 yes virbr0-nic
virbr2 8000.525400ce2fe4 yes virbr2-nic #nat2创建成功
?
2. 激活网络:[root@kvmserver networks]# virsh net-start nat2
?
?
isolated模式
1. 拷贝配置文件
[root@kvmserver networks]# cp -r default.xml isolated.xml
?
2. 修改配置:
[root@kvmserver networks]# vim isolated.xml
<network>
<name>isolated</name> #名字修改
<uuid>09668020-3cee-441a-930c-9f0db705f777</uuid> #uuid修改
<forward mode='nat'/> #这行直接删除 !!!!!!
<bridge name='virbr4' stp='on' delay='0'/>
<mac address='52:54:00:ce:2d:e9'/> #mac地址修改后六位
<ip address='192.168.131.1' netmask='255.255.255.0'> #网关 修改
<dhcp>
<range start='192.168.131.2' end='192.168.131.254'/> #IP地址范围 修改
</dhcp>
</ip>
</network>
?
3. 重启服务:
[root@kvmserver networks]# systemctl restart libvirtd
?
[root@kvmserver networks]# virt-manager
?
4. 查看当前活跃的接口:
[root@kvmserver networks]# virsh net-list
名称 状态 自动开始 持久
----------------------------------------------------------
default 活动 是 是
nat2 活动 否 是
?
5. 激活isolated接口
[root@kvmserver networks]# virsh net-start isolated
网络 isolated 已开始
?
6. 设置自启动
[root@kvmserver networks]# virsh net-autostart isolated
网络isolated标记为自动启动
?
7. 再次查看接口信息
[root@kvmserver networks]# virsh net-list
名称 状态 自动开始 持久
----------------------------------------------------------
default 活动 是 是
isolated 活动 是 是 #已经是自启了
nat2 活动 否 是
?
?
DHCP
原理:查看当前活跃虚拟机所使用的IP地址
1. 查看提供dhcp服务的进程
[root@kvmserver networks]# ps -elf |grep dnsmasq
?
2. 查看IP:
[root@kvmserver networks]# cat /var/lib/libvirt/dnsmasq/virbr4.status #相对应的接口
[
{
"ip-address": "192.168.131.146", #运行中主机的IP isolated配置的IP
"mac-address": "52:54:00:76:e5:3f",
"expiry-time": 1630055238
}
]
?
3. 更改接口,再次查看
[root@kvmserver networks]# cat /var/lib/libvirt/dnsmasq/virbr2.status
[
{
"ip-address": "192.168.129.146", #这是nat2的接口配置的IP
"mac-address": "52:54:00:76:e5:3f",
"expiry-time": 1630056185
}
]
?
?
本机开启路由,开启防?墙,写?如下规则:
[root@qfedu.com ~]# iptables -t nat -A PREROUTING -p tcp -m tcp --dport
10022 -j DNAT --to-destination 192.168.131.31:22
从其他客户端测试:
[wing@macserver ~]$ ssh root@192.168.178.5 -p 10022
|