云服务器配置与实用托管
使用systemctl进行进程守护¶
-
编写服务单元文件:
-
创建文件
/etc/systemd/system/my_service.service
,服务名my_service
可自定义。 -
输入内容:
-
使用systemctl
sudo systemctl daemon-reload # 重新加载systemd配置
sudo systemctl start my_service # 启动服务
sudo systemctl status my_service # 检查服务状态
sudo systemctl stop my_service # 停止服务
sudo systemctl enable my_service # 设置服务开机自动启动
使用frp进行内网穿透¶
配置frp-server(云服务器)¶
-
在frp上下载合适版本,解压后应有5个文件(
frpc,frpc.toml,frps,frps.toml,LICENSE
) -
服务端只需要
frps
和frps.toml
,移动到合适的目录下(以/home/admin/frp-server/
为例) -
编辑
frps.toml
文件
-
服务器开放端口
-
7000(tcp):frps端口
-
使用systemctl守护进程
配置frp-client(内网机器)¶
-
在frp上下载合适版本,解压后应有5个文件(
frpc,frpc.toml,frps,frps.toml,LICENSE
) -
服务端只需要
frpc
和frpc.toml
,移动到合适的目录下(以/usr/local/frp-client/
为例) -
编辑
frpc.toml
文件(更多的使用方法见示例)
serverAddr = "xxx.xxx.xxx.xxx" # 服务器的公网IP
serverPort = 7000 # frps的端口,客户端frps通过该端口访问服务端的frps
auth.token = "my_key" # 可选,服务端与客户端一致
[[proxies]]
name = "ssh" # 自定义名称
type = "tcp" # 代理类型
localIP = "127.0.0.1" # 内网地址
localPort = 22 # 内网端口
remotePort = 6000 # 远程端口,frps监听该端口,将该端口的流量转发到本地端口
-
服务器开放端口
-
6000(tcp):自定义端口,与frpc.toml中的远程端口一致
-
使用systemctl守护进程
使用ssh访问内网机器(任意机器)¶
- 通过SSH连接
-
使用VSCode的Remote - SSH扩展连接远程主机
-
在VSCode中执行
Remote-SSH: 打开 SSH 配置文件
命令,选择一个配置文件 -
执行
Remote-SSH: 连接到主机
命令,选择主机配置。
使用rustdesk进行远程桌面¶
配置服务端(云服务器)¶
-
在rustdesk-server上下载合适版本,解压后得到3个文件(
hbbr,hbbs,rustdesk-utils
) -
移动到合适的目录下(以
/home/admin/rustdesk-server/
为例) -
服务器开放端口
-
21115(tcp):hbbs用于NAT类型测试
- 21116(udp):hbbs用于ID注册与心跳服务
- 21116(tcp):hbbs用于TCP打洞与连接服务
- 21117(tcp):hbbr用于中继服务
-
21118(tcp),21119(tcp):用于网页客户端(可不开)
-
使用systemctl守护进程
-
hbbs服务(
-k _
该参数禁止没有key的用户建立非加密连接) -
hbbr服务(
-k _
该参数禁止没有key的用户建立非加密连接) -
保存公钥。在服务端的hbbs第一次运行时会在运行目录下自动产生一对私钥(
id_ed25519
)和公钥(id_ed25519.pub
),公钥(id_ed25519.pub
)内容会在配置客户端时使用。
配置客户端(被控机器)¶
- 在rustdesk上下载合适版本并安装
-
在设置-网络-ID/中继服务器中进行配置
-
ID服务器:公网IP(中继服务器会自动推断)
- Key:公钥内容
-
在主页检查网络是否就绪
-
在设置-安全-密码中进行配置(在远程电脑无人时进行连接)
-
选择使用固定密码或同时使用两种密码
-
设置固定密码
-
保存主页ID
配置客户端(任意机器)¶
- 在rustdesk上下载合适版本并安装
-
在设置-网络-ID/中继服务器中进行配置
-
ID服务器:公网IP(中继服务器会自动推断)
- Key:公钥内容
-
在主页检查网络是否就绪
-
在主页输入被控机器ID,点击连接,输入固定密码进行连接
使用dante进行socks代理¶
- 命令行执行
- 编写
/etc/danted.conf
文件
logoutput: syslog
user.privileged: root
user.unprivileged: nobody
# The listening network interface or address.
internal: 0.0.0.0 port=1080
# The proxying network interface or address.
external: eth0
# socks-rules determine what is proxied through the external interface.
socksmethod: username
# client-rules determine who can connect to the internal interface.
clientmethod: none
client pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
}
socks pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
}
- 服务器开放端口
-
1080(tcp):dante用于连接和数据传输
-
无需自行配置systemctl,直接启动danted服务
- 创建新用户(可选):注意当客户端连接此代理服务器时,用户密码将以纯文本形式在网络传输
- 代理连接测试
使用teamspeak进行语音交流¶
配置服务端(云服务器)¶
-
在teamspeak上下载合适版本,解压后移动到合适的目录,(以
/home/admin/teamspeak3-server/
为例) -
同意许可条款
- 首次启动服务
第一个IMPORTANT是网页服务端相关信息(可不记录)
第二个IMPORTANT是管理员token(必须记录)
-
服务器开放端口
-
9987(udp):语音服务端口
- 30033(tcp):文件传输端口
-
41144(tcp):TSDNS
-
使用systemctl守护进程
ExecStart = /home/admin/teamspeak3-server/ts3server_startscript.sh start inifile=ts3server.ini
ExecStop = /home/admin/teamspeak3-server/ts3server_startscript.sh stop
PIDFile = /home/admin/teamspeak3-server/ts3server.pid
Type=forking