生命不息
折腾不止

教程:手把手教你OpenVZ下部署UML,启用BBR,为你单边加速 by allient neko (2.26更新32位系统的内核与rootfs档)

本教程、 UML 镜像文件由 91yun 电报群群友 @allient neko 制作!特别感谢!为了尊重原作者,我们采取繁体中文发布!本人在 Debian 8 64 位下的 OpenVZ 测试成功( 2.6.32-042stab116.2 内核)。

有问题的朋友请尽量移步论坛: bbs.91yun.org ,在那边你可以得到更多网友和作者的回复!

UML 环境下的内核:

请在部署 UML 前仔细阅读主机商的 Terms of Service 和 Acceptable Usage Policy ,以防被封禁主机,由此带来的损失由读者本人承担。 树立国人良好形象,切勿随意争议。

前言

首先要提醒一下 如果本身自己的 OpenVZ 太低配的話,那麼 user-mode linux 跑起來會很艱難:最少 512MB RAM 以上才考慮吧, ( 91yun 小编注:评论里有访客反馈在 128M 的 NAT 上也跑起来了) 建議配置是 1G RAM 。因為現時 user-mode linux 不支援多核心處理,所以 CPU 數量一個就夠了

user-mode linux 相等放在 VPS 上開一台小小的 virtual machine ,不過不建議用這台 virtual machine 放一些重要的資料,畢竟 user-mode linux 只是設計用來測試新 kernel 的功能,論穩定度還是沒有正常系統好

先去 control panel 打開 TUN/TAP 的功能,如果是 SolusVM 的話通常 setting 就可以看到 TUN/TAP 的設定

前置安裝

apt-get install e2fsprogs uml-utilities screen

Host OpenVZ 準備網路:以下都要在 sudo 下進行

ip tuntap add tap0 mode tap 
ip addr add 10.0.0.1/24 dev tap0 
ip link set tap0 up 
iptables -P FORWARD ACCEPT 
iptables -t nat -A POSTROUTING -o venet0 -j MASQUERADE

設置 packet forwarding

先留下 port 22 給自己作為 ssh 連線之用

iptables -t nat -A PREROUTING -p tcp --dport 22 -j RETURN

接下來其餘的 traffic 都可以交給即將出現的子系統

iptables -t nat -A PREROUTING -i venet0 -j DNAT --to-destination 10.0.0.2

如果不想把所有 port 都交給子系統的話,可以這樣:

iptables -t nat -A PREROUTING -i venet0 -p tcp --dport 10000:20000 -j DNAT --to-destination 10.0.0.2
iptables -t nat -A PREROUTING -i venet0 -p udp --dport 10000:20000 -j DNAT --to-destination 10.0.0.2

把 10000 到 20000 交給子系統 其他保留給 Host

可以離開 sudo 了,下載預先設定好的内核,然后解壓縮

wget http://soft.91yun.org/uml/32/uml.tar.xz #32 位系统下载该压缩包 
wget http://soft.91yun.org/uml/64/uml.tar.xz #64 位系统下载该压缩包 
tar xvJf uml.tar.xz
cd uml # 即最新版本解压的文件夹,注意看上一行解压缩的路径 

解压缩开的內有兩個是文件:一個是 vmlinux (kernel) ,一個是 rootfs (filesystem image) ,而整個最簡單系統就是放在 rootfs 內,這個系統為了方便,已經設定好網路設定,想要改的話只要打開 /etc/network/interfaces 就好。

因為 rootfs 一開始只有 300MB 放了系統就幾乎沒容量,先擴大 image 的容量吧:

resize2fs rootfs 5G

不一定是 5G ,可以換成你喜歡的大小。有的时候要运行下 e2fsck -f rootfs

打開 user-mode linux

./vmlinux ubda=rootfs eth0=tuntap,tap0 mem=256m

256m 是分配給 user-mode linux 的 RAM 大小,如果要跑梯子的話,還是建議有 256m 為佳,這就是為什麼會建議有 1GB RAM 的原因,如果分配太多 RAM 給 user-mode linux ,那麼 Host 就跑不動了,但如果分配太少 RAM 給 user-mode linux ,那麼 user-mode linux 就會很容易當機。

打開後先等一下,等到出現以下的內容

Virtual console 3 assigned device '/dev/pts/1'
Virtual console 4 assigned device '/dev/pts/2'
Virtual console 5 assigned device '/dev/pts/3'
Virtual console 6 assigned device '/dev/pts/4'
Virtual console 2 assigned device '/dev/pts/5'
Virtual console 1 assigned device '/dev/pts/6'

 

/dev/pts/X 就是 user-mode linux 放 virtual console 的地方,隨便記下來一個,這個 terminal 先不要關( 91yun 小编注:如果想关掉 ssh 后继续保持 uml 的运行,请看下面 tips 的第二条。
打開新的 terminal 開新的 ssh 到機器

screen /dev/pts/1

這時應該是發現 terminal 什麼都沒有,只要按一下 Enter ,就會出現登入提示了
login 是 root
而密碼是 91yun.org
在登入之後記得要改密碼

在進入之後會發現 …. 這個系統真的什麼都沒有,連 python 都沒有!這樣連 SSR 也跑不起來呀!
不過可以先跑一下指令

sysctl net.ipv4.tcp_available_congestion_control

看到以下這段就代表有 BBR 了

net.ipv4.tcp_available_congestion_control = bbr reno cubic highspeed

不論是怎樣還是先 update 一下 apt 吧

apt update

如果要快速測試,可以先安裝 V2Ray 比較快捷

V2Ray 可以作為多功能平台使用,使常用的 shadowsocks 也包含其中
這邊有關於 v2ray 的教程 https://toutyrater.github.io/v2ray-guide-pages/
可以把 SS 開起來使用

apt install curl zip unzip
bash <(curl -L -s https://install.direct/go.sh)
systemctl start v2ray

打開 /etc/v2ray/config.json ,很快就可以看到

  "inbound": {
    "port": 20722,
    "protocol": "vmess",
    "settings": {
      "clients": [
        {
          "id": "b4b413e4-24b9-4bc9-95a6-93f4bef419bc",
          "level": 1,
          "alterId": 64
        }
      ]
    }

當中 20722 就是 port , id 是密碼

如果想要用 SSR 的話
那可能要耐心一點
把 python git 等等先安裝好

要離開的話 user-mode linux 的話
按 ctrl-a d
就可以離開了
要再進去的話就用
screen -r

這樣就會例出所有 Detached 的 screen
例如 :

There are several suitable screens on:
1007.pts-7.localhost (02/24/17 10:59:14) (Detached)

這時只要用

screen -r 1007.pts-7.localhost

就可以重新進入到離開的 screen 。如果想要關掉 user-mode linux 的話,建議還是用 screen 進入到 user-mode linux ,用 shutdown now 去關掉,不建議在 host 上用 kill 把 uml process 關閉,因為這等同於 hard shutdown

tips:

1. 暫時 user-mode linux 並沒有多核心支援,所以就算 host 有多於一個核心也不會對 user-mode linux 有影響
2. 利用

nohup ./vmlinux ubda=rootfs eth0=tuntap,tap0 mem=256m &disown

可以把 user-mode linux 放到背景,只要用

tail ./nohup.out
就可以看到 user-mode linux 的輸出
3. 沒錯 一台 VZ 可以開多台 user-mode linux ,不過如果本身機器不夠強,就不要亂試了。
4. 可以為 user-mode linux 安一個 openssh ,那麼就可以由 Host 上傳文件到 user-mode linux 了, user-mode linux 也可以連回去 host 拿文件

完成!作者另外给了几篇文章,对于折腾党,可以看看:

怎樣從零開始蓋 uml 不過只有 KVM 這種有 loop dev 的 才可以用!

https://github.com/PeterCxy/typeblog.net/blob/master/posts/how-did-i-share-aliyun.md

https://gist.github.com/gaoyifan/d38559fd50dd8a01ec8ed1fb4c0ab614

最后,再次感谢 91yun 电报群群友 @allient neko !

并送上一个部署了 BBR 后,辣鸡机房(亚特兰大 Colocrossing 机房)看 1080p 的照片。

赞(2)
未经允许不得转载:91云(91yun.co) » 教程:手把手教你OpenVZ下部署UML,启用BBR,为你单边加速 by allient neko (2.26更新32位系统的内核与rootfs档)

留言 205

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #0

    ./vmlinux ubda=rootfs eth0=tuntap,tap0 mem=256m,我按照这个命令创建了256m后,感觉太小了一点,请问如何增加这个RAM呢?

    binghe5年前 (2018-12-06)回复
  2. #0

    虚拟机的网络需要单独配置吗?我打开后发现没有联网…

    irain7年前 (2017-06-06)回复
  3. #0

    你好,想问下UML装了bbr后就只要设置了相应的iptables端口转发到UML的端口就能加速vps主机上的所有服务吗?还是UML只能加速安装在UML里的软件和服务
    谢谢!

    Max7年前 (2017-06-06)回复
    • 后者。

      Michael7年前 (2017-06-06)回复
  4. #0

    [root@AMebius ~]# apt-get install e2fsprogs uml-utilities screen
    -bash: apt-get: command not found
    [root@AMebius ~]# yum -y install e2fsprogs uml-utilities screen
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    * base: mirror.san.fastserv.com
    * epel: mirror.hmc.edu
    * extras: mirror.sigmanet.com
    * updates: repos.dfw.quadranet.com
    Package e2fsprogs-1.42.9-9.el7.x86_64 already installed and latest version
    No package uml-utilities available.
    Package screen-4.1.0-0.23.20120314git3c2946.el7_2.x86_64 already installed and latest version
    Nothing to do

    AM7年前 (2017-05-11)回复
  5. #0

    apt-get install e2fsprogs uml-utilities screen -y
    Reading package lists… Done
    E: The value ‘stable’ is invalid for APT::Default-Release as such a release is not available in the sources

    ljm7年前 (2017-03-19)回复
  6. #0

    你好,我在我的搬瓦工centos6下试了,可以用,配置 单核,512M。uml虚拟机中只跑了个squid代理,分配给uml的是256M。现在情况是每次使用vps看youtube的时候,看一分左右就卡了,代理服务器无法使用,等大概几分钟后又好了,这大概是什么原因呢?是配置太低吗

    koala7年前 (2017-03-13)回复
    • 有问题请去bbs.91yun.org,本帖已经几乎停止支持!

      Michael7年前 (2017-03-14)回复
    • 这个是被***侦测到了啊. HTTP p**** 传递是完全不加密的啊. 这种问题在去年就会发生了, 也就是间歇性断流, 每次约3~5分钟, 就会自动恢复. 如果一直这样用下去, 不只是你这个 p**** port 会被档, 整个IP的其它通讯端口, 只要一连接, 都可能会触发阻挡. 俗称 “抽风现象” . 建议你赶快改用ssr吧. (连ss都可能发生这种问题喔, 只有ssr可以大幅降低 抽风现象)

      liuje7年前 (2017-03-14)回复
      • 你好,我在没有用uml的时候是正常的,我用的25端口,这个端口是没有限速,也没被墙的,用了uml就会出现这样的问题。

        koala7年前 (2017-03-14)回复
        • 有问题请前往bbs.91yun.org咨询。

          Michael7年前 (2017-03-14)回复
          • ok

            koala7年前 (2017-03-14)
  7. #0

    请较楼主, 我试过了好多方法, 都没有办法让vmlinux开机就自动运行, 开机完成后, 直接运行以下命令是可以的.. “nohup /opt/uml-64/vmlinux ubda=/opt/uml-64/rootfs eth0=tuntap,tap0 mem=384m > /tmp/nothing 2>&1” , 但把它加入到 /etc/rc.local启动档里, 其它命令都可以正常运行, 就vmlinux怎么样都无法自动运行启动.
    试过在rc.local加入 “export HOME=$HOME;/opt/uml-64” 或者 “export UMLDIR=~/opt/uml-64; setsid $UMLDIR/vmlinux ubda=$UMLDIR/rootfs eth0=tuntap,tap0 mem=384m” 然后再加入 vmlinux 的启动命令.. 这样也是不行的. 怎么样都无法开机就自动载入 vmlinux . 想请问有人成功开机自启动了吗 ? 谢谢.

    liuje7年前 (2017-03-13)回复
    • 请去bbs求助,评论已经停止支持。

      Michael7年前 (2017-03-13)回复
    • 使用supervisor管理

      557年前 (2017-03-13)回复
    • 遇到同样的问题 试过很多方法都报错

      Bruce7年前 (2017-03-13)回复
    • 聽說林老闆在制作一鍵包了 而我自己本人真的不會寫 bash
      不過 uml 不可以直接啓動
      要用 screen 一類的把 uml 包起來

      allient7年前 (2017-03-13)回复
    • 也有研究过 利用 screen 命令运行的方式, 在命令列下运行可以, 但放入rc.local中启动还是无效.
      screen -d -m nohup /opt/uml-64/vmlinux ubda=/opt/uml-64/rootfs eth0=tuntap,tap0 mem=384m > /tmp/nothing 2>&1 &

      失败收场, 看来要让vmlinux开机就自动运行, 是挺困难的事~~

      liuje7年前 (2017-03-13)回复
      • 这样子呢?
        nohup /opt/uml-64/vmlinux ubda=/opt/uml-64/rootfs eth0=tuntap,tap0 mem=384m > /tmp/nothing 2>&1 & disown

        557年前 (2017-03-13)回复
        • 完全一样. 放入到rc.local 就完全不运行. 只能ssh登入后, 命令下之下. 才能成功把vmlinux载入… 伤脑筋~~
          还是感谢你的回答 ~

          liuje7年前 (2017-03-13)回复
          • 有人寫成功了
            是用 tmux

            allient7年前 (2017-03-13)
          • 使用 tmux 也没成功, 都只能在ssh登入后, 底下这些命令才能成功运行, 请问到底该用什么命令, 放入 rc.local中才能正常的自动运行 vmlinux 啊 ? 实在太难搞了..

            screen -dmS jobs
            screen -S jobs -X screen bash
            screen -S jobs -p bash -X title job1
            screen -S jobs -p job1 -X stuff $’nohup /opt/uml-64/vmlinux ubda=/opt/uml-64/rootfs eth0=tuntap,tap0 mem=384m > /tmp/nothing 2>&1 & \n’

            (or)

            tmux new -s “jobs” -d
            tmux rename-window -t “jobs” jobs
            tmux neww -a -n job1 -t “jobs”
            tmux send -t “jobs:job1” “nohup /opt/uml-64/vmlinux ubda=/opt/uml-64/rootfs eth0=tuntap,tap0 mem=384m > /tmp/nothing 2>&1 &” Enter

            liuje7年前 (2017-03-14)
    • 皇天不负苦心人, 研究了整整两天, 终于实现开机自动载入UML运行了.
      1. 编辑 /etc/rc.local , 在 “exit 0” 之前加入命令 /bin/su root -c “/usr/bin/screen -dmS vmlinux bash -c ‘/opt/uml-64/run.sh; exec bash'”
      ……………..
      在新增一个 /opt/uml-64/run.sh 命令档, 填入以下内容, 并给予可执行权限: chmod +x /opt/uml-64/run.sh.
      #!/bin/sh
      /opt/uml-64/vmlinux ubda=/opt/uml-64/rootfs eth0=tuntap,tap0 mem=384m

      就搞定了. 终于开始开机就自动运行虚拟机了.

      liuje7年前 (2017-03-14)回复
      • 厉害,请接受我的膝盖,我照你的方法也成功了!赞

        koala7年前 (2017-03-15)回复
  8. #0

    安装楼主大人的教程 一路执行了 都还正常 目前还未测试 有几个问题 咨询下:
    1. 教程的内容只是安装完成了支持uml的虚机, 还需要手动安装bbr?
    2. 在v2ray里配置ss的内容是否添加如下? 我的不成功 ..

    “inboundDetour”: [
    {
    “protocol”: “shadowsocks”,
    “port”: 11111,
    “settings”: {
    “method”: “aes-256-cfb”,
    “password”: “linge121”,
    “udp”: false
    }
    }
    ],

    多谢楼主大人 !

    tmpa7年前 (2017-03-13)回复
    • 请去bbs求助,评论已经停止支持。

      Michael7年前 (2017-03-13)回复
  9. #0

    可以正常下载文件。
    但是运行ss时,出现错误:
    2017-03-12 13:38:31 INFO: IPv6 resolv: temporary failure in name resolution
    2017-03-12 13:38:31 INFO: IPv4 resolv: temporary failure in name resolution
    2017-03-12 13:38:31 ERROR: unable to resolve t66y.com

    执行 host google.com:
    google.com has address x.x.x.x
    google.com has IPv6 address xxx:xxxx:xxx:xxx::xxx
    ;; connection timed out; no servers could be reached

    fdffd7年前 (2017-03-12)回复
    • 请去bbs.91yun.org求助。

      Michael7年前 (2017-03-12)回复
  10. #0

    之後有問題的各位 可以移到論壇 那邊回應速度會高一點

    allient7年前 (2017-03-12)回复
  11. #0

    想知道为什么uml无法使用锐速呢,理论上uml都是单独一个linux系统了不是应该具有完备的功能吗

    duocairen7年前 (2017-03-11)回复
    • 没对应版本的内核,linux也不是随便哪个内核版本都可以用锐速的

      weking7年前 (2017-03-12)回复
      • 不是,是有个模块锐速需要而UML编译不进去滴。。。

        Michael7年前 (2017-03-12)回复
    • 因為銳速要 Symmetric multiprocessing UML不支援

      allient7年前 (2017-03-12)回复
  12. #0

    venet0 : 已接收: 5 G
    tap0 : 已接收: 13 M

    这个算生效么,tap0才这么点流量

    mix7年前 (2017-03-11)回复
  13. #0

    第一个terminal一关闭就 一切都终止?还有这个不能开机自启动么?

    Peak7年前 (2017-03-10)回复
    • nohup ./vmlinux ubda=rootfs eth0=tuntap,tap0 mem=256m & disown 試一下這樣的

      allient7年前 (2017-03-12)回复
  14. #0

    请问部署了UML之后。安装一键SS脚本会出错。是因为缺少了必要的工具吗? 缺少了哪些工具。或者有人能说说该如何部署SS吗

    大番薯7年前 (2017-03-09)回复
  15. #0

    请问ipv6可以使用了吗?

    麦子7年前 (2017-03-08)回复
    • 在論壇有更新了

      allient7年前 (2017-03-12)回复
      • 你好,我在论坛没能找到,请问可以发一个地址吗?

        麦子7年前 (2017-03-12)回复
        • 要注册账号,在独家板块。

          Michael7年前 (2017-03-12)回复
          • 好的,谢谢

            麦子7年前 (2017-03-12)
  16. #0

    做了个16M内存就能启动的rootfs,顺便把内核更新到了4.10.1,kernel + rootfs一共12M。
    已经集成ss-libev,ssh也开好了,欢迎试用。
    https://plus.google.com/108855478531549571757/posts/DabLxwHAwGH

    JB7年前 (2017-03-08)回复
    • Jacky你好,我在配置过程中没有任何问题,弄好后无法连接,原来的ss配置文件和/etc/init.d/dropbear中都没有任何信息,很纠结。系统是debian-7.0-x86

      aqber7年前 (2017-03-09)回复
  17. #0

    安装的ss-python,遇到这个错误 [Errno 11] Resource temporarily unavailable
    请问有人知道如何解决吗,谢谢。

    Vick7年前 (2017-03-07)回复
    • 如果之後再有問題 請到論壇問吧 論壇可以問詳細一點
      這邊我無法回這麼多問題

      allient7年前 (2017-03-12)回复
  18. #0

    已成功在chicagovpsLA4G,十分感谢。因为线路不好,开启bbr后差别好大

    fanfan7年前 (2017-03-07)回复
    • chicagovps 是 colocrossing 線路是不太好

      allient7年前 (2017-03-12)回复
  19. #0

    BBR 就没有加载上来吧。 安装完成之后,执行命令
    lsmod |grep bbr
    并没有。

    Satifanie7年前 (2017-03-07)回复
    • 因為你 lsmod 就是什麼都沒有

      allient7年前 (2017-03-07)回复
  20. #0

    想知道搬瓦工用这个会被封号吗?

    signal7年前 (2017-03-05)回复
    • 这不是没可能

      Michael7年前 (2017-03-06)回复
  21. #0

    回#43 不對… 你的 Bus error – the host /dev/shm or /tmp mount likely just ran out of space

    allient7年前 (2017-03-05)回复
    • 加了&,重装了好多次了,一直卡在这里,开着ss能连结,关闭ssh后uml也随之关闭。

      ohayou7年前 (2017-03-05)回复
    • 搞定了,启动uml时应该先screen -S uml 然后再CTRL-A D,切换视窗, nohup 后exit才能不会因为直接关闭ssh停止运行。

      ohayou7年前 (2017-03-05)回复
      • 這個問題我會在下次寫文時修好 謝謝

        allient7年前 (2017-03-07)回复
  22. #0

    回#43 nohup ./vmlinux ubda=rootfs eth0=tuntap,tap0 mem=256m & 請問你有加 & 嗎?

    allient7年前 (2017-03-04)回复
  23. #0

    uml下能支持tap/tun,从而安装vpn服务么?

    NeoMan7年前 (2017-03-04)回复
    • 應該是可以的 不過我不記得有沒有開那個 module 因為這個是開 BBR 為主 也就沒有想這麼多了….

      allient7年前 (2017-03-04)回复
      • 如果可以,能在教程里加上这部分么,我自己搞了一下,没有成功,这个真的很需要,谢谢。

        NeoMan7年前 (2017-03-05)回复
        • 這是因為我沒有開 tun/tap 的原因了 下個版本更一下

          allient7年前 (2017-03-05)回复
        • 不過 BBR 對 VPN 沒什麼效果 因為現在 VPN 都是用 TCP over UDP 為主 BBR只對TCP有用

          allient7年前 (2017-03-06)回复
          • 谢谢解释,我本来以为bbr会对pptp的vpn起作用,因为貌似锐速是起作用的?

            NeoMan7年前 (2017-03-07)
        • 大佬說 鋭速的VPN加速是 UDP 多發包

          allient7年前 (2017-03-07)回复
  24. #0

    为什么用了tips2的nohup命令后,退出ssh后uml后台随之也关闭了。
    tail ./nohup.out 命令后
    出现以下输出:
    NET: Registered protocol family 17
    Initialized stdio console driver
    Console initialized on /dev/tty0
    console [tty0] enabled
    Initializing software serial port version 1
    console [mc-1] enabled
    Bus error – the host /dev/shm or /tmp mount likely just ran out of space
    Kernel panic – not syncing: Kernel mode signal 7
    CPU: 0 PID: 217 Comm: kworker/u2:2 Not tainted 4.9.12 #3
    Received SIGSEGV in SIGSEGV handler, aborting stack trace!
    不知道怎样解决

    ohayou7年前 (2017-03-04)回复
  25. #0

    除了SSH端口其他端口全超时是什么情况

    mix7年前 (2017-03-04)回复
    • NAT 弄錯了?

      allient7年前 (2017-03-04)回复
      • 全部直接复制的文章里的代码

        mix7年前 (2017-03-05)回复
        • 你的 OVZ 上有在跑其他東西嗎? 有的話要開 port

          allient7年前 (2017-03-06)回复
          • 就一个lnmp

            mix7年前 (2017-03-10)
          • 还一个denyhosts

            mix7年前 (2017-03-10)
          • 关闭iptables其他端口就可以访问了。
            # Generated by iptables-save v1.4.14 on Sat Mar 4 11:44:13 2017
            *raw
            :PREROUTING ACCEPT [67:5410]
            :OUTPUT ACCEPT [42:4270]
            COMMIT
            # Completed on Sat Mar 4 11:44:13 2017
            # Generated by iptables-save v1.4.14 on Sat Mar 4 11:44:13 2017
            *nat
            :PREROUTING ACCEPT [0:0]
            :POSTROUTING ACCEPT [0:0]
            :OUTPUT ACCEPT [0:0]
            -A PREROUTING -p tcp -m tcp --dport 22 -j RETURN
            -A PREROUTING -i venet0 -j DNAT --to-destination 10.0.0.2
            -A POSTROUTING -o venet0 -j MASQUERADE
            COMMIT
            # Completed on Sat Mar 4 11:44:13 2017
            # Generated by iptables-save v1.4.14 on Sat Mar 4 11:44:13 2017
            *filter
            :INPUT ACCEPT [63:5200]
            :FORWARD ACCEPT [4:210]
            :OUTPUT ACCEPT [38:3948]
            COMMIT
            # Completed on Sat Mar 4 11:44:13 2017
            # Generated by iptables-save v1.4.14 on Sat Mar 4 11:44:13 2017
            *mangle
            :PREROUTING ACCEPT [67:5410]
            :INPUT ACCEPT [63:5200]
            :FORWARD ACCEPT [4:210]
            :OUTPUT ACCEPT [42:4270]
            :POSTROUTING ACCEPT [42:4158]
            COMMIT
            # Completed on Sat Mar 4 11:44:13 2017

            mix7年前 (2017-03-10)
          • 可以了
            service networking restart

            mix7年前 (2017-03-10)
          • 比较奇怪,刚忘加-A PREROUTING -i venet0 -j DNAT –to-destination 10.0.0.2这个,现在加上又不行了。要崩溃了啊

            mix7年前 (2017-03-10)
          • 这次真可以了,改成-A PREROUTING -i venet0 -j DNAT --to-destination 10.0.0.2

            mix7年前 (2017-03-10)
          • 楼上漏打了。
            -A PREROUTING -i venet0:0 -j DNAT --to-destination 10.0.0.2

            mix7年前 (2017-03-10)
  26. #0

    弄好了,多谢分享~
    就是不知道这个rootfs是怎么做出来的,找到了一个据说可以在openvz从0开始自定义内核(用的是archlinux)搞UML的:https://blog.amayume.net/openvz-vps-an-zhuang-user-mode-linux-yi-shi-xian-bbr-yong-sai-kong-zhi/ 可惜我没弄成这个。另外UML里面可以开cisco的anyconnect吗?如果开了还能享受bbr加速吗?我试了一下好像不行,望高手解答。

    lewisxy7年前 (2017-03-04)回复
    • AnyConnect 是走 DTLS 吧?
      BBR 只對 TCP 有影響力

      allient7年前 (2017-03-04)回复
      • 那有办法让各种VnPnN也享受加速吗?

        lewisxy7年前 (2017-03-06)回复
        • UDP 暫時只有大量發包這種方法…. (小心慎用

          allient7年前 (2017-03-06)回复
  27. #0

    突然有点好奇,用uml是不是也可以使用3.x的内核跑锐速(虽然区别不大)。

    PKbuster7年前 (2017-03-04)回复
    • 不能。

      Michael7年前 (2017-03-04)回复
  28. #0

    root@localhost:~# apt-get install e2fsprogs uml-utilities screen
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    Package e2fsprogs is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source
    However the following packages replace it:
    libcomerr2 uuid-runtime libuuid1 e2fslibs

    E: Package ‘e2fsprogs’ has no installation candidate
    E: Unable to locate package uml-utilities
    这样是有什么问题吗?

    Hans7年前 (2017-03-03)回复
    • 你没有配置好源吧。。以后多去去咱们的bbs问。。。

      Michael7年前 (2017-03-03)回复
  29. #0

    我用xshell布置完毕后,关闭xshell,连同uml也被关了……

    西瓜7年前 (2017-03-03)回复
    • tips 2看一下

      Michael7年前 (2017-03-03)回复
  30. #0

    怎么打开新的ssh打开lum后显示random: crng init done然后就动不了
    然后用之前的端口登录显示ssh_exchange_identification: Connection closed by remote host

    7年前 (2017-03-03)回复
  31. #0

    进了uml后可以装,一键安装 libev 版的 Shadowsocks ?

    弋丹7年前 (2017-03-03)回复
    • yes

      Michael7年前 (2017-03-03)回复
  32. #0

    我在uml上安装了ssh并在host上设了端口转发,连接时用root登录密码登录总是提示密码不对,请问该如何设置UML上的ssh呢。

    [detached from 24379.pts-9.galax]
    root@galax:~/uml# ssh -p 10022 [email protected]
    The authenticity of host ‘[10.0.2.2]:10022 ([10.0.2.2]:10022)’ can’t be established.
    ECDSA key fingerprint is 2b:35:40:2c:74:2c:69:e2:67:39:05:73:f1:5a:fa:46.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added ‘[10.0.2.2]:10022’ (ECDSA) to the list of known hosts.
    [email protected]’s password:
    Permission denied, please try again.

    triaqu7年前 (2017-03-02)回复
    • 終於可以回了
      前幾天一直沒辦法回應
      試一下 把在 uml 內的 sshd_config 內的 PremitRootLogin 改成 yes

      allient7年前 (2017-03-04)回复
      • 谢谢,登上去了。

        triaqu7年前 (2017-03-05)回复
  33. #0

    Checking that ptrace can change system call numbers…OK
    Checking syscall emulation patch for ptrace…OK
    Checking advanced syscall emulation patch for ptrace…OK
    Checking environment variables for a tempdir…none found
    Checking if /dev/shm is on tmpfs…OK
    Checking PROT_EXEC mmap in /dev/shm…Operation not permitted
    /dev/shm must be not mounted noexec
    请问这是什么错误?

    小白7年前 (2017-03-02)回复
  34. #0

    如果用qemu代替uml的话可不可以上serverspeeder呢?

    _0v0_7年前 (2017-03-01)回复
    • 很多provider 都有明言說不可以 qemu,uml 倒是還好

      allient7年前 (2017-03-01)回复
      • qemu和uml都属于nested virtualization的范畴吧~

        _0v0_7年前 (2017-03-01)回复
        • uml 更常用於 kernel debug 在VPS上面跑還正常的 不過 qemu 就…. 我不阻止 不要TOS就好了

          allient7年前 (2017-03-01)回复
  35. #0

    请问有办法把IPv6的流量也转发进user-mode linux吗?教程只是IPv4的.

    麦子7年前 (2017-03-01)回复
    • 可以的,試一下 ip6tables 吧

      allient7年前 (2017-03-01)回复
      • 试了,不行。2.6内核的Linux中的ip6table不支持nat,但是Openvz的小鸡没办法换内核

        麦子7年前 (2017-03-01)回复
        • 嗯,那我要再研究可不可以直接 assign IPv6了,這一個星期有點忙

          allient7年前 (2017-03-01)回复
          • 好的,辛苦你了,如果IPv6有办法用就好了,教育网用起来就方便了

            麦子7年前 (2017-03-02)
        • 用 ip 應該是可以的 不過我要再看

          allient7年前 (2017-03-01)回复
          • 期待你的进展?

            麦子7年前 (2017-03-02)
  36. #0

    Debian是不是忘了加一条命令,iptables-save?

    huya7年前 (2017-03-01)回复
    • 我有想過加的,不過考慮到有人iptables 設錯….. 這部分可以自己來

      allient7年前 (2017-03-01)回复
  37. #0

    首先感谢分享~
    教程多数步骤都成功完成,并有类似 ‘Virtual console 3 assigned device ‘/dev/pts/1’ 的回显,但在新终端执行screen /dev/pts/1时即使按Enter也无任何响应,尝试重启vmlinux后也无法进入uml,请问是哪里出问题了呢?

    POI7年前 (2017-03-01)回复
    • 是全黑一篇沒反應 還是 screen terminated?

      allient7年前 (2017-03-01)回复
      • 全黑一篇沒反應

        _0v0_7年前 (2017-03-01)回复
        • 之前我有遇過一次 不過是因為VZ本身太慢了 所以出問題 有時候多等一下之後再按 或者轉其他 /dev/pts 的就會好了

          allient7年前 (2017-03-01)回复
          • 真的是vz的问题
            将vmlinux挂载后台,只开一个终端即可进入uml
            不过一旦reboot后vmlinux就会出很奇怪的错误
            Failed to initialize ubd device 0 :Couldn’t determine size of device’s file

            _0v0_7年前 (2017-03-01)
          • 已解决自启动错误——使用命令:
            export UMLDIR=~/uml-64; setsid $UMLDIR/vmlinux ubda=$UMLDIR/rootfs eth0=tuntap,tap0 mem=512m

            _0v0_7年前 (2017-03-02)
    • 不一定是screen /dev/pts/1, 有可能是screen /dev/pts/2~8
      你要看terminal的提示才知道哪个可用。

      kvk7年前 (2017-03-01)回复
      • 之前也试过的,问题不在这里

        _0v0_7年前 (2017-03-01)回复
  38. #0

    准确的说是怎么通过WinSCP去访问UML下的目录。

    翔翎7年前 (2017-03-01)回复
    • 可以安裝 openssh,port 不要放在22就好了

      allient7年前 (2017-03-01)回复
  39. #0

    请问如何访问UML下的文件目录呢?

    翔翎7年前 (2017-03-01)回复
  40. #0

    TO #25
    在宿主机的/etc/fstab “额外加一行”如下(慎重)
    shm /dev/shm tmpfs nodev,nosuid 0 0

    liyangyijie7年前 (2017-03-01)回复
    • 请问这是啥意思啊

      xxx7年前 (2017-03-01)回复
  41. #0

    成功了!谢谢站长!

    麦子7年前 (2017-03-01)回复
  42. #0

    ./vmlinux ubda=rootfs eth0=tuntap,tap0 mem=256m
    Locating the bottom of the address space … 0x1000
    Locating the top of the address space … 0xc0000000
    Core dump limits :
    soft – 0
    hard – NONE
    Checking that ptrace can change system call numbers…OK
    Checking syscall emulation patch for ptrace…OK
    Checking advanced syscall emulation patch for ptrace…OK
    Checking environment variables for a tempdir…none found
    Checking if /dev/shm is on tmpfs…OK
    Checking PROT_EXEC mmap in /dev/shm…Operation not permitted
    /dev/shm must be not mounted noexec

    这是除了什么问题

    大Boss7年前 (2017-02-28)回复
  43. #0

    成功了不错嘛!

    骚妮7年前 (2017-02-27)回复
  44. #0

    这个镜像与docker不兼容,迁移应用比较麻烦

    mercy7年前 (2017-02-26)回复
    • 两码事

      Michael7年前 (2017-02-27)回复
  45. #0

    我进去镜像以后没网,这什么情况

    wu7年前 (2017-02-26)回复
    • 网络地址不对

      wu7年前 (2017-02-26)回复
      • 不正常退出有内存错误

        wu7年前 (2017-02-26)回复
        • 要詳細一點的詳情
          有打開 TUN/TAP 了嗎?
          VZ本身有多少 RAM 分配了多少給 uml?

          allient7年前 (2017-02-26)回复
          • 我开成功过一次,现在重装以后载入镜像网络显示的是127.0.0.1

            wu7年前 (2017-02-26)
          • 是按照256M分配的

            wu7年前 (2017-02-26)
  46. #0

    nat vps 弄好后,ssh就不去了怎么办啊??谁来救救我!!

    老张7年前 (2017-02-26)回复
    • 从vnc进,如果不提供就只能重做系统了。你肯定少做一步了,就是把ssh端口留下那一步。

      Michael7年前 (2017-02-26)回复
    • NAT VPS 的 ssh 不在 22 吧?
      直接在 control panel 重新開機吧

      allient7年前 (2017-02-26)回复
  47. #0

    iptables -t nat -A PREROUTING -i venet0 -p tcp –dport 10000:20000 -j DNAT –to-destination 10.0.0.2这样才是对的吧

    wu7年前 (2017-02-26)回复
    • 嗯 是的
      只好等管理員修正了

      allient7年前 (2017-02-26)回复
  48. #0

    已测试成功,提速明显,特来感谢!谢谢谢谢谢谢……allient neko Michael

    mike7年前 (2017-02-26)回复
    • 开心就好!可以把91yun上的这个UML档和其他朋友分享喔!!

      Michael7年前 (2017-02-26)回复
  49. #0

    擴大image的容量
    root@F:~/uml# resize2fs rootfs 5G
    -bash: resize2fs: command not found
    这个怎么解决

    fanfan7年前 (2017-02-26)回复
    • apt-get install e2fsprogs
      然后按照提示解决

      Michael7年前 (2017-02-26)回复
  50. #0

    关掉第一个terminal之后uml的也跟着退出了,这个问题要怎么解决啊。。。

    xbcst7年前 (2017-02-26)回复
    • 看tips里 nohup

      Michael7年前 (2017-02-26)回复
  51. #0

    这句还是错的

    iptables -t nat -A PREROUTING -i venet0 -p tcp –dport 10000:20000 –to-destination 10.0.0.2

    Remember7年前 (2017-02-26)回复
    • 都测试通过了。。哪里错了

      Michael7年前 (2017-02-26)回复
      • d第二行 udp 你都加了 -j DNAT , 第一行tcp 不加,你怎么测试通过的哇

        Remember7年前 (2017-02-26)回复
        • 的确能连出去。。。

          Michael7年前 (2017-02-26)回复
          • 连出去是靠这个:
            iptables -t nat -A POSTROUTING -o venet0 -j MASQUERADE

            Remember7年前 (2017-02-27)
  52. #0

    非常感谢,在128M的NAT机子上配置并安装ss-libev3.03成功。

    triaqu7年前 (2017-02-25)回复
    • 128m你分配了多少内存给uml?

      Michael7年前 (2017-02-25)回复
      • 64M.

        NAT:
        top – 10:06:34 up 1:11, 1 user, load average: 0.03, 0.07, 0.03
        Tasks: 35 total, 1 running, 21 sleeping, 13 stopped, 0 zombie
        %Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
        KiB Mem: 131072 total, 122992 used, 8080 free, 0 buffers
        KiB Swap: 131072 total, 21624 used, 109448 free. 114572 cached Mem

        PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 20 0 28272 620 444 S 0.0 0.5 0:00.06 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd/4165 3 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khelper/4165 70 systemd+ 20 0 26128 364 316 S 0.0 0.3 0:00.00 systemd-network 71 root 20 0 38864 264 260 S 0.0 0.2 0:00.00 systemd-udevd 81 root 20 0 28816 868 760 S 0.0 0.7 0:00.02 systemd-journal 215 root 20 0 25848 332 260 S 0.0 0.3 0:00.00 cron 216 root 20

        uml :

        root@uml:~# free -m
        total used free shared buffers cached
        Mem: 58 42 15 4 0 28
        -/+ buffers/cache: 13 45
        Swap: 0 0 0

        triaqu7年前 (2017-02-25)回复
        • 这也行。。。那我128M的小鸡也要跑跑看

          Michael7年前 (2017-02-25)回复
  53. #0

    成功了!感谢作者

    lumianan7年前 (2017-02-25)回复
  54. #0

    放个alpine的镜像(内置ss-go、vi)和4.9.11的vmlinux
    系统root密码liyangyijie
    go版ss则在9999端口上,rc4-md5,密码liyangyijie。
    sudo ./vmlinux root=/dev/ubda ubd0=alpine_bbr_ss_swap.img rw eth0=tuntap,tap0 mem=64m
    https://transfer.sh/qeXQf/openvz-bbr.tar.gz

    liyangyijie7年前 (2017-02-25)回复
    • 谢谢。

      Michael7年前 (2017-02-25)回复
    • -bash: ./vmlinux_4.9.11: Permission denied
      出现这个怎么破

      Devils7年前 (2017-02-26)回复
      • 整条命令来啊。

        Michael7年前 (2017-02-26)回复
        • root@titanx:~# cd openvz_bbr
          root@titanx:~/openvz_bbr# ./vmlinux root=/dev/ubda ubd0=alpine_bbr_ss_swap.img rw eth0=tuntap,tap0 mem=64m
          -bash: ./vmlinux: No such file or directory
          root@titanx:~/openvz_bbr# ./vmlinux_4.9.11 root=/dev/ubda ubd0=alpine_bbr_ss_swap.img rw eth0=tuntap,tap0 mem=64m
          -bash: ./vmlinux_4.9.11: Permission denied
          root@titanx:~/openvz_bbr# ls
          alpine_bbr_ss_swap.img vmlinux_4.9.11

          Devils7年前 (2017-02-26)回复
          • 你可以安装91yun提供的。。。

            Michael7年前 (2017-02-26)
      • chmod + x vmlinux_4.9.11

        liyangyijie7年前 (2017-02-26)回复
        • 成功用上啦!非常感谢

          Devils7年前 (2017-02-26)回复
    • 请教一下, alpine的开机启动怎么配置的啊? 想改造下,但是没有找到那个shadowsocks-go的启动脚本 = =

      catme7年前 (2017-02-26)回复
    • 找到啦 ~ 原来在 /etc/local.d ~

      catme7年前 (2017-02-26)回复
    • 在128m的搬瓦工上跑起来了,开心!

      renzhn7年前 (2017-02-28)回复
      • 赞。

        Michael7年前 (2017-02-28)回复
  55. #0

    確定是檔案損壞了
    管理員在忙
    這邊有備份

    https://drive.google.com/open?id=0B3mMl8ZlvJjvZk5mT3dIMUpoM2c

    allient7年前 (2017-02-25)回复
    • 谢谢作者。手机wp编辑器有问题,无法对正文编辑,目前文章回滚到64bit内核版本!

      Michael7年前 (2017-02-25)回复
  56. #0

    tar xvJf uml.tar.xz
    tar: This does not look like a tar archive
    tar: Skipping to next header
    tar: Exiting with failure status due to previous errors

    lumianan7年前 (2017-02-25)回复
  57. #0

    不知道能不能折腾出来锐速 bbr还是没有锐速暴力 不过用上了bbr效果还是有的

    wwr7年前 (2017-02-25)回复
    • 我5天中花了4天在改 kernel 企圖要跑銳速
      不幸地 失敗了

      allient7年前 (2017-02-25)回复
    • 主要是因為技術限制
      uml 只有在 2.9.6 這一版的kernel 才有 support SMP (多核心處理)
      銳速就是要 SMP 的 module 無奈地
      我暫時沒辦法 compile 起來
      而且銳速本身也不支援 2.6.9 的 kernel
      (除非是用 Red Hat Enterprise)

      allient7年前 (2017-02-25)回复
  58. #0

    tar xvJf uml.tar.xz显示
    tar: This does not look like a tar archive
    tar: Skipping to next header
    tar: Exiting with failure status due to previous errors

    fanfan7年前 (2017-02-25)回复
    • 重新下载一下吧!

      Michael7年前 (2017-02-25)回复
      • 同样的报错,重新下了几次 还是解压不了……

        mike7年前 (2017-02-25)回复
      • 一样的问题。下载了很多次。
        root@hus:~# tar xvJf uml.tar.xz
        tar: This does not look like a tar archive
        tar: Skipping to next header
        tar: Exiting with failure status due to previous errors

        triaqu7年前 (2017-02-25)回复
        • 回去看看

          Michael7年前 (2017-02-25)回复
          • iptables -t nat -A PREROUTING -i venet0 -p tcp –dport 10000:20000 –to-destination 10.0.0.2
            iptables v1.4.21: unknown option “–to-destination”
            Try `iptables -h’ or ‘iptables –help’ for more information.

            需要把to-去掉还是加上-j DNAT 。

            triaqu7年前 (2017-02-25)
          • 文件损坏了

            lumianan7年前 (2017-02-25)
      • 我也遇到这个问题

        逛逛弄7年前 (2017-02-25)回复
    • https://drive.google.com/open?id=0B3mMl8ZlvJjvZk5mT3dIMUpoM2c
      先下這個吧
      管理員在忙

      allient7年前 (2017-02-25)回复
  59. #0

    请教下……
    # sudo ip route add default via 10.0.0.1 dev venet0:0
    RTNETLINK answers: File exists 报错,进行不下去了……
    报这个错误,进行不下去了……
    # ifconfig -a
    lo Link encap:Local Loopback
    inet addr:127.0.0.1 Mask:255.0.0.0
    inet6 addr: ::1/128 Scope:Host
    UP LOOPBACK RUNNING MTU:65536 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

    tap0 Link encap:Ethernet HWaddr 52:62:16:35:1C:6b
    inet addr:10.0.0.1 Bcast:0.0.0.0 Mask:255.255.255.0
    BROADCAST MULTICAST MTU:1500 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:500
    RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

    venet0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
    inet addr:127.0.0.2 P-t-P:127.0.0.2 Bcast:0.0.0.0 Mask:255.255.255.255
    UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
    RX packets:12760 errors:0 dropped:0 overruns:0 frame:0
    TX packets:4754 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:14550396 (13.8 MiB) TX bytes:607173 (592.9 KiB)

    venet0:0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
    inet addr:我的IP P-t-P:我的IP Bcast:我的IP Mask:255.255.255.255
    UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1

    mike7年前 (2017-02-25)回复
    • RTNETLINK answers: File exists 这个不是报错,往下打命令就好了。

      Michael7年前 (2017-02-25)回复
  60. #0

    先补充下,要64位系统,目前就在64位全新debian8下我进行了测试。

    Michael7年前 (2017-02-25)回复
  61. #0

    -bash: sudo: command not found 借问如何解决?

    2ryan7年前 (2017-02-25)回复
    • apt-get install sudo,在root下也能直接执行。

      Michael7年前 (2017-02-25)回复
      • 装好,但始终没有搞定sudo下的操作。还是先放放….

        2ryan7年前 (2017-02-25)回复
  62. #0

    这是怎么回事啊?

    ip route add default via 10.0.0.1 dev venet0:0
    RTNETLINK answers: File exists

    Remember7年前 (2017-02-25)回复
    • 这条命令更新了!不好意思,复制的时候出问题了

      Michael7年前 (2017-02-25)回复
  63. #0

    请教一下对openvz VPS的内核有要求吗,必须是4.9以上的吗,我看大部分openvz架构的VPS都是老内核

    Linda R Russell7年前 (2017-02-25)回复
    • 就是老的openvz内核上跑的呀!

      Michael7年前 (2017-02-25)回复
  64. #0

    卧槽,之前看过觉得不可能。现在真的整出来了

    天下大乱7年前 (2017-02-25)回复
    • 欢迎转载、分享!

      Michael7年前 (2017-02-25)回复
  65. #0

    V2Ray 預設是 V2Ray 自己的protocol
    如果要改成 SS 請看教學
    有任何問題也可以留言在這邊
    我會盡量回答的

    allient7年前 (2017-02-25)回复
    • 谢谢作者allient的仔细撰写与一个多星期的研究,谢谢!

      Michael7年前 (2017-02-25)回复
    • 谢谢。

      请教一下,如果在KVM上按User Mode Linux on Debian Jessie介绍的方法配置好后,是否就可以把vmlinux 和 rootfs放到其他OVZ上用.

      triaqu7年前 (2017-02-25)回复
      • 只要都是64位系统或者32位,内核要一致。

        Michael7年前 (2017-02-25)回复
        • 内核一致是指什么呢?Debian8的内核OVZ一般是2.6.32,KVM的是3.16。

          triaqu7年前 (2017-02-25)回复
          • uml和host都是64位或者32位。

            Michael7年前 (2017-02-25)
        • 按教程自已编译vmlinux配置rootfs并安装好ss-libev3.0.3,在OVZ机子上搭梯子方便多了,几步就搞定。
          再次感谢。

          triaqu7年前 (2017-02-28)回复
  66. #0

    还是发出来了啊。

    四点四点四点四点7年前 (2017-02-25)回复
    • 对,超级棒,感谢allient neko!

      Michael7年前 (2017-02-25)回复