IP系列命令介绍
v-add-sys-api-ip
概述
v-add-sys-api-ip
是 Hestia 系统中用于将指定的 IP 地址添加到 API 允许列表的命令行工具。此命令允许系统管理员灵活地控制哪些 IP 地址可以访问特定的 API 接口,从而提高系统的安全性和可控性。
用法
v-add-sys-api-ip <IP_ADDRESS>
参数
<IP_ADDRESS>
:需要添加到 API 允许列表的 IP 地址。支持 IPv4 和 IPv6 地址格式。
示例
示例 1:添加 IPv4 地址
要将 IPv4 地址 1.1.1.1
添加到 API 允许列表,可以运行以下命令:
v-add-sys-api-ip 1.1.1.1
示例 2:添加 IPv6 地址
要将 IPv6 地址 2001:0db8:85a3:0000:0000:8a2e:0370:7334
添加到 API 允许列表,可以运行以下命令:
v-add-sys-api-ip 2001:0db8:85a3:0000:0000:8a2e:0370:7334
示例 3:连续添加多个 IP 地址
您可以多次运行 v-add-sys-api-ip
命令,以将多个 IP 地址添加到 API 允许列表。例如:
v-add-sys-api-ip 1.1.1.1
v-add-sys-api-ip 2.2.2.2
v-add-sys-api-ip 3.3.3.3
注意事项
- 在执行
v-add-sys-api-ip
命令之前,请确保您已经以具有足够权限的用户身份登录到系统。 - 如果 API 允许列表已经存在其他 IP 地址,新添加的 IP 地址将被追加到列表的末尾,以逗号分隔。
- 如果系统处于只读模式(通常由
check_hestia_demo_mode
函数检查),则无法添加新的 IP 地址到 API 允许列表。 - 添加新的 IP 地址后,系统将记录一条日志消息,以通知管理员已成功添加新 IP 地址到 API 允许列表。
日志记录
当使用 v-add-sys-api-ip
命令成功添加新的 IP 地址到 API 允许列表时,系统将记录一条警告级别的日志消息。此消息包含添加的 IP 地址信息,并指示该 IP 地址已被添加到 API 允许列表。这有助于管理员跟踪系统配置更改并监控潜在的安全风险。
v-add-sys-ip
概述
v-add-sys-ip
是 Hestia 提供的一个命令行接口(CLI)命令,用于向系统添加 IP 地址,并创建相关的 rc 脚本。此外,该命令还支持指定 IP 名称,该名称将被用作临时别名的根域名。例如,如果设置了 a1.myhosting.com
作为名称,那么在此 IP 上创建的每个新域名将自动获得别名 $domain.a1.myhosting.com
。此功能当客户想要在 DNS 迁移之前测试网站时非常方便。
语法
v-add-sys-ip IP NETMASK [INTERFACE] [USER] [IP_STATUS] [IP_NAME] [NAT_IP]
参数
IP
: 要添加的 IP 地址。NETMASK
: IP 地址的子网掩码。INTERFACE
(可选): IP 地址所在的网络接口。如果未指定,将尝试自动检测或使用默认接口。USER
(可选): 与 IP 地址关联的用户。如果未指定,将使用根用户。IP_STATUS
(可选): IP 地址的状态,默认为shared
。IP_NAME
(可选): IP 名称,用作临时别名的根域名。NAT_IP
(可选): 如果启用 NAT,则指定 NAT IP 地址。
示例
示例 1: 添加 IP 地址并指定子网掩码
v-add-sys-ip 203.0.113.1 255.255.255.0
此命令将在系统上添加 IP 地址 203.0.113.1
,并使用子网掩码 255.255.255.0
。其他参数将使用默认值。
示例 2: 添加 IP 地址并指定网络接口和用户
v-add-sys-ip 203.0.113.2 255.255.255.0 eth0 john
此命令将在 eth0
网络接口上添加 IP 地址 203.0.113.2
,并使用子网掩码 255.255.255.0
。此外,该 IP 地址将与用户 john
关联。
示例 3: 添加 IP 地址并指定 IP 名称
v-add-sys-ip 203.0.113.3 255.255.255.0 "" "" "dedicated" web1.example.com
此命令将在系统上添加 IP 地址 203.0.113.3
,并使用子网掩码 255.255.255.0
。IP 地址的状态被设置为 dedicated
,并且 IP 名称被设置为 web1.example.com
。这意味着在此 IP 上创建的新域名将自动获得别名如 $domain.web1.example.com
。
注意事项
- 在使用
v-add-sys-ip
命令之前,请确保您有足够的权限来执行此操作。 - 如果要启用 NAT 并指定 NAT IP 地址,请确保您的网络配置支持 NAT,并正确设置 NAT 规则。
- 在使用 IP 名称功能时,请确保 DNS 配置正确,并且已设置相应的通配符记录(如
*.a1.myhosting.com
)。
v-delete-sys-api-ip
从允许的 ip 列表中删除 api 地址
简介
v-delete-sys-api-ip
是 Hestia 提供的一个命令行接口(CLI)命令,用于从允许访问 API 的 IP 列表中删除指定的 IP 地址。这个命令在需要控制哪些 IP 可以访问 Hestia 的 API 时非常有用。
使用方法
语法
v-delete-sys-api-ip <IP_ADDRESS>
参数
<IP_ADDRESS>
:要删除的 IP 地址,必须是有效的 IPv4 或 IPv6 地址格式。
示例
- 删除 IPv4 地址
假设要从允许访问 API 的 IP 列表中删除 IP 地址 192.168.1.1
,可以使用以下命令:
v-delete-sys-api-ip 192.168.1.1
执行成功后,该 IP 地址将不再被允许访问 Hestia 的 API。
- 删除 IPv6 地址
如果要删除 IPv6 地址 2001:0db8:85a3:0000:0000:8a2e:0370:7334
,命令如下:
v-delete-sys-api-ip 2001:0db8:85a3:0000:0000:8a2e:0370:7334
同样地,执行成功后,该 IPv6 地址将被从允许访问 API 的列表中移除。
注意事项
- 在执行此命令之前,请确保您具有足够的权限来修改系统配置。
- 在删除 IP 地址之前,请确保该 IP 地址不再需要访问 Hestia 的 API,以避免不必要的访问限制。
- 如果在执行命令时遇到任何问题或错误,请查阅 Hestia 的官方文档或联系技术支持以获取帮助。
总结
v-delete-sys-api-ip
是一个实用的 Hestia CLI 命令,它允许您从允许访问 API 的 IP 列表中删除指定的 IP 地址。通过使用该命令,您可以轻松地控制哪些 IP 可以访问 Hestia 的 API,从而增强系统的安全性。
v-change-sys-ip-name
简介
v-change-sys-ip-name
是 Hestia 提供的一个 CLI(命令行接口)命令,用于更改与 IP 地址相关联的 DNS 域名。这个命令允许用户快速、方便地更新系统中 IP 地址的 DNS 记录。
用法
v-change-sys-ip-name [IP] [NAME]
[IP]
:需要更改 DNS 记录的 IP 地址。[NAME]
:与 IP 地址相关联的新 DNS 域名。
示例
示例 1:更改 IP 地址的 DNS 域名
假设你想将 IP 地址 203.0.113.1
的 DNS 域名更改为 acme.com
,你可以使用以下命令:
v-change-sys-ip-name 203.0.113.1 acme.com
执行该命令后,系统将更新与 IP 地址 203.0.113.1
相关联的 DNS 域名为 acme.com
。
示例 2:验证命令执行结果
为了验证 v-change-sys-ip-name
命令是否成功执行,你可以通过其他 Hestia 提供的命令或工具来检查 DNS 记录是否已更新。例如,你可以使用 v-list-sys-ip
命令列出所有系统 IP 地址及其关联的 DNS 域名,以确认更改是否生效。
v-list-sys-ip
在输出中,你应该能看到 IP 地址 203.0.113.1
与 DNS 域名 acme.com
相关联。
注意事项
- 在执行
v-change-sys-ip-name
命令之前,请确保你具有足够的权限来修改 DNS 记录。 - 请确保提供的 IP 地址和 DNS 域名是有效的,并且 DNS 域名尚未被其他 IP 地址使用。
- 如果在执行命令时遇到任何问题或错误,请查阅 Hestia 的官方文档或联系技术支持以获取帮助。
结论
v-change-sys-ip-name
是一个强大的 CLI 命令,它允许用户轻松更改与 IP 地址相关联的 DNS 域名。通过提供简单的参数和清晰的输出,该命令使得 DNS 记录的更新变得更加简单和高效。
v-change-sys-ip-nat
命令描述
v-change-sys-ip-nat
是 Hestia 提供的一个 CLI 命令,用于更改与指定 IP 地址关联的 NAT IP 地址。此命令在执行过程中会更新相关的配置文件,并在需要时重新启动服务以确保更改生效。
使用方法
语法
v-change-sys-ip-nat IP NAT_IP [RESTART]
IP
:需要更改 NAT IP 的原始 IP 地址。NAT_IP
:新的 NAT IP 地址。[RESTART]
:可选参数,如果提供,将在更改后重新启动相关服务。
示例
- 更改 NAT IP 地址,不重启服务
v-change-sys-ip-nat 10.0.0.1 203.0.113.1
这条命令将把 IP 地址为 10.0.0.1 的 NAT IP 更改为 203.0.113.1,并且不会重启任何服务。
- 更改 NAT IP 地址并重启服务
v-change-sys-ip-nat 192.168.1.1 8.8.8.8 RESTART
这条命令将把 IP 地址为 192.168.1.1 的 NAT IP 更改为 8.8.8.8,并在更改后重启相关服务。
注意事项
- 在执行此命令之前,请确保您有足够的权限来更改系统配置。
- 更改 NAT IP 地址可能会影响网络访问,因此请确保您知道更改的后果,并在生产环境中谨慎操作。
- 如果在更改 NAT IP 地址后遇到任何问题,请检查相关配置文件和日志文件以获取更多信息。
日志记录
v-change-sys-ip-nat
命令在执行过程中会记录相关的日志信息。您可以在 Hestia 的日志目录中找到这些日志,以了解命令的执行情况和任何可能出现的错误。
总结
v-change-sys-ip-nat
是一个功能强大的 CLI 命令,可以帮助您轻松地更改系统的 NAT IP 地址。通过提供正确的参数和选项,您可以安全地执行此命令,并在需要时重启相关服务以确保更改生效。
v-change-sys-ip-owner
简介
v-change-sys-ip-owner
是Hestia控制面板提供的命令行接口(CLI)命令,用于更改系统中特定IP地址的所有者。这个命令在需要调整IP分配、用户权限或进行其他相关系统任务时非常有用。
用法
v-change-sys-ip-owner <IP_ADDRESS> <USERNAME>
<IP_ADDRESS>
:要更改所有者的IP地址。<USERNAME>
:新的IP地址所有者的用户名。
示例
示例1:更改IP地址为203.0.113.1的所有者为admin
v-change-sys-ip-owner 203.0.113.1 admin
在这个例子中,203.0.113.1
的所有者将被更改为 admin
用户。
示例2:更改IP地址为192.168.1.100的所有者为john
v-change-sys-ip-owner 192.168.1.100 john
同样地,这个命令将 192.168.1.100
的所有者更改为 john
用户。
注意事项
- 权限:运行
v-change-sys-ip-owner
命令的用户需要具有足够的权限来更改IP地址的所有者。通常,这要求用户是系统管理员或具有类似权限的角色。 - 验证:在更改IP所有者之前,Hestia系统会验证所提供的IP地址和用户名是否有效和存在。如果任何输入无效,命令将失败并显示错误消息。
- IP地址状态:如果IP地址当前正在使用中(例如,绑定到某个网站或服务),更改所有者可能会影响这些服务的运行。在执行此操作之前,请确保了解IP地址的当前用途和任何潜在的影响。
- 系统日志:所有
v-change-sys-ip-owner
命令的执行都会在Hestia的系统日志中留下记录。这有助于跟踪更改和进行故障排除。
结论
v-change-sys-ip-owner
命令是Hestia控制面板中一个强大的工具,用于管理IP地址的所有者。通过遵循正确的用法和注意事项,系统管理员可以轻松地更改IP地址的所有者,以满足组织的需要。
v-change-sys-ip-status
简介
v-change-sys-ip-status
是 Hestia 提供的一个命令行接口(CLI)命令,用于更改系统中指定 IP 地址的状态。此命令允许系统管理员或具有适当权限的用户灵活地管理系统中的 IP 地址。
语法
v-change-sys-ip-status IP_ADDRESS IP_STATUS
IP_ADDRESS
: 需要更改状态的 IP 地址。IP_STATUS
: 目标 IP 地址的新状态。
示例
示例 1: 更改 IP 地址状态为 "active"
v-change-sys-ip-status 203.0.113.1 active
这条命令将把 IP 地址 203.0.113.1
的状态更改为 "active"。
示例 2: 更改 IP 地址状态为 "reserved"
v-change-sys-ip-status 192.168.1.100 reserved
这条命令将把 IP 地址 192.168.1.100
的状态更改为 "reserved"。
示例 3: 错误的 IP 地址格式
v-change-sys-ip-status 256.0.0.1 active
这条命令将失败,因为 256.0.0.1
不是一个有效的 IP 地址。
示例 4: 错误的 IP 状态
v-change-sys-ip-status 203.0.113.1 invalid_status
这条命令将失败,因为 "invalid_status" 不是一个有效的 IP 状态。
注意事项
- 在执行此命令之前,请确保您具有适当的权限。
- 请确保提供的 IP 地址和状态是有效的。
- 在更改 IP 地址状态之前,请确保该 IP 地址没有被其他系统或服务使用。
- 执行此命令可能需要一些时间,具体取决于系统配置和性能。
返回值
- 如果命令成功执行,将返回成功消息。
- 如果命令失败,将返回错误消息,并说明失败的原因。
日志记录
v-change-sys-ip-status
命令的执行结果将被记录到 Hestia 的系统日志中,以便进行审计和故障排除。
后续操作
在更改 IP 地址状态后,您可能需要执行其他操作来确保系统的正常运行,例如更新 DNS 记录、重新配置网络设备等。请根据您的具体需求进行相应的操作。
v-update-sys-ip-counters
概述
v-update-sys-ip-counters
是一个命令行工具,用于更新Hestia控制面板系统中IP地址的使用情况计数器。该工具通过读取配置文件和数据库中的信息,计算并更新每个IP地址所关联的Web域名数量和系统用户数量。
使用方法
基本语法
v-update-sys-ip-counters [IP]
[IP]
(可选):指定要更新的IP地址。如果不提供IP地址,则默认更新所有IP地址。
示例
- 更新所有IP地址的计数器
直接运行命令,无需指定IP地址:
v-update-sys-ip-counters
- 更新特定IP地址的计数器
指定要更新的IP地址:
v-update-sys-ip-counters 192.168.1.1
工作原理
v-update-sys-ip-counters
命令在执行时,会遵循以下步骤:
- 读取配置文件:从
/etc/hestiacp/hestia.conf
和其他相关配置文件中加载必要的配置信息。 - 验证参数:检查是否提供了有效的IP地址作为参数,并执行其他必要的验证。
- 检查只读模式:如果Hestia控制面板处于只读模式,则命令将不会执行更新操作。
- 构建IP列表:如果没有指定IP地址,则命令将自动从
$HESTIA/data/ips/
目录下读取所有IP地址。 - 更新用户统计信息:对于每个IP地址,命令会搜索与之关联的Web域名和系统用户信息,并计算数量。
- 更新计数器:使用计算得到的Web域名数量和系统用户数量,更新相应的计数器。
- 记录日志:将执行结果记录到日志中,以便后续查看和跟踪。
注意事项
- 在执行
v-update-sys-ip-counters
命令之前,请确保您已经以具有足够权限的用户身份登录系统。 - 如果Hestia控制面板处于只读模式,则该命令将不会执行任何更新操作。
- 如果在执行命令时遇到任何错误或问题,请查看日志文件以获取更多信息。
总结
v-update-sys-ip-counters
是一个方便实用的命令行工具,用于更新Hestia控制面板系统中IP地址的使用情况计数器。通过指定IP地址(可选),您可以轻松地更新特定IP地址或所有IP地址的计数器。该命令通过读取配置文件和数据库中的信息,计算并更新Web域名数量和系统用户数量,从而帮助您更好地管理和监控Hestia控制面板系统中的IP地址使用情况。
v-list-sys-ip
命令概述
v-list-sys-ip
是 Hestia 提供的一个命令行接口(CLI)命令,用于列出系统的 IP 地址信息。通过此命令,用户可以以不同的格式(如 JSON、PLAIN、CSV、SHELL)获取 IP 地址的详细信息。
命令语法
v-list-sys-ip [IP] [FORMAT]
[IP]
:可选参数,指定要查询的 IP 地址。如果不提供此参数,命令将列出所有 IP 地址的信息。[FORMAT]
:可选参数,指定输出格式。支持以下格式:json
:以 JSON 格式输出 IP 地址信息。plain
:以纯文本格式输出 IP 地址信息,各字段以制表符分隔。csv
:以 CSV 格式输出 IP 地址信息。shell
:以 shell 脚本变量形式输出 IP 地址信息,方便在 shell 脚本中使用。
示例
示例 1:列出所有 IP 地址的 JSON 格式信息
v-list-sys-ip json
输出示例(JSON 格式):
{
"192.168.1.1": {
"OWNER": "admin",
"STATUS": "active",
"NAME": "eth0",
"U_SYS_USERS": "1",
"U_WEB_DOMAINS": "2",
"INTERFACE": "eth0",
"NETMASK": "255.255.255.0",
"NAT": "disabled",
"TIME": "2023-07-19T10:00:00Z",
"DATE": "2023-07-19"
},
"10.0.0.1": {
...
}
}
示例 2:列出指定 IP 地址的 PLAIN 格式信息
v-list-sys-ip 192.168.1.1 plain
输出示例(PLAIN 格式):
IP: 192.168.1.1
NETMASK: 255.255.255.0
INTERFACE: eth0
NAT: disabled
OWNER: admin
STATUS: active
NAME: eth0
USERS: 1
DOMAINS: 2
TIME: 2023-07-19T10:00:00Z
DATE: 2023-07-19
示例 3:列出指定 IP 地址的 CSV 格式信息
v-list-sys-ip 192.168.1.1 csv
输出示例(CSV 格式):
IP,OWNER,STATUS,NAME,U_SYS_USERS,U_WEB_DOMAINS,INTERFACE,NETMASK,NAT,TIME,DATE
192.168.1.1,admin,active,eth0,1,2,eth0,255.255.255.0,disabled,2023-07-19T10:00:00Z,2023-07-19
注意
- 确保 Hestia 已经正确安装并配置好相关的 IP 地址信息。
- 如果指定了不存在的 IP 地址,命令将返回错误消息。
- 根据需要选择合适的输出格式,以便更好地集成到您的系统或脚本中。
v-list-sys-ips
Hestia 控制面板提供了一个强大的命令行接口(CLI),用于管理和配置系统。其中,v-list-sys-ips
命令用于列出系统上的所有 IP 地址及其相关信息。本文档将详细介绍如何使用该命令,并给出多个示例。
命令说明
v-list-sys-ips
命令可以显示系统 IP 地址的列表,并根据指定的格式(如 JSON、Shell、Plain 或 CSV)进行格式化输出。这对于需要快速查看或导出 IP 地址信息的用户来说非常有用。
用法
v-list-sys-ips [FORMAT]
FORMAT
(可选):指定输出格式,可以是json
、shell
、plain
或csv
。如果未指定,则默认为shell
格式。
示例
示例 1:默认 Shell 格式输出
v-list-sys-ips
输出可能类似于:
IP MASK NAT STATUS WEB DATE
-- ---- --- ------ --- ----
192.168.1.1 255.255.255.0 no active example.com 2023-03-15
10.0.0.1 255.255.255.0 yes inactive test.net 2023-02-20
...
示例 2:JSON 格式输出
v-list-sys-ips json
输出可能类似于:
{
"192.168.1.1": {
"OWNER": "admin",
"STATUS": "active",
"NAME": "example.com",
"U_SYS_USERS": "5",
"U_WEB_DOMAINS": "2",
"INTERFACE": "eth0",
"NETMASK": "255.255.255.0",
"NAT": "no",
"TIME": "12:34:56",
"DATE": "2023-03-15"
},
"10.0.0.1": {
...
},
...
}
示例 3:Plain 格式输出
v-list-sys-ips plain
输出可能类似于:
192.168.1.1 admin active example.com 5 2 eth0 255.255.255.0 no 12:34:56 2023-03-15
10.0.0.1 ... ... ... ... ... ... ... ... ... ...
...
示例 4:CSV 格式输出
v-list-sys-ips csv
输出可能类似于:
IP,OWNER,STATUS,NAME,U_SYS_USERS,U_WEB_DOMAINS,INTERFACE,NETMASK,NAT,TIME,DATE
192.168.1.1,admin,active,example.com,5,2,eth0,255.255.255.0,no,12:34:56,2023-03-15
10.0.0.1,...,...,...,...,...,...,...,...,...
...
注意事项
- 确保您已经正确安装了 Hestia 控制面板,并且具有执行 CLI 命令的权限。
- 在执行命令之前,请确保 Hestia 的配置文件和相关脚本已正确加载和设置。
- 输出格式可能会根据实际的 IP 地址配置和 Hestia 的版本而有所不同。
通过 v-list-sys-ips
命令,您可以轻松获取系统 IP 地址的详细信息,并根据需要进行格式化输出。这对于系统管理员和开发人员来说是一个非常有用的工具。