免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5628 | 回复: 10
打印 上一主题 下一主题

VPS就是这样做出来的。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-02-16 20:29 |只看该作者 |倒序浏览
VPS是Virtual Private Server的英文缩写(也有叫VDS的),中文意思是虚拟专有服务器,就是在一台服务器同时运行几个独立的OS(这里是指FreeBSD),有什么用处这里不详细描述了,设想一下几个用户分享一台服务器,互相之间完全独立,每个人都有root权限......。在FreeBSD下VPS通常是由Jail来实现的(据说有专门的商业软件但这里不讨论),下面就简单说一下具体步骤。

在FreeBSD下用Jail实现VPS的步骤是很繁琐的,这里我用的是一个抄来的Shell脚本(稍微改了一下)可以很方便的完成全部过程,这里先假定你的宿主系统地址是192.168.0.1,VPS的地址是192.168.0.2(alias),生成的VPS放在/home/jail下。需要注意的是:这里要实现的是VPS,要生成和宿主系统一样的整个FreeBSD目录树。如果你只是要实现一个运行某个服务的Jail不要用这个script。

另外,再提醒一下,在VPS下对于一些缺省情况下侦听所有地址的服务可能需要重新设定在某个具体的地址上。

#!/bin/sh
################################################
#
#
#  makejail
#  - Originally written in 2001 by Yann Sommer
#  - Slightly modified by MaxBSD
#
#  Creation of a new jail environment
#  for FreeBSD.
#  
#  Achtung: Tested under FreeBSD4.X only.
#
################################################

echo "First off, pls create an ip alias and hostname
echo "for the new jail system in /etc/rc.conf."
echo "eg: ifconfig_fxp0_alias0=\"inet 192.168.0.2 netmask 0xffffff\""
sleep 3

if test -z $@; then
echo "Enter destination directory for new jail:"
echo "eg: /home/jail "
read JAIL
else
JAIL=$@
fi

test ! -d $JAIL || { echo "$JAIL already exists!!"; exit 1; }

echo "Creating jail directory..."
mkdir $JAIL

echo "Making World...."
cd /usr/src
make world DESTDIR=$JAIL -DNOCLEAN
cd etc
make distribution DESTDIR=$JAIL NO_MAKEDEV=yes

echo "Making devices..."
cd $JAIL/dev
sh MAKEDEV jail
cd $JAIL
ln -sf dev/null kernel

echo "reparing initial configuration..."
touch $JAIL/etc/fstab
grep nameserver /etc/resolv.conf >; $JAIL/etc/resolv.conf
echo "jail.set_hostname_allowed=0" >;>; /etc/sysctl.conf
echo "jail.sysvipc_allowed=1" >;>; /etc/sysctl.conf
echo "inetd_flags="-wW -a 192.168.0.1" >;>; /etc/rc.conf
echo "network_interfaces=\"\"" >;>; /etc/rc.conf
echo "sendmail_enable=\"NONE\"" >;>; $JAIL/etc/rc.conf
echo "portmap_enable=\"NO\"" >;>; $JAIL/etc/rc.conf
echo "======================================================"
echo "*Mission accomplished!*"
echo
echo "To start the jail you've just created, do this command:"
echo "Substitute the IP address and hostname with your own."
echo
echo "jail /home/jail hostname 192.168.0.2 /bin/sh /etc/rc"
echo "======================================================"


FreeBSD的Jail功能目前还不算很强的,尤其是管理方面。不过幸好有一些3rd party的程序增强了这方面的功能,这里就不再讨论下去了。有兴趣的可以自己去搜索一下。

论坛徽章:
0
2 [报告]
发表于 2003-02-16 20:37 |只看该作者

VPS就是这样做出来的。

/usr/ports/sysutils/jailer
Manage FreeBSD jail startup, shutdown and console

/usr/ports/sysutils/jailutils
Several utilies for managing jails

这两个工具加上系统命令,jail的功能不就全了吗?

论坛徽章:
0
3 [报告]
发表于 2003-02-16 20:42 |只看该作者

VPS就是这样做出来的。

原帖由 "hdcola" 发表:
/usr/ports/sysutils/jailer
Manage FreeBSD jail startup, shutdown and console


>;这个我正在试。

/usr/ports/sysutils/jailutils
Several utilies for managing jails

这两个工具加上系统命令,jail的功能不就全了吗?

>;呵呵,大哥好强啊,佩服。

论坛徽章:
0
4 [报告]
发表于 2003-02-16 20:44 |只看该作者

VPS就是这样做出来的。

如果你是用的freebsd 4.7哪么要注意它的ifconfig alias有点问题,这个问题在5.0中已经解决了,我现在还记得当初cvsup后要用n多子网掩码的痛苦。

论坛徽章:
0
5 [报告]
发表于 2003-02-16 20:46 |只看该作者

VPS就是这样做出来的。

对了,我喜欢jailer
主要是感觉1.x的东东总是比0.x的要好罢

论坛徽章:
0
6 [报告]
发表于 2003-02-16 21:28 |只看该作者

VPS就是这样做出来的。

原帖由 "hdcola" 发表:
对了,我喜欢jailer
主要是感觉1.x的东东总是比0.x的要好罢


咳,早知让你来写么。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
7 [报告]
发表于 2003-02-16 21:34 |只看该作者

VPS就是这样做出来的。

good good study, day day up~~

论坛徽章:
0
8 [报告]
发表于 2003-02-16 21:35 |只看该作者

VPS就是这样做出来的。

kao 我写的话上来的版本就是xp了

论坛徽章:
0
9 [报告]
发表于 2003-02-17 09:36 |只看该作者

VPS就是这样做出来的。

不错,UP一下。

Jail已经很不错了,因为它只提供一个系统环境,更个性化的应用环境设置是要由你来定制的。


.

论坛徽章:
0
10 [报告]
发表于 2006-02-08 21:56 |只看该作者
好好学习天天向上

国内出租 jailer VPS 的么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP