phps_admin 发布的文章

1.安装alpine系统.从linux重装系统到ALpine系统

wget --no-check-certificate -qO InstallNET.sh 'https://raw.githubusercontent.com/leitbogioro/Tools/master/Linux_reinstall/InstallNET.sh' && chmod a+x InstallNET.sh

bash InstallNET.sh -alpine

root 22 LeitboGi0ro

2.更新必要组件

apk update && apk upgrade && apk add curl wget

3.开启swap虚拟内存

wget https://raw.githubusercontent.com/zhucaidan/swap.sh/main/swap.sh && bash swap.sh

4.开启BBR加速模块

echo “tcp_bbr” >> /etc/modules && modprobe tcp_bbr
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
sysctl -p

5.bbr已经开启成功,可以使用以下方式查看模块:

lsmod | grep bbr

6.安装Alpine版本小内存xui

apk add curl&&apk add bash && bash <(curl -Ls https://raw.githubusercontent.com/Lynn-Becky/Alpine-x-ui/main/alpine-xui.sh)

apk add curl && apk add bash && bash <(curl -Ls https://raw.githubusercontent.com/ozersource/x-ui-alpine/main/x-ui-alpine)

8.alpine其余常用安装脚本

安装docker

apk update && apk add docker

rc-update add docker default

service docker start
安装docker-compose

curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

请注意:以下所有操作需要在root下进行。若在非root用户下执行,请重新以root用户登录或者使用sudo su后执行。

1.开启开机自动加载tcp_bbr模块

echo “tcp_bbr” >> /etc/modules && modprobe tcp_bbr

2.向/etc/sysctl.conf添加以下内容

net.core.default_qdisc=fq_codel

net.ipv4.tcp_congestion_control=bbr

3. 重新加载sysctl

sysctl -p

到这里,bbr已经开启成功,可以使用以下方式查看模块:

lsmod | grep bbr

网络的线路:
网络线路分为公网和内网,99%用户使用的是走公网线路,并且大都采用合租的方式,一般都是hkt(香港电讯),这样合租会有堵车的情况不如独享线路。节点多的一般都是合租线路,节点少的一般都是独享,因为独享成本高。合租线路一般是不限流量或者流量很多而且不限带宽,所以在高峰期会堵车,不稳定。

如何判断是不是走内网的线路?什么是IPLC?
一般来说,走IPLC的就是内网线路了。

IPLC是”International Private Leased Circuit” 的缩写,即“国际私用出租线路”,是指用户专用的跨国的数据综合信息业务的通信线路。通俗地说,也就是指传统的专线,用于互连两点之间的通信,只不过IPLC是跨国跨境的而已。

其原理就是一台服务器在国外,一台服务器在国内,所有的数据都是通过这两台服务器内网传输的。其优势就是不过GFW(所以不会存在被封的情况),因为是内网,防火墙检测不到,所以我们在国内访问的就是国内的服务器,然后国内的服务器走内网传输到国外的服务器帮我们上网,优势就是快,稳定,不会受高峰期影响,但是成本高,基本上是按照流量收费的,所以这种是限制用户流量的。

什么是BGP?
BGP(边界网关协议)主要用于互联网AS(自治系统)之间的互联,BGP的最主要功能在于控制路由的传播和选择最好的路由。

其原理也是国内一台服务器,国外一台服务器,但是与IPLC不同的是走的是公网。但是使用了BGP以后对线路的优化是特别明显的,但是给线路增加BGP服务器是花钱的,这也就增加了成本,所以一般不会给香港这么近的节点增加BGP服务器,而IPLC天生就是两台服务器,就是自带中转的,所以访问起来更快。一般有BGP的都会标识出来,因为这也是一个卖点。

中国联通 、中国电信、中国移动、教育网和一些大的民营IDC运营商都具有AS号,全国各大网络运营商多数都是通过BGP协议与自身的AS号来实现多线互联的。使用BGP协议互联后,网络运营商的所有骨干路由设备将会判断到IDC机房IP段的最佳路由,以保证不同网络运营商用户的高速访问。

优势分析
BGP机房在一定程度上解决了各用户南北互通的问题,提高了用户的访问速度,用BGP协议实现的单IP双线路的效果。该方案就是通过BGP协议,直接将其中一条线路的IP映射另外一条线路IP上,当访客浏览你的网站时,会自动根据实际情况选择访问速度最快的线路,这样各个运营商的用户都能达到最佳的访问速度。

1. 租用的服务器只有一个IP,用户的访问路线是由路由器根据访客的实际访问速度选择最优访问路径,来选择访问的。而且不占用任何的服务器资源。服务器的上行和下行都是有路由器来选择最佳的路线,所以这样能够真正的做到各运营商之间都达到最佳的访问速度实现真正的BGP效果。

2. 由于BGP协议本身具有冗余备份、消除环路的特点,所以当你托管或者租用的服务器出现故障时,能实现互相备份。同时自动切换到其它线路去,并且不影响正常访问。

3. BGP服务器租用还有较好的拓展性和融合性,可以实现和其它运营商互联互通,轻松实现单IP多线路,做到所有互联运营商的用户访问都很快。

1.下载运行文件(自行去下面代码网址替换适合自己机器架构的版本):

wget -O realm.tar.gz https://github.com/zhboner/realm/releases/download/v2.4.6/realm-x86_64-unknown-linux-gnu.tar.gz && tar -xvf realm.tar.gz && chmod +x realm

Github被屏蔽的试试下面这个:

wget -O realm.tar.gz https://mirror.ghproxy.com/https://github.com/zhboner/realm/releases/download/v2.4.6/realm-x86_64-unknown-linux-gnu.tar.gz && tar -xvf realm.tar.gz && chmod +x realm

2.去/root文件夹下新建config.toml文件,并写入(具体远程IP和端口,本机端口自己改):

[[endpoints]]
listen = "0.0.0.0:5000"
remote = "8.8.8.8:443"

[[endpoints]]
listen = "0.0.0.0:6000"
remote = "[2400:3200::1]:443"

3.去/etc/systemd/system文件夹下新建realm.service文件,并写入:

[Unit]
Description=realm
After=network-online.target
Wants=network-online.target systemd-networkd-wait-online.service

[Service]
Type=simple
User=root
Restart=on-failure
RestartSec=5s
DynamicUser=true
WorkingDirectory=/root
ExecStart=/root/realm -c /root/config.toml

[Install]
WantedBy=multi-user.target

4.启动服务:

systemctl daemon-reload
systemctl enable realm
systemctl restart realm
systemctl status realm

备用一键脚本

    wget -N --no-check-certificate https://git.io/realm.sh && chmod +x realm.sh && ./realm.sh

问题汇总(更新中)

2.6.0版本,如果在config.toml上配置了日志路径,系统上会出现 Read-only file system (os error 30)

在realm.service中注释掉DynamicUser=true就可以了