20250418 更新:已升级至 Xbord+XrayR 方案半年,体验很不错,推荐
强烈推荐阅读 Github | XTLS / Xray-core,包含服务器安装核心、服务器一键脚本、服务器面板推荐、适用客户端推荐等等
SSH 远程登录 VPS
推荐 terminal:Tabby
- 交互现代化
- 内置 SFTP
- 有很多插件
- 可以自建服务
安全防护
新建非 root 用户
新建用户
adduser <用户名>
安装 sudo 功能
apt update && apt install sudo
修改 2.1.1 中新建用户的权限
visudo
在
User Privilege Specification
下加入一行<用户名> ALL=(ALL:ALL) ALL
即可。若希望使用 root 权限时不额外输入密码,则输入<用户名> ALL=(ALL) NOPASSWD: ALL
。
SSH 远程登录程序设置
打开配置文件
nano /etc/ssh/sshd_config
修改配置项:修改 ssh 端口&禁止 root 用户登录
找到
#Port 22
这行,去掉注释,将 22 改成想要改到的端口号找到
PermitRootLogin Yes
这一行,奖 yes 改成 no重启 ssh 服务,使修改生效
systemctl restart ssh
使用新建的用户信息重新进行 ssh 远程连接
网站建设&证书管理
安装 1Panel
安装方法参考官网:1Panel
网站+证书配置
前提要求:使用的二级域名已经解析到服务器
创建网站
Responsive Image 按需选择网站类型
Responsive Image 设置反代 点击网站列表后面的“配置”按钮
Responsive Image Responsive Image 选择 1Panel 的端口添加证书
Responsive Image 这一步按照 1Panel 提示完成即可检查端口是否放行
Xray 服务端配置
参考:https://xtls.github.io/document/level-0/ch07-xray-server.html,忽略 tls 部分
安装 Xray
wget https://github.com/XTLS/Xray-install/raw/main/install-release.sh
sudo bash install-release.sh
rm ~/install-release.sh
配置 Xray
- 生成 uuid
xray uuid
- 创建日志专用文件夹,生成所需日志文件,赋予其他用户权限
mkdir ~/xray_log
touch ~/xray_log/access.log && touch ~/xray_log/error.log
chmod a+w ~/xray_log/*.log
- 创建配置文件
注意点:
- 注意放行 xray 的 inbounds 端口
- 如果 xray 日志显示 fail 检查 log 文件的权限
sudo nano /usr/local/etc/xray/config.json
参考教程中的文件内容:
// REFERENCE:
// <https://github.com/XTLS/Xray-examples>
// <https://xtls.github.io/config/>
// 常用的 config 文件,不论服务器端还是客户端,都有 5 个部分。外加小小白解读:
// ┌─ 1*log 日志设置 - 日志写什么,写哪里(出错时有据可查)
// ├─ 2_dns DNS-设置 - DNS 怎么查(防 DNS 污染、防偷窥、避免国内外站匹配到国外服务器等)
// ├─ 3_routing 分流设置 - 流量怎么分类处理(是否过滤广告、是否国内外分流)
// ├─ 4_inbounds 入站设置 - 什么流量可以流入 Xray
// └─ 5_outbounds 出站设置 - 流出 Xray 的流量往哪里去
{
// 1\\_日志设置
"log": {
"loglevel": "warning", // 内容从少到多: "none", "error", "warning", "info", "debug"
"access": "/home/vpsadmin/xray_log/access.log", // 改为你的日志地址:vpsadmin改为你的用户名
"error": "/home/vpsadmin/xray_log/error.log" // 改为你的日志地址:vpsadmin改为你的用户名
},
// 2_DNS 设置
"dns": {
"servers": [
"https+local://1.1.1.1/dns-query",
"localhost"
]
},
// 3*分流设置
"routing": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{
"type": "field",
"ip": [
"geoip:private"
],
"outboundTag": "block"
},
{
// 3.2 防止服务器直连国内
"type": "field",
"ip": ["geoip:cn"],
"outboundTag": "block"
},
// 3.3 屏蔽广告
{
"type": "field",
"domain": [
"geosite:category-ads-all"
],
"outboundTag": "block"
}
]
},
// 4*入站设置
// 4.1 这里只写了一个最简单的 vless+xtls 的入站,因为这是 Xray 最强大的模式。如有其他需要,请根据模版自行添加。
"inbounds": [
{
"port": 66666, // 填写你想要部署到的端口,和1Panel配置的端口不一致
"protocol": "vless",
"settings": {
"clients": [
{
"id": "", // 填写你的 UUID
"flow": "xtls-rprx-vision",
"level": 0,
"email": "[email protected]" // 填写你的,好像没啥用
}
],
"decryption": "none",
"fallbacks": [
{
"dest": 8080 // 1Panel反代的端口
}
]
},
"streamSettings": {
"network": "tcp",
"security": "tls",
"tlsSettings": {
"alpn": "http/1.1",
"certificates": [
{
"certificateFile": "/docker/npm/letsencrypt/live/npm-1/fullchain.pem", // 改为你的地址
"keyFile": "/docker/npm/letsencrypt/live/npm-1/privkey.pem" // 改为你的地址
}
]
}
}
}
],
// 5*出站设置
"outbounds": [
{
"tag": "direct",
"protocol": "freedom"
},
{
"tag": "block",
"protocol": "blackhole"
}
]
}
- 启动 xray
sudo systemctl start xray
- 查看 xray 状态
sudo systemctl status xray
active (running)
说明正在运行
👉 更多 xray 管理语句:
若你需要暂时关闭
Xray
的服务,那就用stop
命令
sudo systemctl stop xray
- 若你需要重启
Xray
的服务,那就用restart
命令
sudo systemctl restart xray
- 若你需要禁用
Xray
的服务(电脑重启后禁止 Xray 自动运行),那就用disable
命令
sudo systemctl disable xray
- 若你需要启用
Xray
的服务(电脑重启后确保 Xray 自动运行),那就用enable
命令
sudo systemctl enable xray
Xray 客户端配置
参考:https://xtls.github.io/document/level-0/ch08-xray-clients.html