为了方便小白自己搭建,此教程只写明步骤以及部分代码说明。
1.系统推荐使用Ubuntu 14.04 LTS x86 Minimal ,VPS 的 Panel 里打开 TUN/TAP 功能(搬瓦工默认开启的)
2.下载文件并解压并进入目录
apt-get -y install wget
wget --no-check-certificate https://github.com/huya1121/gfw-pac/raw/master/alpine_16m.tgz && tar -xzvf alpine_16m.tgz && cd alpine_16m
3.# 安装 uml 的包
apt-get update
apt-get install uml-utilities
4.创建一个bash来运行UML,开机后运行一次即可(注意每次重启vps,都必须运行一次./start.sh,添加开机自启动后不需要执行了。)
1.cd ~ && vi start.sh
粘贴以下内容:
#!/bin/bash
#为 uml 创建一个虚拟网口
ip tuntap add tap0 mode tap
ip addr add 10.0.0.1/24 dev tap0
ip link set tap0 up
# 打通 uml 和 host 之间的网络
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -o venet0 -j MASQUERADE
#转发 host 的 30022 端口到 uml 的SSH方便以后管理,此端口是SSH连接管理UML的端口,可以通过修改/etc/init.d/dropbear 里面的端口为自己自定义的端口,修改后,下面一行代码端口30022也要做相应的修改。
iptables -t nat -A PREROUTING -i venet0 -p tcp --dport 30022 -j DNAT --to-destination 10.0.0.2
#转发 host 的 38388 端口到 uml 的 55-libev, 55端口、密码可以在 uml 里的 /etc/sxxxxx-libev/config.json 文件里修改 如果修改了$$端口号,下面对应的--dprot 38338也要修改成对应数值。
iptables -t nat -A PREROUTING -i venet0 -p tcp --dport 38388 -j DNAT --to-destination 10.0.0.2
iptables -t nat -A PREROUTING -i venet0 -p udp --dport 38388 -j DNAT --to-destination 10.0.0.2
#运行UML(建议能分配多一点就分配多一点。mem=64M即可分配64M )
cd ~/alpine_16m && nohup ./vmlinux ubda=alpine_16m rw eth0=tuntap,tap0 mem=16M > /dev/null &
2.chmod +x start.sh
./start.sh
即可,会提示"nohup: redirecting stderr to stdout",表示运行成功。然后通过设定的uml端口号(本bash中的端口号是30022)连接uml修改UML的root密码,密码一定要改!!!!,ssh监听端口,$$端口密码等。。。修改完记得修改start.sh中相应的端口即可。
添加开机自动启动:
1.安装screen(有些系统已经安装,不用安装。)
apt-get -y install screen
2.在/etc/rc.local的exit 0 上面添加一行代码即可:(/root/start.sh为start.sh文件的路径,如果你放在不同地方,请先确认文件路径)
/bin/su root -c "/usr/bin/screen -dmS vmlinux bash -c '/root/start.sh; exec bash'"