跳转至

云服务器配置与实用托管

使用systemctl进行进程守护

  1. 编写服务单元文件:

  2. 创建文件/etc/systemd/system/my_service.service,服务名my_service可自定义。

  3. 输入内容:

    Text Only
    [Unit]
    Description = My Custom Service  # 简短的服务描述
    After = network.target syslog.target  # 服务启动顺序
    Wants = network.target  # 服务依赖,非强制
    
    [Service]
    ExecStart = /usr/bin/my_executable  # 必须,服务的启动命令
    Restart = always  # 设置自动重启策略
    
    [Install]
    WantedBy = multi-user.target  # 必须,指定服务的目标运行级别(多用户)
    
  4. 使用systemctl

Bash
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(云服务器)

  1. frp上下载合适版本,解压后应有5个文件(frpc,frpc.toml,frps,frps.toml,LICENSE

  2. 服务端只需要frpsfrps.toml,移动到合适的目录下(以/home/admin/frp-server/为例)

  3. 编辑frps.toml文件

Text Only
bindPort = 7000  # frps的端口,客户端frps通过该端口访问服务端的frps
auth.token = "my_key"  # 可选,服务端与客户端一致
  1. 服务器开放端口

  2. 7000(tcp):frps端口

  3. 使用systemctl守护进程

Text Only
ExecStart = /home/admin/frp-server/frps -c /home/admin/frp-server/frps.toml

配置frp-client(内网机器)

  1. frp上下载合适版本,解压后应有5个文件(frpc,frpc.toml,frps,frps.toml,LICENSE

  2. 服务端只需要frpcfrpc.toml,移动到合适的目录下(以/usr/local/frp-client/为例)

  3. 编辑frpc.toml文件(更多的使用方法见示例

Text Only
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监听该端口,将该端口的流量转发到本地端口
  1. 服务器开放端口

  2. 6000(tcp):自定义端口,与frpc.toml中的远程端口一致

  3. 使用systemctl守护进程

Text Only
ExecStart = /usr/local/frp-client/frpc -c /usr/local/frp-client/frpc.toml

使用ssh访问内网机器(任意机器)

  1. 通过SSH连接
Bash
ssh 内网用户名@公网IP -p 6000
  1. 使用VSCode的Remote - SSH扩展连接远程主机

  2. 在VSCode中执行Remote-SSH: 打开 SSH 配置文件命令,选择一个配置文件

    Text Only
    Host 自定义名称
        HostName 公网IP
        User 内网用户名
        Port 6000
    
  3. 执行Remote-SSH: 连接到主机命令,选择主机配置。

使用rustdesk进行远程桌面

配置服务端(云服务器)

  1. rustdesk-server上下载合适版本,解压后得到3个文件(hbbr,hbbs,rustdesk-utils

  2. 移动到合适的目录下(以/home/admin/rustdesk-server/为例)

  3. 服务器开放端口

  4. 21115(tcp):hbbs用于NAT类型测试

  5. 21116(udp):hbbs用于ID注册与心跳服务
  6. 21116(tcp):hbbs用于TCP打洞与连接服务
  7. 21117(tcp):hbbr用于中继服务
  8. 21118(tcp),21119(tcp):用于网页客户端(可不开)

  9. 使用systemctl守护进程

  10. hbbs服务(-k _该参数禁止没有key的用户建立非加密连接)

    Text Only
    ExecStart = /home/admin/rustdesk-server/hbbs -r 公网IP -k _
    
  11. hbbr服务(-k _该参数禁止没有key的用户建立非加密连接)

    Text Only
    ExecStart = /home/admin/rustdesk-server/hbbr -k _
    
  12. 保存公钥。在服务端的hbbs第一次运行时会在运行目录下自动产生一对私钥(id_ed25519)和公钥(id_ed25519.pub),公钥(id_ed25519.pub)内容会在配置客户端时使用。

配置客户端(被控机器)

  1. rustdesk上下载合适版本并安装
  2. 在设置-网络-ID/中继服务器中进行配置

  3. ID服务器:公网IP(中继服务器会自动推断)

  4. Key:公钥内容
  5. 在主页检查网络是否就绪

  6. 在设置-安全-密码中进行配置(在远程电脑无人时进行连接)

  7. 选择使用固定密码或同时使用两种密码

  8. 设置固定密码

  9. 保存主页ID

配置客户端(任意机器)

  1. rustdesk上下载合适版本并安装
  2. 在设置-网络-ID/中继服务器中进行配置

  3. ID服务器:公网IP(中继服务器会自动推断)

  4. Key:公钥内容
  5. 在主页检查网络是否就绪

  6. 在主页输入被控机器ID,点击连接,输入固定密码进行连接

使用dante进行socks代理

  1. 命令行执行
Bash
sudo apt install dante-server
danted -v
  1. 编写/etc/danted.conf文件
Text Only
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
}
  1. 服务器开放端口
  2. 1080(tcp):dante用于连接和数据传输

  3. 无需自行配置systemctl,直接启动danted服务

Bash
sudo systemctl restart danted
sudo systemctl status danted
  1. 创建新用户(可选):注意当客户端连接此代理服务器时,用户密码将以纯文本形式在网络传输
Bash
sudo useradd -r -s /bin/false 新用户名
sudo passwd 新用户名
  1. 代理连接测试
Bash
curl -v -x socks5://新用户名:新用户密码@公网IP:1080 http://www.baidu.com/

使用teamspeak进行语音交流

配置服务端(云服务器)

  1. teamspeak上下载合适版本,解压后移动到合适的目录,(以/home/admin/teamspeak3-server/为例)

  2. 同意许可条款

Text Only
touch .ts3server_license_accepted
  1. 首次启动服务
Text Only
./ts3server_startscript.sh start
./ts3server_startscript.sh stop

第一个IMPORTANT是网页服务端相关信息(可不记录)

第二个IMPORTANT是管理员token(必须记录)

  1. 服务器开放端口

  2. 9987(udp):语音服务端口

  3. 30033(tcp):文件传输端口
  4. 41144(tcp):TSDNS

  5. 使用systemctl守护进程

Text Only
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

配置客户端(任意机器)

  1. teamspeak上下载合适版本并安装
  2. 在connections-connect中输入公网IP,第一个连接服务器的用户需要管理员token
  3. 中文语言包