4、初始配置:主机名、DNS、NTP、管理用户、SSH访问、Web GUI(可选)配置
VyOS 作为一款基于 Debian 的开源网络操作系统,其初始配置的合理性直接决定了后续运维的效率和安全性。本章将聚焦于设备上线前的“地基”工作:主机名、DNS、NTP、管理用户、SSH 访问以及可选的 Web GUI。这些配置看似基础,但每一项都涉及系统身份、时间同步、认证授权和远程管理通道的建立。我们将从核心原理出发,结合操作流程、实战案例与常见误区,帮助您构建一个稳固、可审计且安全的设备管理基线。
上图清晰地展示了本章配置项之间的逻辑关系:系统基础配置(主机名、DNS、NTP、管理用户)是上层服务(SSH、Web GUI)的依赖,而所有配置最终都需要通过安全加固与审计来保障。下面我们将逐一深入。
4.1 核心原理:为什么这些“小配置”如此重要?
在进入命令行之前,理解每项配置的底层意义至关重要。这能帮助您在面对复杂网络环境时做出正确的设计决策。
- 主机名(Hostname):它是设备在网络中的唯一标识。在 Syslog 日志、SNMP 告警、LLDP 邻居发现中,主机名是快速定位设备身份的关键字段。一个语义化的主机名(如
PE-Router-SH-BJ-01)能极大提升排障效率。 - DNS 解析:VyOS 的 DNS 配置分为两部分:系统解析器(用于设备自身解析域名,如访问 NTP 服务器、更新源)和 DHCP 客户端(为下游用户提供 DNS 转发)。正确配置系统 DNS 是保证 NTP 同步和软件包更新的前提。
- NTP 时间同步:网络设备的日志时间戳、证书有效性验证、RADIUS/TACACS+ 认证(Kerberos 依赖时间)都要求设备时钟高度准确。时间偏差过大会导致日志无法关联分析,甚至认证失败。
- 管理用户与 AAA:VyOS 默认仅有
vyos用户。创建独立的管理用户并分配不同权限级别(VyOS 支持 1-15 级权限),是实现权限分离和操作审计的基础。默认的vyos用户拥有完全权限,不应共享给多人使用。 - SSH 与 Web GUI:SSH 是 CLI 远程管理的标准协议,其配置涉及监听地址、端口、认证方式(密码/公钥)和版本。Web GUI(基于 HTTPS 的 REST API 或图形界面)则提供了更直观的操作方式,但因其攻击面更大,通常建议仅在管理网段启用。
4.2 操作流程:从零开始的基础配置
以下操作均在 VyOS 的配置模式下进行(configure 命令进入)。所有修改在 commit 后生效,save 后永久保存。
4.2.1 配置主机名与 DNS
configure
set system host-name 'R1-Core-SH'
# 配置系统 DNS 服务器(用于设备自身解析)
set system name-server '223.5.5.5'
set system name-server '8.8.8.8'
# 配置域名搜索列表(可选)
set system domain-search 'example.com'
commit
save
domain-search 配置会影响设备解析短主机名时的行为,在大型网络中应谨慎设置。
4.2.2 配置 NTP 时间同步
configure
# 删除默认的 NTP 服务器(如果有)
delete system ntp server
# 配置国内常用的 NTP 服务器
set system ntp server 'ntp.aliyun.com'
set system ntp server 'ntp.tencent.com'
# 可选:配置 NTP 认证(防止中间人攻击)
set system ntp auth-key 1 id '10'
set system ntp auth-key 1 md5 'your-secret-key'
set system ntp server 'ntp.aliyun.com' key-id '1'
commit
save
# 验证同步状态
run show ntp status
验证输出应包含 synchronised to NTP server 字样。如果显示 unsynchronised,请检查 UDP 123 端口连通性及防火墙规则。
4.2.3 创建管理用户与权限控制
configure
# 创建用户 'admin01',并设置密码(交互式输入)
set system login user 'admin01' authentication plaintext-password
# 设置用户权限级别(15 为最高权限,等同于 vyos 用户)
set system login user 'admin01' level '15'
# 创建只读用户 'viewer'
set system login user 'viewer' authentication plaintext-password
set system login user 'viewer' level '1'
# 可选:配置用户 SSH 公钥(推荐生产环境使用)
set system login user 'admin01' authentication public-keys 'admin-key' key 'AAAAB3NzaC1yc2E...'
set system login user 'admin01' authentication public-keys 'admin-key' type 'ssh-rsa'
commit
save
sudo 风格的权限分离,而非直接赋予所有人生根权限。
4.2.4 配置 SSH 服务
configure
# 设置 SSH 监听地址(仅监听管理网段)
set service ssh listen-address '192.168.10.0/24'
# 设置 SSH 端口(非默认端口可降低扫描风险)
set service ssh port '2222'
# 禁用密码登录,仅允许公钥认证(高安全环境)
set service ssh disable-password-authentication
# 限制 SSH 访问源地址(结合防火墙更佳)
set service ssh allow-list '10.0.0.0/8'
set service ssh allow-list '172.16.0.0/12'
commit
save
SSH 配置完成后,建议立即使用新配置的端口和用户进行测试,避免因配置错误导致无法远程管理。
4.2.5 启用 Web GUI(可选)
configure
# 启用 HTTPS 服务(默认端口 443)
set service https listen-address '192.168.10.254'
# 生成自签名证书(生产环境建议使用 CA 签发的证书)
set service https certificate self-signed
# 限制 Web GUI 访问源
set service https allow-list '192.168.10.0/24'
commit
save
https://192.168.10.254 进行配置。但请注意,Web GUI 的会话管理、CSRF 防护等安全机制不如 SSH 成熟,强烈建议仅在受信管理网络中使用,并启用严格的访问控制列表。
4.3 案例拆解:企业分支路由器上线配置实战
某企业新设立上海分支办公室,需要部署一台 VyOS 路由器(型号:VYOS-8300)连接总部(通过 IPsec VPN)和互联网。网络规划如下:
- 管理地址:192.168.200.1/24(独立管理 VLAN)
- WAN 接口:DHCP 获取地址(电信光纤)
- LAN 接口:192.168.1.0/24(办公网)
- 总部 NTP 服务器:ntp.hq.example.com(需通过 VPN 访问)
- 管理要求:仅允许 IT 部门(源地址 10.10.0.0/16)通过 SSH 和 HTTPS 管理
实施步骤与关键决策:
- 基础配置:设置主机名为
SH-BR-01,配置 DNS 为 223.5.5.5 和 114.114.114.114(确保 VPN 未建立时也能解析公网域名)。 - NTP 配置:由于 NTP 服务器在总部内网,需先建立 VPN 隧道。但 VPN 依赖证书和时间同步,形成循环依赖。解决方案:先配置公网 NTP(如 ntp.aliyun.com)完成初步同步,待 VPN 建立后再切换为总部 NTP 服务器。
- 用户与权限:创建
admin_it(级别 15)和auditor(级别 1,仅查看)。为admin_it配置 SSH 公钥,禁用密码登录。 - SSH 加固:监听地址设为 192.168.200.1,端口改为 2222,并配置 allow-list 仅允许 10.10.0.0/16 访问。
- Web GUI:启用 HTTPS,监听 192.168.200.1,同样限制源地址。使用自签名证书,并在浏览器中导入 CA 证书以避免告警。
验证与复盘:配置完成后,从总部 IT 办公网(10.10.0.5)尝试 SSH 连接 ssh -p 2222 admin_it@192.168.200.1,成功登录。通过 show log system 查看日志,确认时间戳正确。复盘发现,初始配置时忽略了 NTP 循环依赖问题,导致 VPN 证书验证失败。通过临时使用公网 NTP 解决了该问题,后续应优化为在 VPN 建立后自动切换 NTP 源。
4.4 常见误区与总结复盘
| 误区/错误 | 潜在风险 | 正确做法 |
|---|---|---|
所有管理员共用 vyos 账号 |
无法审计具体操作人,安全事件无法追溯 | 为每位管理员创建独立账号,并分配最小必要权限 |
| SSH 监听 0.0.0.0(所有接口) | 暴露在公网,易被暴力破解 | 仅监听管理接口地址,并配置 allow-list |
| 忽略 NTP 同步状态 | 日志时间错乱,VPN 证书验证失败 | 配置后使用 show ntp status 验证,并监控时间偏移 |
| Web GUI 使用默认端口且无访问限制 | 增加攻击面,可能被扫描和利用 | 使用非标准端口(如 8443),并严格限制源 IP |
配置后未执行 save |
设备重启后配置丢失 | 所有配置完成后必须执行 save,并定期备份配置 |
总结:初始配置是 VyOS 长期稳定运行的基础。本章所涉及的主机名、DNS、NTP、用户、SSH 和 Web GUI 配置,每一项都需结合网络架构和安全策略进行设计。建议在设备上线前制定配置模板,并通过自动化工具(如 Ansible)批量部署,以减少人为错误。最后,务必建立配置备份和变更审计机制,确保任何修改都有据可查。