[svc]linux下网桥-docker网桥

网桥和交换机

2口交换机=网桥


交换机: 工作在数据链路层,根据源mac学习(控制层),目的mac转发(数据层).

linux的网卡

vmware workstation中的桥接

参考: http://blog.daocloud.io/docker-bridge/

docker0的桥接

参考: http://blog.daocloud.io/docker-bridge/



网桥操作工具

yum install bridge-utils -y

如果需要使用网桥模式,需要关掉NetworkManager服务

systemctl stop NetworkManager
systemctl disable NetworkManager

两张网卡放在一个bro下

我们已经知道了br网卡是虚拟网桥,相当于一个交换机,可以把eth0接入 eth1接入

实现如图

方法1: 命令行配置

- 添加br0
brctl addbr br0

- 将eth0连到br0
brctl addif br0 eth0
brctl addif br0 eth1

- 清理eth0的地址-这里有点问题吧
ifconfig eth0  0.0.0.0

- 配置br0的地址
ifconfig br0 192.168.1.10 netmask 255.255.255.0 up

brctl addif br0 ath0

方法2: 持久化配置

参考: http://www.solutionsatexperts.com/how-to-create-a-bridge-interface-on-rhelcentos/

- 规划
Combine eth1 and eth2 physical interfaces and create a virtual interface br0, assign IP to it.
eth1       : No IP
eth2       : No IP

Note: eth1 and eth2 connect to same physical layer / media.
br0        – > eth1
           – > eth2

Note: br0 is a virtual interface mapped to eth0 and eth1

br0        – > 192.168.1.10
Netmask    – > 255.255.255.0
Gateway    – > 192.168.1.1
DNS        – > 8.8.8.8

- 操作步骤
Step 1:  Disable Network Manager
Step 2:  Create virtual interface br0
Step 3:  Configure Physcial interfaces eth1 and eth2
Step 4:  Restart network service and verify network settings

Step 1:  Disable Network Manager
systemctl stop NetworkManager    # 网卡开启桥接模式需要关掉NetworkManager

Step 2:  Create virtual interface br0
Add ifcfg-br0 file under /etc/sysconfig/network-script/

#vi /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.10
NETMASK=255.255.254.0
GATEWAY=192.168.1.1
DNS1=114.114.114.114
DNS2=8.8.8.8

Save & Exit(:wq)

Step 3:  Configure Physcial interfaces eth1 and eth2
vi /etc/sysconfig/network-script/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=static
ONBOOT=yes
BRIDGE=br0
TYPE=Ethernet

Save & Exit (:wq)

Step 4:  Restart network service and verify network settings
Restart the network services
# systemctl restart network

Verify network settings
# ifconfig -a

需求一台pc要通过另一台两口的linux上网

这里要理解,两个网桥之间交互数据: 查路由表(或者nat)

思路其实很简单:

  • 1.就是将虚拟出一个bridge口
  • 2.将对应的有线LAN和无线LAN都绑定在这个虚拟bridge口上,并给这个bridge口分配一个地址
  • 3.其他子网微机配置网关为bridge口的地址便可以了。
  • 4.当然,因为是设备是网关模式,路由和nat也是必须的了。
源地址转换

iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to 192.168.1.10

brctl命令


$ docker run -itd --name=b1 busybox

$ brctl show
bridge name bridge id       STP enabled interfaces
docker0     8000.0242fb188161   no      veth0a226d0

$ docker run -itd --name=b2 busybox
$ brctl show
bridge name bridge id       STP enabled interfaces
docker0     8000.0242fb188161   no      veth0a226d0
                                        vethd9de1b2

$ brctl show
show      showmacs  showstp

- 看到容器的mac地址,docker0这个交换机下接了2个
$ brctl showmacs docker0
port no mac addr        is local?   ageing timer
  1 02:42:ac:11:00:02   no         2.36

$ docker exec -it b1 ip ad
14: [email protected]: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue
    link/ether 02:42:ac:11:00:02

linux下回环口的配置

ifconfig lo 130.0.0.1  
时间: 2024-10-10 04:30:45

[svc]linux下网桥-docker网桥的相关文章

Linux下部署docker记录(1)-Volume使用

之前部署了Linux下部署docker记录(0)-基础环境安装,接下来看看Docker Volume的使用. Docker volume使用1)一个数据卷是一个特别指定的目录,该目录利用容器的UFS文件系统可以为容器提供一些稳定的特性或者数据共享.数据卷可以在多个容器之间共享.2)创建数据卷,只要在docker run命令后面跟上-v参数即可创建一个数据卷,当然你也可以跟多个-v参数来创建多个数据卷,当创建好带有数据卷的容器后,你就可以在其他容器中通过--volumes-froms参数来挂载该数

在Kali linux下使用docker配置sqli-labs(国内源的配置和系统软件更新)

本篇blog导航: ~前言 ~第一步:在安装好的kali配置国内源 ~第二步:安装docker ~第三步:docker下安装sqli-labs ~写在最后. 前言: 最近闲来无事,在闯关sqli-labs,但是在less-26之后,遇到了Windows+apache环境下编码的问题,导致闯关不能愉快的进行. 为了解决这一问题,我选择在Kali linux下使用docker配置sqli-labs.话不多说,下面进入正式环节. 我使用了两台虚拟机,一台是kali linux,另一台是Windows

linux下brctl配置网桥

原文:http://zhumeng8337797.blog.163.com/blog/static/1007689142011643834429/ 先装好网卡,连上网线,这是废话,不用说了.然后开始! 设置linux让网桥运行    配置网桥我们需要让linux知道网桥,首先告诉它,我们想要一个虚拟的以太网桥接口:(这将在主机bridge上执行,不清楚的看看测试场景)[email protected]:~> brctl addbr br0其次,我们不需要STP(生成树协议)等.因为我们只有一个路

Linux下使用docker 拉取 vsftpd 镜像搭建 Ftp 服务器,连接 Ftp 时遇到的错误(425 Failed to establish connection)

Ftp踩坑系列: Linux上的ftp服务器 vsftpd 之配置满天飞--设置匿名用户访问(不弹出用户名密码框)以及其他用户可正常上传 ftp服务器Serv-U 设置允许自动创建不存在的目录 FTP协议的粗浅学习--利用wireshark抓包分析相关tcp连接 一.前言 出现这个问题,在docker这类容器出现之前,原因可能是防火墙的问题: FTP服务器一般默认使用被动模式,即,客户端一般会和服务端的21端口建立连接,该连接用来传输命令.真正传输数据时,服务端会返回一个随机端口,告诉客户端新建

Linux下安装Docker

查看官网 CentOS下的安装 需要的最低的内核版本 $ uname -r3.10.0-229.el7.x86_64 更新yum vi /etc/yum.conf 在[main]的最后添中 exclude=kernel*exclude=centos-release* 更新 sudo yum update 添加yum库: 执行以下命令 sudo tee /etc/yum.repos.d/docker.repo <<-'EOF' [dockerrepo] name=Docker Repositor

[日常] Linux下的docker实践

1.Linux 发展出了另一种虚拟化技术:Linux 容器(Linux Containers,缩写为 LXC) 2.Linux 容器不是模拟一个完整的操作系统,而是对进程进行隔离 3.Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口 4.Docker 是服务器----客户端架构.命令行运行docker命令的时候,需要本机有 Docker 服务 curl -sSL https://get.docker.com/ | sh service docker start 5.Do

Linux下的docker

Docker 什么是docker? docker最初是dotcloud公司创始人 solomon Hykes 在法国期间发起的一个送死内部项目, 于2013年3月初以Apache2.0授权协议开源, 主要项目代码在GitHub上进行维护. docker使用的Google公司推出的Go语言进行开发实现. docker是linux容器的一种封装, 提供简单易用的容器使用接口. 它是最流行的Linux容器解决方案. docker的接口相当简单, 用户可以方便的创建和销毁容器. docker将应用程序与

linux 下安装docker

一.安装与配置 1.安装依赖包 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 2.设置阿里云镜像源 sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 3.安装 Docker-CE 重建 Yum 缓存. 安装 Docker-CE ,请执行一下命令进行安装: sudo

Linux 下的 Docker 安装与使用

一.安装与配置 1.安装依赖包 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 2.设置阿里云镜像源 sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 3.安装 Docker-CE 重建 Yum 缓存. 安装 Docker-CE ,请执行一下命令进行安装: sudo