网桥

centos 6.4 x86_64 yum上安装xen 4.2.2

心已入冬 提交于 2019-12-01 12:17:14
一.准备系统环境 1.下载kernel-xen repo镜像 wget http: //us3 .mirror.crc. id .au /el6/x86_64/kernel-xen-release-6-6 .noarch.rpm rpm -ivh kernel-xen-release-6-4.noarch.rpm 2 安装xen 内核及其相关软件 yum install -y xen kernel-xen xen-libs python-virtinst bridge-utils reboot 关闭selinux 这是必须关闭的,要不会因为selinux的安全机制导致xen无法正常工作。 编辑selinux配置文件 vi /etc/sysconfig/selinux 修改为如下: # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is

【转】Linux添加虚拟网卡

喜欢而已 提交于 2019-12-01 09:55:23
转自:https://blog.csdn.net/hzhsan/article/details/44677867 有时候,一台服务器需要设置多个ip,但又不想添加多块网卡,那就需要设置虚拟网卡.这里介绍几种方式在linux服务器上添加虚拟网卡. 我们向eth0中添加一块虚拟网卡: 第一种方法:快递创建\删除虚拟网卡 sudo ifconfig eth0:0 192.168.10.10 up 以上的命令就可以在eth0网卡上创建一个叫eth0:0的虚拟网卡,他的地址是:192.168.1.63 如果不想要这个虚拟网卡了,可以使用如下命令删除: sudo ifconfig eth0:0 down 重启服务器或者网络后,虚拟网卡就没有了. hzhsan:但是发现添加的虚拟网卡和原网卡物理地址是一样的。 第二种方法:修改网卡配置文件 在ubuntu下,网卡的配置文件是/etc/network/interfaces,所以我们修改它: sudo vim /etc/network/interfaces 在这个文件中增加如下内容并保存: auto eth0:0 iface eth0:0 inet static address 192.168.10.10 netmask 255.255.255.0 #network 192.168.10.1 #broadcast 192.168.1.255 保存后

network + open vswitch / xunijiaohuanji / Open Virtual Switch

被刻印的时光 ゝ 提交于 2019-12-01 08:05:27
s http://www.openvswitch.org What is Open vSwitch? Open vSwitch is a production quality, multilayer virtual switch licensed under the open source Apache 2.0 license. It is designed to enable massive network automation through programmatic extension, while still supporting standard management interfaces and protocols (e.g. NetFlow, sFlow, IPFIX, RSPAN, CLI, LACP, 802.1ag). In addition, it is designed to support distribution across multiple physical servers similar to VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V. See full feature list here open vswitch https://www.jianshu.com/p

Linux网桥端口的arp问题

爷,独闯天下 提交于 2019-12-01 04:55:02
Linux的brctl addif命令可以将一个接口加入到既有的网桥中,接下来,这个接口就成了brport,属于一个从属的接口,然而你还是可以看到它的,并且可以为它添加IP地址,然后route命令会显示出它的新添加的IP地址的链路层路由已经生效,种种迹象都让人觉得这个brport仍然保有IP语义,然而如果此时你使用该IP(Linux内核会做源地址选择)去访问同一网段的其它地址的话,就会发现,不通,反过来从其它同一网段的地址访问该地址也是不通的,原因何在?听我分解。 网络不通的话,一般第一步是通过抓包来分析,发现是在arp这一步出问题的,arp是IPv4的生命源,arp出了问题,什么都别扯了!懂Linux网络实现的家伙们其实早就知道为何出错了,因为作为从属接口brport,它的一切都要被网桥接口接管,包括arp,也就是说arp期望的接口信息都是关于网桥接口的而不是基于brport的。总的来说是这样的。 IP地址配置在物理接口brport上,因此链路层路由显示的出口设备就是该brport,发送数据的时候,arp逻辑会将目标IP-Mac映射记录在该brport门下,然而arp回来的时候,网桥接口接收了它,内核发现网桥接口门下没有任何待解决的arp请求,因此丢弃之,因此根本不可能从本机访问和配置在brport上IP在同网段的任何目标。反过来也一样,arp请求从其它机器过来,被网桥接口接收

记一次linux Docker网络故障排除经历

故事扮演 提交于 2019-11-30 19:17:58
背景:   之前做了一个项目,需要在容器内访问宿主机提供的Redis 服务(这是一个比较常见的应用场景哈), 常规方案: ① 主机网络(docker run --network=host): 完全应用主机网络堆栈,在容器内localhost就是指向宿主机 ② 网桥网络(docker run --network=bridge): 这也是docker容器默认的网络通信模式,容器内localhost 指向的是容器自身,不能使用 localhost 访问宿主机上localhost:6379承载的Redis服务 。 docker会默认建立docker0 网桥; 网桥有一个网关ip, 有一个子网段; 网桥内容器从子网段中确定容器ip( ip addr eth0), 网桥内容器可通过 service name相互访问; 网桥内容器通过 docker0 Getway得以访问外网。 我们不做骚操作,肯定还是沿用常见的②网桥模式, 第一步:自定义网桥: docker network create --gateway 172.16.1.1 --subnet 172.16.1.0/24 app_bridge 为啥不适用默认docker0网桥? 本文开头说了, docker0 是默认网桥,新建的容器默认都会加入这个网桥,所以我们需要建立一个专属于本程序的网桥app_bridge 第二步

Docker网络模型

丶灬走出姿态 提交于 2019-11-30 09:47:11
Docker容器技术基于Linux Container实现的。在Linux Container中,包含用于隔离进程的Namespaces。在众多Namespace技术里,存在一个Network Namespace,每个被Network Namespace隔离的空间都拥有自己的网络设备、IP地址、路由表、防火墙、网络配置、端口表等,Docker正是借助这个东西实现了对容器网络的隔离。 那么具体实现呢: Namespace仅仅实现了网络的隔离,然而我们容器是需要与外界进行信息交流的。那么就由此出现了 虚拟网卡 veth-pair设备,这个设备是个虚拟网络通道,并且是成对出现的,用于连接两个网络终端: 但是我们宿主机运行的不止一个容器,要实现众多容器之间的通信,就要利用Bridge,网桥。Docker利用Bridge把veth-pair设备的一端全部连接在Bridge所构成的交换机中,把容器连接不同外部网络的任务通过veth-pair转移到了Bridge上。 默认Docker会创建一个docker0的虚拟网桥,连接在同一个网桥上的容器可以互相通信。通过ifconfig命令查看 当启动容器,宿主机执行ifconfig会成对出现veth*: 总结一下: Network Namespace :实现了网络资源的隔离。 Veth Pair :打通了网络隔离环境的数据传输通道。在Docker中

如何在 Ubuntu 上搭建网桥

谁说胖子不能爱 提交于 2019-11-30 06:03:49
网桥化的网络示例 图 01: Kvm/Xen/LXC 容器网桥示例 (br0) 在这个例子中,eth0 和 eth1 是物理网络接口。eth0 连接着局域网,eth1 连接着上游路由器和互联网。 安装 bridge-utils 使用 apt-get 命令安装 bridge-utils: $ sudo apt-get install bridge-utils 或者 $ sudo apt install bridge-utils 样例输出: 图 02: Ubuntu 安装 bridge-utils 包 在 Ubuntu 服务器上创建网桥 使用你熟悉的文本编辑器修改 /etc/network/interfaces 例如 vi 或者 nano : $ sudo cp /etc/network/interfaces /etc/network/interfaces.bakup-1-july-2016 $ sudo vi /etc/network/interfaces 接下来设置 eth1 并且将它映射到 br1 ,输入如下(删除或者注释所有 eth1 相关配置): ### br1 使用静态公网 IP 地址,并以 ISP 的路由器作为网关 auto br1 iface br1 inet static address 208.43.222.51 network 255.255.255.248

精通企业网络当中网红设备---交换机switch

余生长醉 提交于 2019-11-29 22:07:20
Hub设备、网桥、二层交换机设备概述 Hub(集线器) 工作原理:不是一个智能设备 从一个接口收到一份数据,就从其他接口广播出去,Hub设备没有任何表项信息 优点:便宜,操作简单 缺点:共享型,无法满足多人同时访问,整个设备就是一个冲突域,Hub工作在半双工模式下,在TCP/IP模型里面的物理层,目前基本淘汰出市场 什么是冲突域? 冲突域:在任意时刻,同一个冲突域中,只能有一台机器在发送数据,这个冲突域内的机器都会受到发送的内容,接不接受取决于是不是目的主机 CSMA/CD技术 用来解决冲突域的问题 接入设备越多冲突机率越大 用CSMA/CD(载波侦听多路访问/冲突检测)技术 半双工模式下通信双方必须采用CSMA/CD机制来避免冲突 网桥 工作原理:网桥是工作在数据链路层的设备,能隔离冲突域,也就是说网桥的每个端口都对应一个冲突域 网桥设备有MAC地址表表项 比如网桥1的端口1,连接的主机MAC1和MAC2就构成了一个网段),任意一台机器发送消息,该网桥和这个网段上的所有机器都会收到消息,例如 MAC1发送消息“小老弟”,那么MAC2和网桥1都会收到包含该信息 网桥的工作行为 H1主机想要和H5主机通信: 首先,网桥1和网桥2的转发表都是空的,当H1发送消息时,它的整个冲突域都会收到,所以网桥1必然会收到H1发送的帧,网桥1记忆力不好(脑子瓦特了),但它想记住一切新鲜的事物

linux之网络命令

拟墨画扇 提交于 2019-11-29 21:41:57
本文整理了在实践过程中使用的 Linux网络工具,这些工具提供的功能非常强大,我们平时使用的只是冰山一角,比如lsof、ip、tcpdump、iptables等。 本文不会深入研究这些命令的强大用法,因为每个命令都足以写一篇文章,本文只是简单地介绍并辅以几个简单 demo实例,旨在大脑中留个印象,平时遇到问题时能够快速搜索出这些工具,利用强大的man工具,提供一定的思路解决问题。 1、ping 使用这个命令判断网络的连通性以及网速,偶尔还顺带当做域名解析使用(查看域名的 IP): ping www.baidu.com 默认使用该命令会一直发送 ICMP包直到用户手动中止,可以使用-c命令指定发送数据包的个数,使用-W指定最长等待时间,如果有多张网卡,还可以通过-I指定发送包的网卡。 小技巧 : 在ping过程中按下ctrl+|会打印出当前的summary信息,统计当前发送包数量、接收数量、丢包率等。 其他比如 -b发送广播,另外注意ping只能使用ipv4,如果需要使用ipv6,可以使用ping6命令。 2、netstat 这个命令用来查看当前建立的网络连接 (深刻理解netstat每一项代表的含义)。最经典的案例就是查看本地系统打开了哪些端口: netstat -lnpt netstat能够查看所有的网络连接,包括unix socket连接,其功能非常强大。 另外使用

Kubernetes网络之Flannel工作原理

走远了吗. 提交于 2019-11-29 08:10:59
目录 1、Docker网络模式 1.1 bridge网络的构建过程 1.2 外部访问 2、Kubernetes网络模式 2.1 同一个Pod中容器之间的通信 2.2 不同Pod中容器之间的通信 2.3 Flannel在K8S中运行的整体过程 2.4 数据传递过程 1、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地址