## 0.前期准备 某些业务场景下需要构建安全可靠的网络隧道,来打通异地内网环境或从外部访问内网的私有资源。 本文将使用 Debian 云镜像以及 `Tailscale` 来制作内网组网服务器。 对于虚拟机创建部分,请参考 [04.PVE创建模板虚拟机](./04.PVE创建模板虚拟机.md) 。 ## 1.配置系统 由于 TS 服务器具备路由功能,所以在配置方法和系统参数方面与内网 DNS 服务器有一些区别。 ### 1.1.配置 SSH 与配置内网 DNS 服务器时一样,首先需要调整系统的 SSH 登录权限参数。 在虚拟机的命令行界面,使用 `vim` 编辑器编辑 `sshd` 服务的配置文件,执行以下命令。 ```bash ## 编辑 ssh 配置文件 $ sudo vim /etc/ssh/sshd_config.d/server_sshd.conf ``` 在配置文件中添加以下配置项,并保存。 ```bash ## SSH 配置项 PasswordAuthentication yes PermitEmptyPasswords no UseDNS no ``` 修改完成后,需要重启 SSH 服务。 ```bash ## 重启 sshd $ sudo systemctl restart ssh.service ``` ### 1.2.配置软件源 使用 `vim` 编辑器编辑 `debian.sources` 配置文件,执行以下命令。 ```bash ## 编辑 debian.sources 配置文件 $ sudo vim /etc/apt/sources.list.d/debian.sources ``` 删除里面全部内容,添加以下配置项,并保存。 ```bash ## 系统软件源配置项 Types: deb URIs: https://mirrors.ustc.edu.cn/debian Suites: bookworm bookworm-updates Components: main contrib non-free non-free-firmware Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg Types: deb URIs: https://mirrors.ustc.edu.cn/debian-security Suites: bookworm-security Components: main contrib non-free non-free-firmware Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg ``` 为了防止 `Cloud-Init` 服务意外修改软件源配置,需要添加文件保护,执行以下命令。 ```bash ## 增加文件保护 $ sudo chattr +i /etc/apt/sources.list.d/debian.sources ## 检查文件保护 $ lsattr /etc/apt/sources.list.d/debian.sources #### 示例输出 ----i---------e------- /etc/apt/sources.list.d/debian.sources ``` 进一步添加 TS 签名密钥以及软件源,执行以下命令。 ```bash ## 添加 TS 签名密钥 $ curl -fsSL https://pkgs.tailscale.com/stable/debian/bookworm.noarmor.gpg | sudo tee /usr/share/keyrings/tailscale-archive-keyring.gpg > /dev/null ## 添加 TS 软件源 $ curl -fsSL https://pkgs.tailscale.com/stable/debian/bookworm.tailscale-keyring.list | sudo tee /etc/apt/sources.list.d/tailscale.list ``` ### 1.3.安装软件 软件源设置完成后,需要更新系统,执行以下命令。 ```bash ## 清理不必要的包 $ sudo apt clean && sudo apt autoclean && sudo apt autoremove --purge ## 更新软件源 $ sudo apt update ## 更新系统 $ sudo apt dist-upgrade ``` 接下来安装系统必要软件,安装 `iperf3` 后,系统将询问是否将其作为系统服务开机自启,选择 `no` 即可。 ```bash ## 安装系统软件 $ sudo apt install qemu-guest-agent zsh git htop tmux cron nftables sshguard neovim ## 安装系统自动更新工具 $ sudo apt install unattended-upgrades powermgmt-base python3-gi ## 安装网络工具 $ sudo apt install iperf iperf3 iftop lsof knot-dnsutils dnsmasq conntrack ## 安装 Tailscale $ sudo apt install tailscale ## 写入磁盘 $ sudo sync ```