Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5760435
  • 博文数量: 675
  • 博客积分: 20301
  • 博客等级: 上将
  • 技术积分: 7671
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-31 16:15
文章分类

全部博文(675)

文章存档

2012年(1)

2011年(20)

2010年(14)

2009年(63)

2008年(118)

2007年(141)

2006年(318)

分类: LINUX

2008-03-03 16:20:12

    UML安装配置指南
Wang Yao [wangyao@cs.hit.edu.cn]
2008.03.02

注:这里用Host代表本地主机,UML代表UML虚拟机。
############################################
安装UML
############################################
我们选择最新的2.6.24内核
1.编译UML内核
Host# make defconfig ARCH=um
Host# make menuconfig ARCH=um
Host# make ARCH=um
Host# make modules ARCH=um
如果出现错误:
Host# make mrproper
Host# make mrproper ARCH=um
清理一下

2.构建root文件系统
我们比较懒,直接到[]下载现成的文件系统
Debian-4.0/Debian-4.0-x86-root_fs.bz2

3.安装模块
Host#  mount -o loop Debian-4.0-x86-root_fs root_fs
Host# make _modinst_
MODLIB=$ROOTFS_MOUNTED_DIR/lib/modules/linux-2.6.24
ARCH=um
或者是
Host# make modules_install INSTALL_MOD_PATH=/uml/root_fs ARCH=um

Host# chroot $ROOTFS_MOUNTED_DIR
#/sbin/depmod -ae 2.6.24


############################################
hostfs设置
############################################
1.编译内核的时候,选择上hostfs模块
UML-specific options --> Host filesystem
2.在UML中mount
UML# mkdir -p /host
挂载Host的整个跟分区到UML的/host中
UML# mount none /host -t hostfs
或者是挂载Host中某一个用户的目录到UML的/host中
UML# mount none /host -t hostfs -o /home/user

可以修改/etc/fstab配置文件,实现自动挂载
none            /host           hostfs  defaults        1       1


############################################
网络设置
############################################
1.在Host安装uml-utilities
Host# apt-get install uml-utilities
2.启动的时候指定UML的eth0
Host# ./linux ubd0=/uml/Debian-4.0-x86-root_fs mem=128M eth0=tuntap,,,192.168.1.11 umid=ubuntu
或者是等UML虚拟机启动之后,进行设置
host% uml_mconsole umid eth0=tuntap,,,192.168.0.254  <--- 测试没有成功

也可以修改系统网络配置文件:
1>直接在Host的/etc/network/interfaces中修改
auto tap0
iface tap0 inet static
address 192.168.1.11
netmask 255.255.255.0
tunctl_user username

说明:此处添加的是静态ip地址,你可以根据自己的需要设置。username是指可以启动tunctl的用户,当然是填自己的用户名了。
2>配置/etc/default/uml-utilities文件使uml_switch连接到此接口。
也就是在此配置文件中添加
UML_SWITCH_OPTIONS="-tap tap0"行。
3>启动 tap0接口:
引用:
Host# /sbin/ifup tap0
4>重新启动uml守护进程:
Host# /etc/init.d/uml-utilities restart

3.UML虚拟机启动之后,设置UML的IP
UML-Debian:~# ifconfig eth0 192.168.1.111
* modprobe tun
* ifconfig tap0 192.168.1.11 netmask 255.255.255.255 up
* bash -c echo 1 > /proc/sys/net/ipv4/ip_forward
* route add -host 192.168.1.111 dev tap0
* bash -c echo 1 > /proc/sys/net/ipv4/conf/tap0/proxy_arp

注意:这里取得IP是192.168.1.11,跟Host网段可以一致也可以不一致。
如果网段一致,那么UML相当于本地网络中一个独立的主机;如果不一致的话,可以设置成NAT,将Host和UML设置成一个网络。

下面我们是采用NAT方式进行设置的,采用桥接的话,修改默认路由
3.如果想跟外部网络通信的话,必须添加UML的默认路由:
UML# route add default gw 192.168.1.11

UML-Debian:~# route add default gw 192.168.1.11
UML-Debian:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
default         192.168.1.11    0.0.0.0         UG    0      0        0 eth0

4.如果不方便将UML主机作为本地网络的一个独立主机的话,可以将UML跟Host设置成NAT
Host# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

5.接下来设置DNS服务器:
UML-Debian:~# cat /etc/resolv.conf
# insert your own settings here!
nameserver 202.118.224.101

测试一下网络
UML-Debian:~# traceroute 202.118.250.19
traceroute to 202.118.250.19 (202.118.250.19), 30 hops max, 40 byte packets
 1  192.168.1.11 (192.168.1.11)  12.543 ms  0.204 ms  0.146 ms
 2  10.0.0.1 (10.0.0.1)  1.893 ms  1.017 ms  1.003 ms
 3  202.118.233.254 (202.118.233.254)  6.998 ms  2.012 ms  1.212 ms
 4  202.118.168.211 (202.118.168.211)  1.383 ms  1.445 ms  1.515 ms
 5  202.118.250.19 (202.118.250.19)  1.491 ms  1.382 ms  1.304 ms
UML-Debian:~# ping -c3
PING (202.118.224.25) 56(84) bytes of data.
64 bytes from (202.118.224.25): icmp_seq=1 ttl=60 time=1.32 ms
64 bytes from (202.118.224.25): icmp_seq=2 ttl=60 time=1.21 ms
64 bytes from (202.118.224.25): icmp_seq=3 ttl=60 time=1.26 ms

--- ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2013ms
rtt min/avg/max/mdev = 1.215/1.268/1.322/0.052 ms


############################################
参考文献
############################################


(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)


阅读(2247) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~