lxc on centos
终于把lxc的网络配通了,也不知道对不对,记一下
一开始都是雷同的地方
yum install libcgroup lxc lxc-templates
安装lxc cgroup
然后记得
chkconfig --level 345 libcgroup on把cgroup始终启动
添加一个桥
ifcfg-eth0改成如下
DEVICE="eth0"
ONBOOT="yes"
TYPE=Ethernet
IPV6INIT=no
USERCTL=no
BRIDGE=virbr0
新建一个ifcfg-virbr0,如下内容
DEVICE=virbr0
TYPE=Bridge
BOOTPROTO=static
DNS1=192.168.8.254
GATEWAY=192.168.8.254
IPADDR=192.168.8.50
NETMASK=255.255.255.0
ONBOOT=yes
重启一下桥就产生了
然后
lxc-create -n testcentos -t centos
创建一个以centos为模板的容器
然后
vi /var/lib/lxc/testcentos/config
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = virbr0
lxc.network.hwaddr = fe:7c:d6:5a:ed:10
lxc.network.ipv4 = 192.168.8.55/24
lxc.network.ipv4.gateway = 192.168.8.50
lxc.network.name = eth0
lxc.rootfs = /var/lib/lxc/testcentos/rootfs
装完了以后
cat /var/lib/lxc/testcentos/tmp_root_pass
看一下root密码
然后
lxc-start -n testcentos -d
启动容器,并且
lxc-console -n testcentos
登陆容器
登录完了以后问题来了,网络呢?这里搞了好久
sysctl net.ipv4.ip_forward=1
打开转发
然后 iptables设一条规则
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.8.55 -j MASQUERADE
这条规则有问题,一开始设的有点问题,后来改成
iptables -t nat -A POSTROUTING -o virbr0 -s 192.168.8.55 -j MASQUERADE
就没问题了,好奇怪。不懂为什么。但这里也只是保证了能访问实验室外部网络,实验室内部网络还是不通
最后在容器里ping实验室内部地址,再在virbr0上dump icmp包
tcpdump -n -i virbr0 icmp
发现压根没有包通过,然后发现容器里的路由有问题
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.8.0 * 255.255.255.0 UH 0 0 0 eth0
link-local * 255.255.0.0 U 1002 0 0 eth0
default 192.168.8.50 0.0.0.0 UG 0 0 0 eth0
也就是说所有192.168.8.0网段的ip都不需要转发直接能被访问到。这个不对,最后在
vi /var/lib/lxc/testcentos/config
里把容器的ip改为lxc.network.ipv4 = 192.168.8.55/32
并且在容器内部的/etc/sysconfig/network-scripts/ifcfg-eth0里改掉netmask
最后都能访问了。
几点疑问,为什么我在所有文档上都没看到类似的做法,大家都是直接重定向到eth0完事呢?
另外容器内部的ip设置也和别人不一样。可能别人都是再加一个子网?
无论怎么样,这个容器算是能用了,有鉴于他的出色计算性能
lxc on centos的更多相关文章
- docker是个啥?
docker 第一问:什么是容器 容器就是在一个隔离的环境中运行的一个进程.注意关键词,隔离和进程.如果进程停止,那么容器就销毁.因为具有隔离的特点,所以每个容器都拥有自己的文件系统:包括IP地址.主 ...
- Ubuntu下安装LXC手记之centos
宿主环境 Ubuntu 14.04 LTS 安装LXC $ sudo apt-get install lxc 安装完毕之后,运行lxc-checkconifg工具,检查当前Linux内核支持LXC的情 ...
- docker on centos
docker最好在centos7上安装,centos6.5上似乎麻烦不少 这里直接在centos7上安装,要提前装一下epel的repo yum install docker 安装就行 chkconf ...
- centos6.6 安装 LXC
LXC,简称Linux containers是docker基础,无奈只能先学习LXC.LXC用途就不多讲,这里只讲LXC的安装以及用途吧! LXC 需要用在内核2.6.27以上 这个可以用 uname ...
- 在RedHat/CentOS下安装Docker(不升级内核)
由于内核版本问题,最初仅Ubuntu可以较好的支持Docker.不过,由于RedHat系列OS(REHL.CentOS)是目前主流的Linux服务器操作系统,所以令RedHat系列OS支持Docker ...
- docker入门(1) Centos 7 下docker的安装
centos 7安装docker 什么是 Docker Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目.它基于 Google 公司推出的 Go ...
- 虚拟化之lxc
LXC 中文名称就是 Linux 容器工具,容器可以提供轻量级的虚拟化,以便隔离进程和资源,使用 LXC 的优点就是不需要安装太多的软件包,使用过程也不会占用太多的资源,本文循序渐进地介绍LXC的建立 ...
- 容易centos配置docker维修
首先.由于docker实施需要linux某些组件支持本身和内核特性.所以一定要确保centos版本号大于6,和内核版本号大于2.6.32-431.可轻松升级centos6到最新的版本号. sudo y ...
- CentOS 6.8下安装docker并使用
Docker是一个开源的应用容器引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.利用Linux的LXC.AUFS.Go语言.cgroup实现了资源的独立,可以很轻松的实现文件.资 ...
随机推荐
- NSDate和NSString相互转换
一.NSDate转NSString //获取系统当前时间 NSDate *currentDate = [NSDate date]; //用于格式化NSDate对象 NSDateFormatter *d ...
- 合并两个排好序的链表(c++)
#include<iostream> struct node{ int payload; node* next; node(int payload){this->payload=pa ...
- delphi7 在虚拟机 vbox里面安装失败
提示Error 1324.The path My Pictures contains an invalid character. 解决办法:新建一个文件夹,123, 设置 我的文档文件夹 目录指向 “ ...
- Javascript 处理时间大全
1. 获取从今天算起,几天后的日期 function GetDateStr(AddDayCount) { var dd = new Date(); dd.setDate(dd.getDate() + ...
- modesim测试语句
: 'd2; Reg2 <= Reg1; i <= i + 1'b1; join : 'd2; i <= i + 1'b1; join : 'd2; Reg2 <= Reg1; ...
- I/O知识
1.jdk1.4之前(jdk1.4开始提供了nio)的早起版本,java对I/O的支持并不完善,开发人员开发高性能I/O程序时,面临的问题主要有: 没有缓冲区,I/O性能存在问题 没有 ...
- 史上最强大网盘,网络上的赚钱神器【Yunfile网盘】,注册就送8元
YunFile.com,是提供在线存储和文件保存服务最大的网站之一,从2007年创立至今,我们提供免费的和您可以承受的收费服务.这些服务包括高级在线存储/远程备份服务,和先进的上传和下载工具.上百万来 ...
- 爱上WPF,努力才会有希望!
从WinForm转向WPF开发已经有两个多月了,通过不断深入地学习与运用,现在是越来越爱它了.它实在是太强大了.运用WPF,你不仅可以做Win界面,也可以很快转向Web开发,因为Silverlight ...
- awk 的一些用法
awk,我觉得是Linux里面处理文本最精妙的命令,它是一个行处理的命令,它最初级的用法是:给定一些简单的pattern,然后按照这个pattern 去搜索匹配的行.它的高级用法是用awk来编程,除了 ...
- Centos 7下搭建WordPress
1,首先安装MySQL. http://www.cnblogs.com/zyh120/p/6066983.html 2,继续安装httpd,php,php-mysql这3个服务. [root@loca ...