centos7 pipework使用

网卡配置文件 及 bridge的静态配置

centos7 Bridge配置

[[email protected] ~]# cd  /etc/sysconfig/network-scripts/

[[email protected] network-scripts]# vim ifcfg-ens33

  1. TYPE="Ethernet"
  2. BOOTPROTO="static"
  3. DEFROUTE="yes"
  4. IPV4_FAILURE_FATAL="no"
  5. IPV6INIT="yes"
  6. IPV6_AUTOCONF="yes"
  7. IPV6_DEFROUTE="yes"
  8. IPV6_FAILURE_FATAL="no"
  9. IPV6_ADDR_GEN_MODE="stable-privacy"
  10. NAME="ens33"
  11. UUID="44dad4b3-8c0b-4cd7-aa95-8d05168b0bcb"
  12. DEVICE="ens33"
  13. IPV6_PEERDNS="yes"
  14. IPV6_PEERROUTES="yes"
  15. IPV6_PRIVACY="no"
  16. ONBOOT=yes
  17. #IPADDR=192.168.1.151
  18. #GATEWAY=192.168.1.1
  19. #PREFIX=24
  20. #DNS1=114.114.114.114
  21. BRIDGE=br0


[[email protected] network-scripts]# vim  ifcfg-br0

  1. TYPE=Bridge
  2. BOOTPROTO=static
  3. DEFROUTE=yes
  4. PEERDNS=yes
  5. PEERROUTES=yes
  6. IPV4_FAILURE_FATAL=no
  7. IPADDR=192.168.1.151
  8. GATEWAY=192.168.1.1
  9. PREFIX=24
  10. DNS1=114.114.114.114
  11. DEVICE=br0
  12. ONBOOT=yes

注意: TYPE 为 Bridge,不是Ethernet

BOOTPROTO 为 static,需要添加 IPADD=XXXX  配置IP地址及网关

DEVICE  为设备名称

以上三项为必有项。

ONBOOT 系统启动时,是否启动。yes 启动,no 不启动。 no时需要手动启动 ifup br0

创建好网桥配置文件后,重启网络或br0

# service network restart

   #ifup br0

最好使用后者,前者会重启所有网络,由于其他网卡配置文件不正确,导致重启失败。

通过 命令查看 网桥是否存在:

   #ip a

或  # ifconfig

通过 brctl show 查看网卡是否挂载到 网桥上。

如果没有brctl  命令

yum install bridge-utils -y

[[email protected] network-scripts]# brctl show              
bridge name     bridge id               STP enabled     interfaces
br0          8000.000c295ce379           no           ens33
                                           veth1pl4004
docker0        8000.02425b035439           no           vethc4a2cc5

pipework 安装

[[email protected] ~]# yum install  git -y

[[email protected] ~]# git clone https://github.com/jpetazzo/pipework.git

[[email protected] ~]# cp -rp pipework/pipework /usr/local/bin/

[[email protected] ~]# docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

lys/v1.0            latest              efd998bd6817        2 years ago         296.9 MB

[[email protected] ~]#docker run  -itd --name="192-168-1-152"  lys/v1.0 bin/bash

[[email protected] ~]# pipework br0 192-168-1-152 192.168.1.152/[email protected]

[[email protected] ~]# docker exec -it ce8d6be241cb bin/bash

bash-4.1# ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
6: [email protected]: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue state UP 
    link/ether 02:42:ac:11:00:03 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.3/16 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:acff:fe11:3/64 scope link 
       valid_lft forever preferred_lft forever
9: [email protected]: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether 06:e8:83:82:45:5b brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.152/24 brd 192.168.1.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::4e8:83ff:fe82:455b/64 scope link 
       valid_lft forever preferred_lft forever

此时你会看到容器中新增加了一块网卡

时间: 2024-10-24 20:39:26

centos7 pipework使用的相关文章

Docker 网络之pipework 工具(3)单主机Docker容器VLAN划分

pipework不仅可以使用Linux bridge连接Docker容器,还可以与OpenVswitch结合,实现Docker容器的VLAN划分.下面,就来简单演示一下,在单机环境下,如何实现Docker容器间的二层隔离.为了演示隔离效果,我们将4个容器放在了同一个IP网段中.但实际他们是二层隔离的两个网络,有不同的广播域. 安装openvswitch 安装基础环境 [[email protected] ~]# yum -y install gcc make python-devel opens

Docker Centos7 下建立 Docker 桥接网络

为什么要让docker桥接物理网络? docker默认提供了一个隔离的内网环境,启动时会建立一个docker0的虚拟网卡,每个容器都是连接到docker0网卡上的.而docker0的ip段为172.17.0.1,若想让容器与宿主机同一网段的其他机器访问,就必须在启动docker的时候将某个端口映射到宿主机的端口上才行,例如:docker run -itd -p 22 centos.这是我们所不能接受的,想想每个应用都要绞尽脑汁的去设置端口,因为不能重复,如果应用有多端口那更是不堪设想啊.所以为了

金庸武功之“易筋经”--docker pipework 设置容器IP在宿主机网段

一.主机环境及环境准备 宿主机IP:192.168.1.107 宿主机网关:192.168.1.1 容器IP:目的是设置为192.168.1.108 关闭Selinux 设置为网卡桥接模式 关闭防火墙 yum install bridge-utils -y yum install git -y 二.安装docker 增加repo tee /etc/yum.repos.d/docker.repo <<-'EOF' [dockerrepo] name=Docker Repository baseu

pipework安装 及分配容器固定IP

OS:centos7.0 第一步: [email protected] ~]# yum -y install git 第二步: [[email protected] ~]# git clone https://github.com/jpetazzo/pipework.git 第三步: [[email protected] ~]# cp -rp pipework/pipework /usr/local/bin/ 第四步:查看images [[email protected] ~]# docker

通过pipework来固定Docker容器IP

Docker容器固定IP分配 我们在使用docker run创建Docker容器时,可以用--net选项指定容器的网络模式,Docker有以下4种网络模式: 1. host模式,使用--net=host指定. 2. container模式,使用--net=container:NAME_or_ID指定. 3. none模式,使用--net=none指定. 4. bridge模式,使用--net=bridge指定,默认设置. 默认选择bridge的情况下,容器启动后会通过DHCP获取一个地址,这可能

Docker容器学习梳理--容器间网络通信设置(Pipework和Open vSwitch)

自从Docker容器出现以来,容器的网络通信就一直是被关注的焦点,也是生产环境的迫切需求.容器的网络通信又可以分为两大方面:单主机容器上的相互通信,和跨主机的容器相互通信.下面将分别针对这两方面,对容器的通信原理进行简单的分析,帮助大家更好地使用docker.前面已经在Docker容器学习梳理--基础知识(2)这一篇中详细介绍了Docker的网络配置以及pipework工具. docker单主机容器通信 基于对net namespace的控制,docker可以为在容器创建隔离的网络环境,在隔离的

Centos7.x Docker桥接网络

基于Centos7.x构建Docker桥接网络, 配置bridge桥接网络可以直接设置网卡配置文件: 自定义桥接网络设置如下: 关掉docker0 ifconfig docker0 down 删除docker brctl delbr docker0 增加网桥br0 yum install bridge-utils brctl show #查看物理机上有哪些网桥 brctl addbr docker_new0 #自定义网桥 /etc/sysconfig/network-scripts/下,修改if

centos7下使用yum安装mysql

CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1. 下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 2. 安装mysql-community-release-el7-5.noarch.rpm包 $ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm 安装这个

Centos7.2部署.Net Core2.0 WebApi

部署前准备 1.VisualStudio2017+.netcore2.0SDK 2.Centos7.2 3.SecureCRT,Xftp(根据自己喜好) 创建WebApi项目 修改Program.cs中的BuildWebHost方法为(不改也可,core默认使用Kestrel作为Server) public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseKestrel()