Linux面板安装trojan,建站翻墙一举两得

基于Linux面板搭建网站并添加trojan服务,既能科学上网又可以弄个博客记录自己的折腾之路。

Trojan将流量伪装成用户正常访问网页时的HTTPS流量,防止流量被检测和干扰。Trojain一般都是通过Caddy来分流翻墙流量,Caddy是一个强大的、开源的Web服务器,使用Go语言编写,类似于Nginx,但现在建立网站主流的还是Nginx。

建立网站一般需要php、mysql等,小白建立php、mysql环境有一定困难,所以我们建立个人博客等网站往往使用面板,避免了linux的命令行操作,降低了非linux专业人士搭建网站的难度。各大linux面板也是只提供Nginx或Apache作为Web服务端程序。

所以本文介绍就基于Linux面板搭建Trojan翻墙出国服务,这样我们翻墙、建站两不误,一举两得。

面板有很多种,国内用的较多的是宝塔面板,另一个仿宝塔面板的Mdserver-web也不错,关键是无需注册什么的,隐私性更高。Mdserver-web项目地址:

https://github.com/midoks/mdserver-web

一、新建vps面板环境

首先你需要一个vps服务器,可以选择美国、日本、新加坡、香港等地的虚拟服务器vps。买前可以先了解下风评,总之要想速度快就买使用电信GIA线路、联通AS9929线路的vps,如搬瓦工、斯巴达等,缺点是价钱不便宜。预算不支持的话买个普通vps安装bbr也能凑活用用,就是高峰期可能速度较慢。

一个域名,如果你没有域名的话可以进入https://www.namesilo.com/注册一下,再购买一个域名,找最便宜的域名即可。不要在国内购买,不备案无法解析。详情见https://www.bandwh.com/kxsw/88.html   。
面板Mdserver-web可以一键搭建,centos、debian、ubuntu都支持,安装命令:

curl -fsSL  https://raw.githubusercontent.com/midoks/mdserver-web/master/scripts/install.sh | bash

ubuntu、debian先用sudo su 切换root用户再执行上述命令。如不能识别bash、curl等可先执行下列命令安装bash、curl

​​​​​​​apt-get install bash curl -y

搭建完成后会显示用户名、密码、以及登录地址,进入管理界面后可以在“面板设置”里面进行修改。

Linux面板安装trojan,建站翻墙一举两得

第一次进入会提示推荐安装,  这里建议安装的各软件版本见如下图:

Linux面板安装trojan,建站翻墙一举两得

由于是编译安装你的vps空间建议20G起步。OpenResty是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项,可以认为就是Nginx。安装完你的vps就完成了LNMP的环境搭建。注意要是vps的cpu不强的话mysql5.7编译时间较长,请耐心等待。如果网站程序对mysql没有要求,可以安装mysql5.5减少空间占用及编译时间。

为了提高速度,可以安装bbr加速,使用原版就行,魔改版不一定有多大作用, 可以可以用秋水逸冰的一键bbr脚本,debian10内置有bbr。只需要用脚本开通下。xshell进入vps,输入命令:

wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh

完成后输入yes重启。

二、搭建网站

安装完php、openresty、mysql后就可以搭建自己的博客等网站了。注意不能挂CDN服务,不然无法申请ssl,也不能trojan翻墙。
以域名wodeweb.com简单介绍下:
1、mysql 里面“管理列表”-“添加数据库”建立一个你网站的Mysql数据库。

2、“网站”处添加网站,填入你的域名如wodeweb.com 、www.wodeweb.com各一行后点击“添加”

Linux面板安装trojan,建站翻墙一举两得

访问你的域名wodeweb.com,出现 Work has started!!! 说明网站建立成功。如果出现无法访问,在“安全”里防火墙放行80,443端口。虽然Mdserve-web默认已经开放了80、443端口,但是在部分vps提供的linux版本中不能生效,需要删除自带的80、443端口,重新放行80、443端口。

3、然后点击”设置“,在“SSL”处申请证书。Let’s Encrypt 或ACME任选一个来申请SSL证书,勾选域名,不要挂Cloudflare CDN,否则SSL证书申请不下来。申请完成后点击保存。访问你的域名https://wodeweb.com出现小锁图标及表示SSL申请成功。

Linux面板安装trojan,建站翻墙一举两得

4、站点处点击“网站目录”/www/wwwroot/www.wodeweb.com,放入你的建站程序,如wordpress等。不再赘述。有些建站程序需要的php扩展,可以到php处“安装扩展”。

三、搭建Trojan服务

1、这里使用Trojian官方的快速搭建脚本
xshell里面输入:

sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/trojan-gfw/trojan-quickstart/master/trojan-quickstart.sh)"

2、配置网站,由于Trojan科学上网要求流量先经过Trojan(和v2ray相反,v2ray ws是流量先经过nginx等web服务端),Trojan要占用443端口,所以要注释掉Nginx对443端口的占用,面板网站设置 点击“设置”-“配置文件”,将listen 443 ssl http2;listen [::]:443 ssl http2;这两句前加入#注释掉

    #listen 443 ssl http2; 
    #listen [::]:443 ssl http2;

然后保存。

Linux面板安装trojan,建站翻墙一举两得

另外“设置”-“配置文件”查看申请的ssl证书路径,把路径拷贝出来。

Linux面板安装trojan,建站翻墙一举两得

3、点击面板“文件”,进入/usr/local/etc/trojan,修改配置文件。点击config.json后的“编辑”

Linux面板安装trojan,建站翻墙一举两得

将原来的

"cert": "/path/to/certificate.crt",
"key": "/path/to/private.key",
换成你刚才申请的SSL证书位置,
Linux面板安装trojan,建站翻墙一举两得

​​​​​​​
修改Trojan密码,本例只使用一个密码,将下列这句

"password": [
    "password1",
    "password2"
],

改为

"password": [
    "zheshimima"
],

zheshimima就是我们自己修改后的密码,然后保存修改。
4、运行trojan
Xshell中执行:

systemctl start trojan

上述命令运行后无反馈,我们输入下列命令查看是否成功运行Trojan:

systemctl status trojan

反馈出现active (running),即表示运行成功

● trojan.service - trojan
   Loaded: loaded (/etc/systemd/system/trojan.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2022-12-24 05:22:58 EST; 5ms ago
     Docs: https://trojan-gfw.github.io/trojan/config
           https://trojan-gfw.github.io/trojan/
 Main PID: 3314 (trojan)
   CGroup: /system.slice/trojan.service

我第一次运行没有成功,提示 Process: 3550 ExecStart=/usr/local/bin/trojan /usr/local/etc/trojan/config.json (code=exited, status=1/FAILURE)
一番检查后发现是”key”: “”key”: ” /www/server/web_conf/ssl/www.wodeweb.com/privkey.pem”,/www/前多了个空格(见前图),导致路径检查不到,所以拷贝SSL证书路径时要小心。
如果正常运行,我们加入开机自启,运行

systemctl enable trojan

还可以下列命令查看错误日志:

journalctl -fu trojan

5、Trojan成功启动后,https://www.wodeweb.com/也可正常被访问,虽然Nginx停止了443端口https服务,但是Trojan提供了https服务,所以https://www.wodeweb.com/也可正常访问。由于Trojan作为前置web服务端,配置了https证书文件,导致只能建立一个https站,新建另一个https站会导致SSL不匹配。需要添加其他网站,Nginx只能使用80端口提供http服务,新增加的站点也要注意加#号屏蔽掉443端口只让Trojan占用,否则提示冲突。

如果确实需要配置多个https网站,可以使用 SNI(TLS 服务器名称指示),它要求在一个 IP 有多个 TLS 服务站点的情况下,客户端在初始 TLS 握手期间指定要连接到哪个站点,数据上的实现就是在 Client Hello 阶段里面新增一个 server_name 字段。需要修改很多配置,有机会再详谈。
6、路由器里添加Trojan客户端,只要输入服务器地址及密码即可完成,端口为443。如果你SSL证书不是Let’s Encrypt 或ACME申请的,而是自签证书还需勾选TLS,并上传你的私钥。

Linux面板安装trojan,建站翻墙一举两得

路由器配置好了后,这样所有的局域网内设备都可以科学上网了。手机等其他客户端只要装上对应的Trojan客户端,输入域名、密码等就可以安心上网了。

技术不断升级,请注意文章时效性。
本站文章,欢迎转发。转载请注明出处:https://www.bandwh.com/net/91.html

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注