bridge

KVM中的网络简介(qemu-kvm)

时间秒杀一切 提交于 2020-11-09 14:23:06
emu-kvm 主要向客户机提供了如下 4 种不同模式的网络: 1)基于 网桥 (bridge) 的虚拟网卡 2)基于 NAT (Network Addresss Translation)的虚拟网络 3)QEMU内置的 用户模式网络 (user mode networking)( QEMU/KVM 的默认方式 ) 4) 直接分配宿主机上的网络设备 的网络(包括VT-d和SR-IOV) 除了特别的需要iptables配置端口映射、数据包转发规则的情况,一般默认将防火墙所有规则都关闭,以避免妨碍客户机中的网络畅通 在QEMU命令行中,对客户机网络的配置(除物理网络设备直接分配外)都是用"-net"参数进行配置的, 如果没有设置任何的"-net"参数, 默认使用 "-net nic -net user" 参数 ,进而使用完全基于QEMU内部实现的 用户模式 下的网络协议栈 qemu-kvm提供了对一系列主流和兼容性良好的网卡的模拟,通过"-net nic,model=?"参数可以查询到当前的qemu-kvm工具实现了哪些网卡的模拟 "rtl8139" 网卡模式 是 qemu-kvm默认的模拟网卡类型 "e1000" 是提供Intel e1000系列的网卡模拟, 纯的 QEMU( 非 qemu-kvm) 默认就是提供 Intel e1000 系列的虚拟网卡 。 virtio 类型是qemu

kvm无线网卡设置桥接网络

冷暖自知 提交于 2020-11-09 11:28:55
记录kvm使用无线网卡桥接: 当kvm安装完,并且新建一台虚拟机,此时的虚拟机为nat网络,在此基础之上改造为桥接网络,使得虚拟机与宿主机处于同一网段 1,设置无线网卡为ap模式,否则不能将无线网卡加入网桥(据说有的网卡可以直接加?) 在宿主机执行: iw dev wlp3s0 set 4addr on 其中wlp3s0为无线网卡的名字 2,在宿主机给虚拟网卡virbr0(kvm默认生成的)设置ip,网关,dns等等 可以使用nmtui,或者其他方式 3,将无线网卡加入virbr0 brctl addif virbr0 wlp3s0 如果没有该命令,手动安装bridge-utils包 运行brctl show 即,virbr0网桥包含以上三个网卡,比nat模式多出一个无线网卡 4,移除宿主机相关防火墙规则 移除nat模式下做的放行udp 53端口和ip伪装规则 5,修改虚拟机网卡 修改ip为宿主机统一网段未使用ip 网关即为宿主机网关,二者一致 dns也与宿主机一致 此时宿主机与虚拟机即处于统一局域网内,并且可同时访问外网。 来源: oschina 链接: https://my.oschina.net/u/4288530/blog/4709029

通过BGP EVPN方式动态建立VXLAN隧道实现

心不动则不痛 提交于 2020-11-02 10:51:09
原文:华为官网技术支持:EVPN配置举例 组网需求 如下图的组网图所示,Router1为企业分支网关,Router2为企业总部网关,由于分支与总部之间用户的业务需求不同,则将其规划为不同网段。企业分支的PC_1与总部的PC_2终端用户所属VLAN ID分别为VLAN 10、VLAN 20。现企业希望通过分支与总部之间通过BGP EVPN方式动态建立VXLAN隧道实现用户间互通 通过VXLAN三层网关通信组网图 配置思路 采用如下思路配置不同网段用户通过BGP EVPN方式动态建立VXLAN隧道实现互通: 分别在Router1、Router2、Router3上配置路由协议,保证网络三层互通。 分别在Router1、Router2上配置VXLAN接入业务选择部署方式。 配置BGP EVPN对等体关系。 在Router1和Router2上配置源端VTEP的IP地址。 在Router1和Router2上配置VPN实例。 在Router1和Router2上配置三层网关。 在Router1与Router2之间配置BGP对邻居发布IP前缀类型的路由。 操作步骤 配置路由协议。 配置Router1。Router2和Router3的配置与Router1类似,这里不再赘述。配置OSPF时,需要发布设备上的32位Loopback接口地址。 <Huawei> system-view [Huawei]

docker网络 存储卷 Dockerfile 私有registry

我与影子孤独终老i 提交于 2020-11-02 04:56:14
1.bridge模式 docker run --name bu1 -it --network bridge --rm busybox # 相当于 docker run --name bu1 -it --rm busybox # 默认是bridge docker run --name bu1 -it --network none --rm busybox # 不给容器创建网络 docker run --name bu2 -it -h linux-bu2 --rm busybox # 设置主机名 --dns 114.114.114.114 # 自行设置dns --dns-search ilinux.io # 设置dns搜索域 --add-host www.mageedu.com:1.1.1.1 # 向容器/etc/hosts中添加主机解析 想要让外部能访问容器,添加静态路由是不实用的,因为外部的主机太多了,那么就需要将容器"发布"、"暴露"出去 docker pull nginx docker run --name myweb --rm -p 80 nginx # 映射到物理机的0.0.0.0的随机端口 docker port myweb iptables -t nat -vnL # -p选项,docker自动帮你生成dnat规则 tcp dpt:32768 to:172.17.0.2

图论复习总结

六眼飞鱼酱① 提交于 2020-10-31 03:06:43
0.格式 适用范围 算法思想 代码实现:空间申请,初始化,算法步骤,输入输出,时间复杂度 1.dijkstra算法 适用范围:图论相关,单源最短路求法,无负权边, 算法思想:bfs,贪心。不断的使用可达集合中未被使用的最短的端点信息更新到达每一个顶点最短距离信息。 代码实现: plan A:使用邻接矩阵储存边信息(不可达初始化为无穷),使用数组维护最短路信息(初始化为无穷),使用数组维护到达每个端点的路径(数组保存元素表示上一个顶点,初始化为-1),使用数组维护未被访问集合(初始化为0表示未被访问)。 输入:V,E,源点。 初始化,让源点直接相连顶点的最短距离更新为最短直接相连距离。设置源点被访问。 每一步遍历找到最短未被访问端点,记它为已访问,用它更新其他顶点的最短路信息。 输出:到每个端点的最短路。 时间复杂度:O(n^2) 代码: #include <bits/stdc++.h> using namespace std; const int maxn= 1010 ; #define typec int const typec INF = 0x3f3f3f3f ; bool vis[maxn]; int pre[maxn]; int cost[maxn][maxn]; int lowcost[maxn]; void dijkstra(typec cost[][maxn]

虚拟机上安装centos7操作系统

北城余情 提交于 2020-10-30 23:52:52
虚拟机上安装centos操作系统 1、下载centos7安装包 2、创建虚拟机 3、虚拟机配置 4、网络配置 1、下载centos7安装包 我们需要先准备好centos的镜像!官网下载会很慢,我们可以去很多国内的镜像站点下载(随便找个镜像网站下载即可)! 进入网站下载:https://mirrors.sohu.com/ 找到cenos7版本的下载! 也可以去我的网盘下载: 链接:https://pan.baidu.com/s/1CznKiRELA5Cs1USRLvISVA 提取码:y1s8 2、创建虚拟机 点击创建虚拟机 选择自定义高级,后点击下一步 出现如下图界面,点击next 找到指定位置的镜像文件,点击下一步 设置虚拟机名字和安装位置,点击下一步 出现处理器界面,直接点击下一步 给虚拟机分配多少内存,点击下一步 选择第二个(NAT) next 下一步,下一步,磁盘选择默认20.0GB,选将虚拟磁盘存储为单个文件,下一步 下一步 完成 3、虚拟机配置 启动虚拟机继续安装操作系统 选择install,按Enter键 等待系统自动操作直到出现如下选择语言界面,这里选择中文,简体中文,如下图后点击继续 等待系统操作,直到出现如下界面 在系统中选择安装位置 ,下面选择我要配置分区,然后点击完成 点击“+”按钮添加分区 划分磁盘,按照下图划分,点击完成 a) /boot:1024 MiB

计算机网络

寵の児 提交于 2020-10-30 09:04:16
网络层提供的两种服务 网络层关注的是如何将分组从源端沿着网络路径送达目的端。 在计算机网络领域,网络层应该向运输层提供怎样的服务(“面向连接”还是“无连接”)曾引起了长期的争论。 争论焦点的实质就是:在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统? 电信网:虚电路服务 ​ 虚电路表示这只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,而并不真正建立了一条物理连接。 ​ 请注意,电路交换的电话通信是先建立了一条真正的连接。因此分组交换的虚连接和电路交换的连接只是类似,但并不完全一样。 因特网:数据报服务 网络层向只提供 简单灵活的 、 无连接的 、 尽最大努力交付的 数据报服务 网络在发送分组时不需要先建立连接。每一个分组(即 IP 数据报)独立发送,与其前后的分组无关(不进行编号)。 网络层不提供服务质量的承诺。即所传送的分组可能出错、丢失、重复和失序(不按序到达终点),当然也不保证分组传送的时限。 尽最大努力交付的好处: 由于传输网络不提供端到端的可靠传输服务,这就使网络中的路由器可以做得比较简单,而且价格低廉(与电信网的交换机相比较)。 如果主机(即端系统)中的进程之间的通信需要是可靠的,那么就由网络的主机中的运输层负责(包括差错处理、流量控制等)。 采用这种设计思路的好处是:网络的造价大大降低,运行方式灵活,能够适应多种应用。

容器的网络选择实践

我与影子孤独终老i 提交于 2020-10-29 16:38:02
序言 总是有一些事儿触动你去思考,无论你愿意或者不愿意。总有一些事儿让你感触良多,有一些事总是拖延着不愿提上日程,然后突然发生,不得不提上日程。 选择摆在眼前的时候,是无视还是一种心理煎熬? 容器网络 容器的原生网络提供了三种,一种是host模式,一种bridge模式,一种则是none模式,至于第三种模式未使用过,在此掠过不谈,没有具体的使用场景。 在构建容器集群的时候,有几种选择,一种是直接在物理机上运行docker集群,一种则是在虚拟机上运行docker集群。 在选择不同的网络的时候,如果选用bridge模式,需要考虑到底层网络的连通性,从而要么使用自定义的桥接网络,要么使用其他的各种网络,主要的目的是为了跨主机网络的构建,但是当使用虚拟机构建集群的时候,可以直接使用host模式,无需考虑底层的网络,从而降低了构建网络的复杂性。 当直接在物理机上运行的时候,一般使用自定义网络,在进行和外部通信的时候,可以使用一个前端的负载均衡设备,例如nginx来进行提供相关的服务,在一种特殊的情况下,需要使用host网络。 host网络和bridge网络的本质区别在哪儿? 使用host网络的时候,主要是为了提供更大的网络IO,从而选择,在这个时候,容器和宿主机共用同一个网络栈,缺点就是可能同一台物理机上的容器可能出现网络IO争抢,发生的概率很小,毕竟现在的云环境其实也是一样的

搞定 Kubernetes 基于flannel 的集群网络

為{幸葍}努か 提交于 2020-10-29 16:26:41
一、Docker网络模式 在讨论Kubernetes网络之前,让我们先来看一下Docker网络。Docker采用插件化的网络模式,默认提供bridge、host、none、overlay、maclan和Network plugins这几种网络模式,运行容器时可以通过–network参数设置具体使用那一种模式。 bridge :这是Docker默认的网络驱动,此模式会为每一个容器分配Network Namespace和设置IP等,并将容器连接到一个虚拟网桥上。如果未指定网络驱动,这默认使用此驱动。 host :此网络驱动直接使用宿主机的网络。 none :此驱动不构造网络环境。采用了none 网络驱动,那么就只能使用loopback网络设备,容器只能使用127.0.0.1的本机网络。 overlay :此网络驱动可以使多个Docker daemons连接在一起,并能够使用swarm服务之间进行通讯。也可以使用overlay网络进行swarm服务和容器之间、容器之间进行通讯, macvlan :此网络允许为容器指定一个MAC地址,允许容器作为网络中的物理设备,这样Docker daemon就可以通过MAC地址进行访问的路由。对于希望直接连接网络网络的遗留应用,这种网络驱动有时可能是最好的选择。 Network plugins :可以安装和使用第三方的网络插件。可以在Docker

KVM——虚拟化

帅比萌擦擦* 提交于 2020-10-29 07:19:05
KVM——虚拟化 虚拟化是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。 在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统, 并且应用程序都可以在相互独立的空间内运行而互相不影响,从而显著提高计算机的工作效率。 虚拟化使用软件的方法重新定义划分 IT 资源,可以实现 IT 资源的动态分配、灵活调度、跨域共享,提高 IT 资源利用率, 使 IT 资源能够真正成为社会基础设施,服务于各行各业中灵活多变的应用需求。 虚拟化层次种类 (1) 完全虚拟化 — 最流行的虚拟化方法使用名为 hypervisor 的一种软件,在虚拟服务器和底层硬件之间建立一个抽象层。 VMware 和微软的VirtualPC 是代表该方法的两个商用产品,而基于核心的虚拟机 (KVM) 是面向 Linux 系统的开源产品hypervisor 可以捕获 CPU 指令,为指令访问硬件控制器和外设充当中介。 因而,完全虚拟化技术几乎能让任何一款操作系统不用改动就能安装到虚拟服务器上,而它们不知道自己运行在虚拟化环境下。 主要缺点是, hypervisor 给处理器带来开销。 (2)准虚拟化 — 完全虚拟化是处理器密集型技术,因为它要求 hypervisor管理各个虚拟服务器,并让它们彼此独立。 减轻这种负担的一种方法就是,改动客户端操作系统,让它以为自己运行在虚拟环境下