访问并配置 IBM Cloud 虚拟路由器设备
IBM Cloud® Virtual Router Appliance (VRA) 可通过 SSH 远程控制台会话或登录 Web GUI 进行配置。 缺省情况下,无法通过公共因特网来访问 Web GUI。 要启用 Web GUI,请首先通过 SSH 登录。
在 VRA 外壳和界面之外配置 VRA 可能会产生意想不到的结果,因此不建议使用。
使用 SSH 访问设备
大多数基于 UNIX 的操作系统,如 Linux、BSD 和 Mac OSX,默认安装中都包含 OpenSSH 客户端。 Windows 用户可以下载 SSH 客户机,例如 PuTTy。
建议禁止通过 SSH 访问公共 IP,而只允许通过 SSH 访问专用 IP。 连接到专用 IP 需要客户端连接到专用网络。 您可以使用 IBM Cloud 控制台提供的一个默认 VPN 选项(SSL-VPN 和 IPsec),或使用 VRA 上配置的自定义 VPN 解决方案登录。
使用“设备详细信息”页面中的 Vyatta 帐户通过 SSH 登录。 此外,还提供根密码,但出于安全原因,根登录默认为禁用。
ssh vyatta@[IP address]
建议使 root 用户登录保持禁用状态。 请使用 Vyatta 帐户登录,并仅在需要时升级到 root 用户。
还可以在部署期间提供 SSH 密钥,这样无需 Vyatta 帐户即可登录。 验证能否使用 SSH 密钥访问 VRA 后,可以通过运行以下命令来禁用标准用户/密码登录:
$ configure
# set service ssh disable-password-authentication
# commit
方式
以下是两种模式:
-
配置模式:使用
configure
命令调用。 在此模式下,将配置 VRA 系统。 -
运行模式:登录 VRA 系统时的初始模式。 在此模式下,运行
show
命令查询系统状态信息。 您也可以从该模式重新启动系统。
VRA 的 shell 是一个模态界面,有多种操作方式。 主要/默认模式是 “运行” 模式,这也是登录时显示的模式。 在运行模式下,您可以查看信息并发出影响系统当前运行的命令,如设置日期和时间或重启设备。
使用 configure
命令可进入配置模式,在该模式下可对配置进行编辑。 请注意,配置更改不会立即生效,必须提交。 在输入命令时,这些命令会进入配置缓冲区。 输入所有必要命令后,运行 commit
命令使更改生效。
运行模式命令(show 命令)可以从配置模式运行,方法是以 run
开始命令。 例如:
# run show configuration commands | grep name-server
数字符号 (#
) 表示配置模式。 上例说明了从配置模式运行显示或操作命令的功能。 该示例还展示了使用管道 (|) 和 "grep "过滤命令输出的方法。
命令浏览表
VRA 命令 shell 包含通过 Tab 键补全的功能。 如果您有兴趣了解可用的命令,请按 Tab 键以获取命令列表和简短说明。 这在 shell 提示下和键入命令时都有效。 例如:
$show log dns [Press tab]
Possible completions:
dynamic Show log for Dynamic DNS
forwarding Show log for DNS Forwarding
样本配置
配置以分层节点模式进行布置。 请考虑以下静态路由块:
#show protocols static
protocols {
static {
route 10.0.0.0/8 {
next-hop 10.60.63.193 {
}
}
route 192.168.1.0/24 {
next-hop 10.0.0.1 {
}
}
}
}
这是由命令生成的:
set protocols static route 10.0.0.0/8 next-hop 10.60.63.193
set protocols static route 192.168.1.0/24 next-hop 10.0.0.1
此示例说明一个节点(静态)可以有多个子节点。 要删除 192.168.1.0/24
的路由,可使用 delete protocols static route 192.168.1.0/24
命令。 如果在命令中遗漏了 192.168.1.0/24
,那么两个路由节点都将标记为删除。
请记住,在发出 commit
命令之前,配置不会更改。 要将当前正在运行的配置与配置缓冲区中存在的任何更改进行比较,请使用 compare
命令。 要清空配置缓冲区,请使用 discard
。
用户和基于角色的访问控制 (RBAC)
可以为用户帐户配置三个级别的访问权:
- Admin
- 运算符
- 超级用户
操作员级别的用户可以运行 show
命令来查看系统的运行状态,并可发出 reset
命令来重新启动设备上的服务。 操作员级别的许可权并不意味着只读访问权。
管理员级别的用户具有对设备的所有配置和操作的完全访问权。 管理员用户可以查看运行中的配置、更改设备的配置设置、重启设备和关闭设备。
超级用户级用户除了拥有管理员级权限外,还能通过 sudo
命令以 root 权限运行命令。
可以配置用户使用密码和/或公用密钥认证样式。 公钥身份验证与 SSH 一起使用,允许用户使用系统中的密钥文件登录。 要创建使用密码的操作员用户,请执行以下操作:
set system login user [account] authentication plaintext-password [password]
set system login user [account] level operator
commit
未指定任何级别时,用户被视为管理员级别。 在这种情况下,用户密码在配置文件中显示为加密密码。
RBAC 是一种限制授权用户访问部分配置的方法。 RBAC 支持管理员为用户组定义规则,以限制用户组可以运行的命令。
实施 RBAC 的方法是创建一个分配给访问控制管理 (ACM) 规则集的组,将用户添加到该组,创建一个规则集将该组与系统中的路径相匹配,然后配置系统以允许或拒绝适用于该组的路径。
缺省情况下,在 IBM Cloud® Virtual Router Appliance 中未定义 ACM 规则集,并且 ACM 已禁用。 如果要使用 RBAC 提供细粒度访问控制,必须启用 ACM,并在自己定义的规则之外添加以下默认 ACM 规则:
set system acm 'enable'
set system acm operational-ruleset rule 9977 action 'allow'
set system acm operational-ruleset rule 9977 command '/show/tech-support/save'
set system acm operational-ruleset rule 9977 group 'vyattaop'
set system acm operational-ruleset rule 9978 action 'deny'
set system acm operational-ruleset rule 9978 command '/show/tech-support/save/*'
set system acm operational-ruleset rule 9978 group 'vyattaop'
set system acm operational-ruleset rule 9979 action 'allow'
set system acm operational-ruleset rule 9979 command '/show/tech-support/save-uncompressed'
set system acm operational-ruleset rule 9979 group 'vyattaop'
set system acm operational-ruleset rule 9980 action 'deny'
set system acm operational-ruleset rule 9980 command '/show/tech-support/save-uncompressed/*'
set system acm operational-ruleset rule 9980 group 'vyattaop'
set system acm operational-ruleset rule 9981 action 'allow'
set system acm operational-ruleset rule 9981 command '/show/tech-support/brief/save'
set system acm operational-ruleset rule 9981 group 'vyattaop'
set system acm operational-ruleset rule 9982 action 'deny'
set system acm operational-ruleset rule 9982 command '/show/tech-support/brief/save/*'
set system acm operational-ruleset rule 9982 group 'vyattaop'
set system acm operational-ruleset rule 9983 action 'allow'
set system acm operational-ruleset rule 9983 command '/show/tech-support/brief/save-uncompressed'
set system acm operational-ruleset rule 9983 group 'vyattaop'
set system acm operational-ruleset rule 9984 action 'deny'
set system acm operational-ruleset rule 9984 command '/show/tech-support/brief/save-uncompressed/*'
set system acm operational-ruleset rule 9984 group 'vyattaop'
set system acm operational-ruleset rule 9985 action 'allow'
set system acm operational-ruleset rule 9985 command '/show/tech-support/brief/'
set system acm operational-ruleset rule 9985 group 'vyattaop'
set system acm operational-ruleset rule 9986 action 'deny'
set system acm operational-ruleset rule 9986 command '/show/tech-support/brief'
set system acm operational-ruleset rule 9986 group 'vyattaop'
set system acm operational-ruleset rule 9987 action 'deny'
set system acm operational-ruleset rule 9987 command '/show/tech-support'
set system acm operational-ruleset rule 9987 group 'vyattaop'
set system acm operational-ruleset rule 9988 action 'deny'
set system acm operational-ruleset rule 9988 command '/show/configuration'
set system acm operational-ruleset rule 9988 group 'vyattaop'
set system acm operational-ruleset rule 9989 action 'allow'
set system acm operational-ruleset rule 9989 command '/clear/*'
set system acm operational-ruleset rule 9989 group 'vyattaop'
set system acm operational-ruleset rule 9990 action 'allow'
set system acm operational-ruleset rule 9990 command '/show/*'
set system acm operational-ruleset rule 9990 group 'vyattaop'
set system acm operational-ruleset rule 9991 action 'allow'
set system acm operational-ruleset rule 9991 command '/monitor/*'
set system acm operational-ruleset rule 9991 group 'vyattaop'
set system acm operational-ruleset rule 9992 action 'allow'
set system acm operational-ruleset rule 9992 command '/ping/*'
set system acm operational-ruleset rule 9992 group 'vyattaop'
set system acm operational-ruleset rule 9993 action 'allow'
set system acm operational-ruleset rule 9993 command '/reset/*'
set system acm operational-ruleset rule 9993 group 'vyattaop'
set system acm operational-ruleset rule 9994 action 'allow'
set system acm operational-ruleset rule 9994 command '/release/*'
set system acm operational-ruleset rule 9994 group 'vyattaop'
set system acm operational-ruleset rule 9995 action 'allow'
set system acm operational-ruleset rule 9995 command '/renew/*'
set system acm operational-ruleset rule 9995 group 'vyattaop'
set system acm operational-ruleset rule 9996 action 'allow'
set system acm operational-ruleset rule 9996 command '/telnet/*'
set system acm operational-ruleset rule 9996 group 'vyattaop'
set system acm operational-ruleset rule 9997 action 'allow'
set system acm operational-ruleset rule 9997 command '/traceroute/*'
set system acm operational-ruleset rule 9997 group 'vyattaop'
set system acm operational-ruleset rule 9998 action 'allow'
set system acm operational-ruleset rule 9998 command '/update/*'
set system acm operational-ruleset rule 9998 group 'vyattaop'
set system acm operational-ruleset rule 9999 action 'deny'
set system acm operational-ruleset rule 9999 command '*'
set system acm operational-ruleset rule 9999 group 'vyattaop'
set system acm ruleset rule 9999 action 'allow'
set system acm ruleset rule 9999 group 'vyattacfg'
set system acm ruleset rule 9999 operation '*'
set system acm ruleset rule 9999 path '*'
有关详细信息,请在启用 ACM 规则之前参阅 补充 VRA 文档。 不准确的 ACM 规则设置会导致设备访问拒绝或系统不可操作错误。