Linux Bridge
什么是Linux Bridge?
Linux Bridge是Linux上用来做TCP/IP二层协议交换的设备,可以理解为是一个二层交换机或者Hub。多个网络设备可以连接到同一个Linux Bridge,当某个设备收到数据包时,Linux Bridge会将数据装发给其他设备。
eg:假设宿主机有1块与外网连接的物理网卡eth0,上面跑了一个虚拟机VM1,那么VM1如何能够访问外网?
a、将物理网卡eth0直接分配给VM1.但是存在宿主机没有网卡,无法访问;新的虚机,如VM2也没有网卡的问题。
b、给VM1分配一个虚拟网卡vnet0,通过Linux Bridge br0将eth0和vnet0连接起来。如下图:
virbr0
virbr0是KVM默认创建的一个bridge,作用是为连接在其上的虚拟网卡提供NAT访问外网的功能。
virbr0默认分配一个IP地址,并为连接其上的其他虚拟网卡通过dnsmasq提供DHCP服务。
使用NAT的虚机可以访问外网,但是外网无法直接访问虚机。因为虚机发出的网络包源地址并不是
虚拟出来的那个IP,而是被NAT替换为宿主机的IP地址。
在br0情况下,虚机通过自己的IP直接与外网通信,不会经过NAT地址转换。
DHCP:
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是用于对局域网中各个主机动态分配IP地址、网关地址、DNS服务器等相关网络信息,为了更好的对局域网设备进行集中管理。
工作原理:
其实就是根据UDP协议来实现,共分为DHCP服务器端和DHCP客户端,其中DHCP服务器端就是设置对应的IP地址池以及DNS服务器地址等信息以动态分配给客户端;DHCP客户端就是从服务器端动态获取IP地址、网关地址、DNS服务器地址等信息;
简单归总一句话就是DHCP是一个不需要账号密码登陆,自动给内网机器分配IP地址等信息的协议。