IPV6 VPS学习技能总结和归纳
前言:
最近搞了几个免费的ipv6 vps 玩,学习了一些有关ipv6 vps配置的一些知识。
关于VPS首先要明白以下几个概念:
- 普通VPS:也就是常见的VPS通常拥有一个独立的公网ipv4地址
- NAT VPS:通常是多个NAT VPS共享一个公网ipv4地址,通过nat方式获得共享的公网ipv4地址的部分端口。
- IPV6 VPS:特指只拥有独立的公网ipv6地址的VPS。
- IPV6 NAT VPS:指那些拥有独立公网ipv6地址,并拥有共享的公网ipv4地址,通过nat方式获得公网ipv4部分端口的VPS。
- 双栈VPS:同时拥有独立的公网ipv4和ipv6地址的VPS。
由于目前网络的大部分网络基础设施和软件是针对ipv4地址,结ipv6地址的支持远没有ipv4那么成熟。所以使用ipv6时需要一些特别的配置。
花费了一周多的时间将ipv6玩明白,google、百度了一大堆东西,问题是解决的但是知识结构很杂乱,有时候搜索到一篇很长文章,但解决问题的就是其中的一两条命令。有时候解决一个问题参况多篇文章,看一个贴子里面有很多无效回答,所以打算发点时间把这些内容梳理一下,以供以后遇到同样的问题时,忘记解决办法时查阅,省去再次在漫漫互联网大海中去寻找。
hax
注意:要关闭反广告插件否则会阻止打开这个见面
hax最大的问题是VPS有效期只有七天,在离过期不足三天时可以续期,以续期的时间为基础延长七天有效期,未续期过期会删除VPS并且不保存数据。
hax的VPS主要是采KVM架构还有部分是OpenVZ.
获取VPS
获取hax VPS首先需要拥有一个Telegram帐号
在TG中绐机器人’@HaxTG_bot‘发送指令/getid
获取TG的id
然后把获取到的ID填入到注册表单中
‘@HaxTG_bot’会绐你发送一串代码填入到注册表单中就能完成注册
注册好后点”Create VPS”链接进入创建VPS的页面
选择数据中心按提示完成注册就行了
因为免费操作简单,大多数时候没有机器,可以在TG上关注库存信息机器人,获取库存情况。
第天UTC时间0点开始放货,也就是北京时间早上8点。可以抢到一些不错的VPS。
获取到VPS后等待5-10分钟后,VPS创建成功,这个时候就可以开始操作了。
测速
Hax有多个机房托管机器,所以针对每个机房进行一下不试和IO测试。(先放上来部分测速情况,剩下的后续补上)
缺点
网站广告太多,并且无法关闭。
coocie有效期太短,频繁登录。
有小期太短,容易忘记续期删除机器。
配置
配置DNS
纯ipv6下ipv4 dns无法使用,需要配置dns64,dns64配置不正确会速度慢甚至无法访问很多网站。
部分dns64还带有nat64功能,配置了带有nat64功能的dns64,可以访问一些只有ipv4的网站(但是要有域名,只通过ipv4地址访问不行。)
linux配置dns :修改 /etc/resolv.conf
这个文件
顺便贴上一些收集的dns信息
国内 :
供应商 | IPv4 | IPv6 |
---|---|---|
腾讯 DNS (DNSPod) | 119.29.29.29 | 2402:4e00:: |
阿里 DNS (Alidns) | 223.5.5.5 223.6.6.6 | 2400:3200::1 2400:3200:baba::1 |
百度 DNS | 180.76.76.76 | 2400:da00::6666 |
360 安全 DNS | 中国电信/铁通/移动 101.226.4.6 218.30.118.6 针对中国联通 123.125.81.6 140.207.198.6 | |
中国电信 IPv6 DNS | 240e:4c:4008::1 240e:4c:4808::1 | |
中国联通 IPv6 DNS | 2408:8899::8 2408:8888::8 | |
中国移动 IPv6 DNS | 2409:8088::a 2409:8088::b | |
114DNS | 114.114.114.114 114.114.115.115 | |
CNNIC DNS | 1.2.4.8 210.2.4.8 | 2001:dc7:1000::1 |
Yeti 北京 互联网研究所 | 240c:f:1:22::6 240C::6666 240C::6644 | |
Yeti 南京 | 240e:eb:8001:e01::53 | |
Yeti 成都 | 240e:d9:c200:14c:7472::19e0 | |
Yeti 广州 | 2408:8756:f5f:4::6 | |
OneDNS | 117.50.11.11 117.50.22.22 | |
Hi!XNS DNS 服务器 | 40.73.101.101 | |
TWNIC DNS Quad 101 | 101.101.101.101 101.102.103.104 | 2001:de4::101 2001:de4::102 |
教育网: | ||
北京邮电大学 IPv6 DNS | 2001:da8:202:10::36 2001:da8:202:10::37 | |
上海交通大学 IPv6 DNS | 2001:da8:8000:1:202:120:2:100 2001:da8:8000:1:202:120:2:101 | |
中科院 网络信息中心 | 2001:cc0:2fff:1::6666 | |
北京交通大学 | 2001:da8:205:2060::188 | |
清华大学 | 2001:da8:ff:305:20c:29ff:fe1f:a92a | |
清华大学 TUNA 协会 | 101.6.6.6 | 2001:da8::666 |
北京科技大学 IPv6 DNS | 2001:da8:208:10::6 | |
中国科技网 IPv6 DNS | 2001:cc0:2fff:2::6 |
国外 :
供应商 | IPv4 | IPv6 |
---|---|---|
8.8.8.8 8.8.4.4 | 2001:4860:4860::8888 2001:4860:4860::8844 | |
Cloudflare | 1.1.1.1 1.0.0.1 | 2606:4700:4700::1111 2606:4700:4700::1001 |
Quad9 DNS | 9.9.9.9 149.112.112.112 | 2620:fe::fe 2620:fe::9 |
DNS.SB | 45.11.45.11 | 2a09:: 2a11:: |
OpenDNS | 208.67.222.222 208.67.220.220 208.67.222.220 208.67.220.222 | 2620:119:35::35 2620:119:53::53 |
OpenDNS FamilyShield | 208.67.222.123 208.67.220.123 | 2620:119:35::123 2620:119:53::123 |
Yandex DNS 基础版 | 77.88.8.8 77.88.8.1 | 2a02:6b8::feed:0ff 2a02:6b8:0:1::feed:0ff |
Yandex DNS 安全版 | 77.88.8.88 77.88.8.2 | 2a02:6b8::feed:bad 2a02:6b8:0:1::feed:bad |
Yandex DNS 家庭版 | 77.88.8.7 77.88.8.3 | 2a02:6b8::feed:a11 2a02:6b8:0:1::feed:a11 |
COMODO SecureDNS | 8.26.56.26 | 8.20.247.20 |
Neustar UltraDNS 基础版 | 64.6.64.6 64.6.65.6 | 2620:74:1b::1:1 2620:74:1c::2:2 |
Neustar UltraDNS 安全版 | 156.154.70.2 156.154.71.2 | 2610:a1:1018::2 2610:a1:1019::2 |
Neustar UltraDNS 家庭版 | 156.154.70.3 156.154.71.3 | 2610:a1:1018::3 2610:a1:1019::3 |
Level 3 Parent DNS | 4.2.2.1 4.2.2.2 4.2.2.3 4.2.2.4 4.2.2.5 4.2.2.6 |
NAT64 :
nat64用于在纯ipv6环境下访问ipv4网站
可以访问下面这个见面获取公共nat64网站
安装基础命令行工具
由于新创建VPS内的系统精简程度不一,有些有一些常用工具有一些没有,
同时使用命令的名称直接安装并不能安装上需要的工具,更多的时候是找不到相关的软件包。
所以在这一节中,列出那些常用工具的安装命令或者方式。
网络相关
ifconfig、netstat
大多数网络命令可以通过安装”net-tools”软件包实现。
安装命令:
- Ubuntu & Debian :
apt install net-tools
- Centos :
yum install net-tools
ping
但是Ubuntu安装”net-tools”软件包后并没有ping命令,需要额外安装”iputils-ping”软件包。
安装命令:
- Ubuntu & Debian :
apt install iputils-ping
- Centos :
nc
安装命令:
- Ubuntu & Debian :
apt install netcat
进程相关
当最常的ps命令没有时,通过apt install ps
安装时会提示没有找到想关软件包,因为包含’ps’命令的软件包并不是以ps命名的。
需要安装的软件包的名称是“procps”
安装命令:
- Ubuntu & Debian :
apt install procps
- Alpine :
apk add procps
测试
秋水逸冰大佬的Bench.sh脚本
特点:
- 显示当前测试的各种系统信息;
- 取自世界多处的知名数据中心的测试点,下载测试比较全面;
- 支持 IPv6 下载测速;
- IO 测试三次,并显示平均值。
使用:
1 | wget -qO- bench.sh | bash |
Github地址:https://github.com/teddysun/across/blob/master/bench.sh
Demo示例:
详细信息查看秋水逸冰博客文章:[https://teddysun.com/444.html
老鬼大佬的SuperBench测试脚本
这个脚本是在基于秋水大佬脚本的基础上修改而成,
特点:
- 改进了显示的模式,基本参数添加了颜色,方面区分与查找。
- I/O测试,更改了原来默认的测试的内容,采用小文件,中等文件,大文件,分别测试IO性能,然后取平均值。
- 速度测试替换成了 Superspeed 里面的测试,第一个默认节点是,Speedtest 默认,其他分别测试到中国电信,联通,移动,各三个不同地区的速度。
使用方法
1 | wget -qO- --no-check-certificate https://raw.githubusercontent.com/oooldking/script/master/superbench.sh | bash |
演示图
Github:https://github.com/oooldking/script/blob/master/superbench.sh
Zbench
不支持IPv6
脚本由漏水和kirito,基于Oldking大佬 的 SuperBench,然后加入Ping以及路由测试的功能,还能生成测评报告,分享给其他人查看测评数据
使用方法
1 | #中文版 |
Demo
演示地址:https://www.zhujiboke.com/zbench-example.html
LemonBench
LemonBench工具(别名LBench、柠檬Bench),是一款针对Linux服务器设计的服务器性能测试工具。通过综合测试,可以快速评估服务器的综合性能,为使用者提供服务器硬件配置信息。
使用方法:
1 | curl -fsSL https://ilemonrain.com/download/shell/LemonBench.sh | bash |
内存检测脚本
检测VPS真实可分配内存的小工具,适用于检测VPS超售情况。本程序检测的可分配内存指的是用户使用时最大能占用的内存量。
使用方法
1 | #CentOS / RHEL |
UnixBench测试脚本
UnixBench是一个类unix系(Unix,BSD,Linux)统下的性能测试工具,一个开源工具,被广泛用与测试linux系统主机的性能。Unixbench的主要测试项目有:系统调用、读写、进程、图形化测试、2D、3D、管道、运算、C库等系统基准性能提供测试数据。
使用方法
1 | wget --no-check-certificate https://github.com/teddysun/across/raw/master/unixbench.sh |
Ping值测试
uPing-一个24小时监测VPS延迟的工具
依赖安装
1 | #Debian / Ubuntu |
使用方法
1 | screen -S uping |
Demo
回程路由测试
从你的 Linux(X86/ARM)/Mac/BSD 系统环境下发起 traceroute 请求,附带链路可视化,兼容性更好,支持 JSON 格式
1 | #下载 |
配置哪吒监控面板被控端
在VPS上配置哪吒监控面板被控端想起对来说是比较简单的,只需要在坚控面板的后台添加服务器,直接点击对应的图标复制安装命令到对应的VPS内执行就可以了。只是有些VPS非常精简,没有执行安装命令依赖的”curl”和”sudo”命令,需要在安装命令运行前安装包含这二个命令的软件包。
curl & sudo安装命令:apt update && apt install curl sudo -y
配置科学上网服务端
这些内容比较敏感,不公开显示。
该部分仅登录用户可见
配置GUI
Gnome在VNC访问的情况下有些问题,并且占用空间比较大,运行时占用内存也比较多,在硬件配置不高的情况下不建议安装。
Lxde最小,也最省空间但是,但是目前发现Chrome不支持在Lxde的GUI环境下运行。
Xfce,介于二者之间吧。
安装了GUI后,内存开销会变的很大,但内存不够时,在浏览器中打开的网页会崩溃掉
另外在root环境下Chrome浏览器默认是无法打开的,需要加上一个--no-sandbox
的参数才能打开。
noVNC是一种能通过web方式就能实现vnc访问远程机器的软件,下面不同桌面程序的配置都会顺便将noVNC一起配置。
但noVNC有个致命的问题不支持ipv6,偍 是可以通过frp的方式穿透出去,那些有IPv4 nat端口的主机可以将noVNC直接监听Nat的端口。
Lxde
lxde的安装相对于另外的旧面程序来说相对是比较简单的,依次输入下面的命令就行。
Debian:
1 | #安装需要的软件包 |
Ubuntu:
1 | #安装需要的软件包 |
Ubuntu可能会出现无法安装 Firefox ESR的问题,可以通过下面的步骤单独安装
安装依赖项:
1 | sudo apt install software-properties-common apt-transport-https -y |
导入 Firefox ESR 浏览器 PPA:
1 | sudo add-apt-repository ppa:mozillateam/ppa -y |
安装 Firefox ESR 浏览器:
1 | sudo apt-get update |
Xfce
如果不是最小安装,先卸载默认的桌面环境gnome
1 | apt-get remove --auto-remove gnome-shell |
安装Xfce4
1 | //更新系统 |
输出信息(可能会有不同,仅供参考 ):
1 | Need to get 138 MB of archives. |
安装并配置VNC
1 | //安装远程控制服务 |
显示:
1 | You will require a password to access your desktops. |
如果要新添加用户,用来连接远程桌面,先添加用户,不需要添加新用户这一步骤忽略。
1 | //添加用户 |
修改xstartup文件
1 | vim ~/.vnc/xstartup |
//复制以下内容替换原文件
1 |
|
VNC连接报错 too many security failures
不知道为什么,经常会出这个提示,而且要保留桌面上的工作,不想结束进程,SSH窗口:
1 | vncconfig -display :1 -set BlacklistTimeout=0 -set BlacklistThreshold=1000000 |
设置vnc开机自启动
1 | crontab -e |
安装浏览器/VLC
1 | apt-get install firefox |
Gnome
排坑:
- 启动VNC: vncserver :1 -localhost no ##:1是用了5901端口,-localhost no是为了让其他计算机可以访问,而不仅仅是本地(不设置这个,测试机用wifi连接,一直连接失败)**
- 执行“1、启动VNC: vncserver :1 -localhost no”,注意一定要退出Conda虚拟环境,使用系统环境,否则会出现无panel、toolbar以及灰屏、黑屏等各种问题 。**
- 开机启动所有用户VNC,需要编写脚本开机运行(网上很多将待执行脚本增加执行权限等配置在”/etc/init.d/“目录下的方式,在>=18.04的系统版本下均已经失效****),见:https://www.cnblogs.com/Deskew/p/13798595.html.**
Introduction
实现室某台服务器系统过旧、使用过久,经常崩溃,本人接手后开始进行升级。
一开始下载并打算直接安装Ubuntu 20.04 Server版本,奈何服务器以太端口不能直连外网(需要登录),代理设置又麻烦,指不定中间有需要联网安装的支持库。最终选择Ubuntu 20.04 Desktop LTS版本进行安装。安装过程省略(选择不安装第三方及媒体包等、安装完成后卸载服务器运行不必要组件和程序即可;另外,后期可按需安装切换服务器运行内核等)。——已安装OpenSSH-Server、remote端口已打开。
以下是介绍如何在Ubuntu20.04LTS上安装配置VNC,使其桌面能被其他局域网内的电脑连接访问。
btw:以下操作相当于默认系统已经有多用户,创建多个用户 :https://www.cnblogs.com/Deskew/p/14469031.html
Setup
1. 安装服务器所需但桌面版缺少的组建和支持库
综上所述,我们要再安装一个桌面管理器环境,能够配合VNC正常运行,实现用户UI远程访问服务器。
- xface4: 轻量级桌面环境,适合远程桌面(中文输入、界面体验等方面的考虑,实验室其他平台正常使用(14.04~18.04),这里没有使用);
- gnome-session-flashback: Gnome经典桌面环境(基于Ubuntu默认自带的Gonme 3.36.4,20.04上成功配置并使用。以下将以此为例,);
- ubuntu-gnome-desktop: 当前最新版本的Ubuntu Gnome桌面环境(系统安装时默认自带,2017年,Ubuntu弃Unity,转而默认搭载Gnome,20.04安装上配置失败,即便多次尝试,无法连接、灰屏、仅有文件浏览器等各种问题,每次相同安装配置还出现过问题不同的情况,遂放弃)。
安装gnome-session-flashback:
1 | server:~$ sudo apt-get install gnome-session-flashback |
注:我的系统本来就是有桌面的。若安装的是server版本,可能还要安装:gnome-terminal、nautilus和gnome-settings-daemon等。另外,根据提示,可能还需要安装gdm3。
2. 关闭防火墙或者开放端口(20.04不关也行,只要ssh远程remote端口可访问即可)
1 | ##由于实验室服务器属于多人多账号使用,每个端口都分别设置防火墙端口开放就很麻烦 |
3. 安装VNC Server
1 | server:~$ sudo apt-get install tigervnc-standalone-server #安装tigervnc-server ##若有提示安装:sudo apt-get install tigervnc-xorg-extension |
4. 设置VNC密码
其他终端用VNC Viewer连接VNC Server时,需要密码(密码长度最大为6位)。跟系统用户密码无关。
1 | server:~$ vncpasswd #每次终端输入该指令都会重置密码(不需要验证旧密码),忘记直接重置即可 |
5. 为VNC设置桌面环境
即配置xstartup文件(每个用户目录下都要执行)。
5.1 打开/新建xstartup文件,
1 | server:~$ vim ~/.vnc/xstartup |
5.2 修改xstartup文件里的内容
测试使用正常的配置如下:
1 | !/bin/sh |
增加xstartup文件执行权限:
1 | server:~$ sudo chmod +x ~/.vnc/xstartup |
至此,xstartup文件修改完成。
6. 启动VNC
终端输入:
1 | server:~$ vncserver :2 -localhost no #2为端口号,no表示非局域网内账户也可访问,每个用户目录下都要执行一次(开机运行参见开机脚本设置:https://www.cnblogs.com/Deskew/p/13798595.html,root下直接su username即可切换,无需验证秘密) |
7. 测试
一些方便的脚本
Warp
改变拥塞算法(bbr、hy、锐速)
注意:OpenVZ架构不支持更换拥塞算法
想要了解拥塞算法原理的的可以参阅下面的文章
《从流量控制算法谈网络优化 – 从 CUBIC 到 BBRv2 算法》
在Linux 下检查当前可用的拥塞算法可以使用如下命令:
1 | sysctl net.ipv4.tcp_available_congestion_control |
hax的机器得到的结果是 :
1 | net.ipv4.tcp_available_congestion_control = reno cubic |
如果想了解当前使用了哪一种拥塞算法可以使用以下命令:
1 | sysctl net.ipv4.tcp_congestion_control |
得到的结果如下。可以看出当前使用的是Cubic算法
1 | net.ipv4.tcp_congestion_control = cubic |
这一部分引用自:https://www.v2rayssr.com/bbr.html
Debian CentOS 开启自带BBR加速
注意事项
本脚本只针对 Debian≥9 或是 CentOS≥8 以上的系统,可以开启系统自带BBR加速。
脚本如下:(可以一起复制运行,也可以分四行代码一条一条运行)
1 | echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf |
四合一 BBR Plus / 原版BBR / 魔改BBR (推荐)
支持环境
Centos 7, Debian 8/9, Ubuntu 16/18 测试通过, 不支持 OVZ
该脚本详细说明:点击访问
脚本如下:
1 | wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh" && chmod +x tcp.sh && ./tcp.sh |
谷歌原版官方BBR加速脚本
适用环境
- 系统支持:CentOS 6 ,Debian 7 ,Ubuntu 12
- 虚拟技术: KVM、Xen、VMware 等,(OpenVZ 不支持! )
- 内存要求:≥128M
注意事项
- 安装 Google BBR 需升级系统内核,有可能出现系统不稳定的现象,请勿在重要的生产环境中安装,以免造成不可预料的后果。
- Google BBR 和锐速不能同时安装,一个是升级内核,一个是降级内核。
该脚本详细说明:点击访问
脚本如下:
1 | wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh |
引用结束
blog.ylx.me
预先准备
centos:yum install ca-certificates wget -y && update-ca-trust force-enable
debian/ubuntu:apt-get install ca-certificates wget -y && update-ca-certificates
不卸载内核版本wget -O tcpx.sh "https://github.com/ylx2016/Linux-NetSpeed/raw/master/tcpx.sh" && chmod +x tcpx.sh && ./tcpx.sh
卸载内核版本wget -O tcp.sh "https://github.com/ylx2016/Linux-NetSpeed/raw/master/tcp.sh" && chmod +x tcp.sh && ./tcp.sh