zoukankan      html  css  js  c++  java
  • [zz]LXC 网络配置实例(Redhat)

    LXC为容器提供了独立的网络空间,这意味着我们可以为容器配置IP地址,MAC地址,route表等等,并通过LXC提供的几种方式连接到宿主进而连到互联网。下面介绍两种采用网桥方式连接到宿主机的配置情况。

    情况一:

    采用静态IP地址,即宿主本身的IP地址是由系统管理员手动配置的,容器的IP地址也是静态指定。

    宿主机的配置:

    vim /etc/sysconfig/network-scripts/ifcfg-eth0

    DEVICE=eth0

    ONBOOT=yes

    BOOTPROTO=none

    USERCTL=no

    BRIDGE=br0

    vim /etc/sysconfig/network-scripts/ifcfg-br0

    DEVICE=br0

    TYPE=Bridge

    BOOTPROTO=none

    ONBOOT=yes

    DELAY=0

    IPADDR=10.20.153.21

    NETMASK=255.255.255.0

    GATWAY=10.20.153.254

    然后重启网络

    service network restart

    下面来配置LXC容器

    vim net.conf

    lxc.network.type=veth

    lxc.network.flags=up

    lxc.network.link=br0

    lxc.network.ipv4=10.20.153.234/24

    lxc.network.hwaddr=4a:49:43:49:79:bd

    然后创建LXC容器

    lxc-create -n net -f net.conf

    最后就可使用LXC容器来启动应用了

    lxc-execute -n net ping 10.20.153.20

    情况二:

    采用Dhcp+NAT的方式,即宿主机的IP地址由dhcp协议自动获取,LXC容器的IP地址也通过dhcp协议获取

    宿主机配置:

    yum install libvirt

    这时机器上会多出一个virbr0的网桥,通过ifconfig就可以看到

    LXC容器的配置:

    lxc.network.type=veth

    lxc.network.flags=up

    lxc.network.link=virbr0

    lxc.network.hwaddr=4a:49:43:49:79:bd

    然后创建LXC容器

    lxc-create -n net -f net.conf

    最后使用容器启动应用,注意此时不能直接启动应用,需要先一步使用dhcp获得IP地址,可以写一个脚本来替代。比如:

    vim net.sh

    dhclient eth0

    ping xx.xx.xx.xx

    再启动容器:

    chmod +x net.sh

    lxc-execute -n net ./net.sh

    注:如果是ubuntu系统,通过apt-get 安装的lxc,不用再安装libvirt,安装好lxc后,系统会多一个lxcbr0,功能与virbr0类似

  • 相关阅读:
    C# API 大全
    也说_T、_TEXT、TEXT、L
    项脊轩志--归有光
    C# tostring()汇总
    StructLayout特性
    关于C#静态构造函数的几点说明
    C#生成DLL文件
    做.net的早晚会用到,并且网上还没有这方面的正确资料或几乎很少
    C# 实现屏幕键盘 (ScreenKeyboard)
    Microsoft .NET Native
  • 原文地址:https://www.cnblogs.com/zhangzhang/p/2494569.html
Copyright © 2011-2022 走看看