no comments yet
02 Sep 2014

Debian服务器开小鸡(VPS)教程

在hostloc混的日子看到了若干oneman IDC的诞生和死亡,但每次有人试图进入oneman IDC这个行业,但不知道怎么在独服上开VPS,然后发贴求教各个IDC的的时候,各个oneman就不做声了。

前一阵入手一个廉价的OVH独服,每月只有区区十几刀,比最便宜的Linode还便宜。虽然线路不咋地,但贵在便宜而且不用担心各种PT党邻居。

Google一下openvz的资料然后简单在Debian系统上开始弄,相对来说openvz还是比较简单。最便宜的OVH只有2G内存,而且并非为了当真做IDC,所以就直接命令行操作,没有搭配额外的面板了。

首先,安装一个新的Debian操作系统

分区方案:
/tmp 2G (仅用作临时文件) ext3/ext4
/var Max (虚拟机) ext3/ext4
/home 20G (大型网站,试图增大这个log) ext3/ext4
/usr 5G (软件) ext3/ext4
/swap 5G (swap) / 1G
(根目录) ext3/ext4

因为openvz默认虚拟机目录是/var/lib/vz/,所以非/var目录分配了尽可能多的空间。幸亏OVH重装操作系统直接可以web操作而且不收费……

然后开机,安装grub2和openvz组件

apt-get install grub2
apt-get install linux-image-openvz-686 vzctl vzquota vzdump

设置openvz核心为默认启动

vi /boot/grub/grub.cfg

找到set default="0"修改为set default="1"

修改内核

cat >>/etc/sysctl.conf<<EOF
net.ipv4.conf.all.rp_filter=1
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.default.forwarding=1
net.ipv4.conf.default.proxy_arp = 0
net.ipv4.ip_forward=1
kernel.sysrq = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.eth0.proxy_arp=1
EOF

然后执行sysctl -p使内核生效,然后输入reboot重启服务器

下载openvz操作系统模板(依然使用Debian为例,俺是Debian粉)

cd /var/lib/vz/template/cache/
wget http://download.openvz.org/template/precreated/contrib/debian-6.0-i386-minimal.tar.gz

创建vps,设置hostname等

#创建id为33的VPS
vzctl create 33 --ostemplate debian-6.0-i386-minimal --config basic
#设置hostname
vzctl set 33 --hostname test.com --save
#设置IP
vzctl set 33 --ipadd 192.168.1.33 --save
#设置socket数
vzctl set 33 --numothersock 120 --save
#设置DNS
vzctl set 33 --nameserver 208.67.220.220 --nameserver 208.67.222.222 --save
#VPS开机
vzctl start 33
#进入vps,这时候和直接用root用户登录vps没有什么区别了
vzctl enter 33

后续收尾
因为OVH这款服务器只有一个IP,虽然之前给VPS绑定了一个1.33的内网IP,但这时候这个VPS是不能直接访问外网的,需要在服务器上执行:

iptables -F -t nat
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 服务器的外网IP

设置一下路由转发,这样VPS就可以连通外网了。