点击登录
  • 欢迎访问主机博客,VPS教程,VPS测评,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入主机博客 QQ群
  • 分享各类VPS教程,VPS折腾,MJJ交流讨论
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏主机博客吧

OpenVZ下启用BBR,UML部署教程 By allient neko

VPS教程 雨落无声 1050次浏览 2个评论

本文技术:@allient neko

本文原文链接:https://www.91yun.org/archives/4996

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

OpenVZ下启用BBR,UML部署教程 By allient neko

UML环境下的内核:

OpenVZ下启用BBR,UML部署教程 By allient neko

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

前言

首先要提醒一下 如果本身自己的 OpenVZ 太低配的話,那麼user-mode linux 跑起來會很艱難。最少 512MB RAM 以上才考慮吧。建議配置是 1G RAM。因為現時user-mode linux 不支援多核心處理。所以 CPU 數量一個就夠了

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

开启TUN/TAP

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

OpenVZ下启用BBR,UML部署教程 By allient neko

前置安裝

apt-get install e2fsprogs uml-utilities screen -y

Host OpenVZ 準備網路:

ip tuntap add tap0 mode tap 
ip addr add 10.0.0.1/24 dev tap0 
ip route add default via 10.0.0.1 dev venet0:0 
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 --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

镜像部署

wget http://soft.91yun.org/uml.tar.xz
tar xvJf uml.tar.xz
cd uml

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

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

resize2fs rootfs 5G

不一定是5G可以換成你喜歡的大小

打開 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先不要關起來
打開新的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

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

V2Ray可以作為多功能平台使用,使常用的 shadowsocks 也包含其中
這邊有關於v2ray的教程 https://toutyrater.github.io/v2ray-guide-pages/
如果想要用SSR的話
那可能要耐心一點
把 python git 等等先安裝好

提示:此处如果想部署V2ray,也可试试看博主的脚本一件部署:https://blog.ipatrick.cn/2017/01/04/286.html

要離開的話 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 &
    可以把 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 拿文件

完成!

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

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

OpenVZ下启用BBR,UML部署教程 By allient neko

 


主机博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明OpenVZ下启用BBR,UML部署教程 By allient neko
喜欢 (2)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(2)个小伙伴在吐槽
  1. 第一个terminal一关闭就 一切都终止?还有这个不能开机自启动么?
    Peak2017-03-10 08:39 回复 Windows 7 | Chrome 55.0.2883.87
    • 并没有开机重启,每次需要你手动开一个screen,一般来说只要screen开着就可以一直运行在后台
      雨落无声2017-03-13 08:28 回复 未知操作系统 | Chrome 56.0.2924.87