首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用API打开虚拟来宾上的端口

使用API打开虚拟来宾上的端口
EN

Stack Overflow用户
提问于 2017-03-24 02:29:05
回答 2查看 65关注 0票数 0

我正在尝试通过Python在Virtual Guest上自动化基本监控选项,并已成功订购基本监控以及自动安装Nimsoft监视器。缺少的一步是打开机器上的端口(48000到48003),以便可以发送监控数据。

我查找了creating network rule through API,但在我的例子中,当我尝试输出firewallServiceComponent时,我没有任何输出。

代码语言:javascript
复制
In [48]: client['Virtual_Guest'].getObject(id=server_id, mask="mask[id,firewallServiceComponent[rules]]")
Out[48]: {'id': 29701179}

有人能帮助理解如何为虚拟来宾设置防火墙规则吗?

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2017-03-24 03:32:57

该示例用于在VLAN防火墙上打开端口,而不是直接在虚拟来宾上打开端口。API不能与您的虚拟来宾的操作系统级函数交互。这是您可以手动完成的操作,也可以在Post Provisioning脚本的帮助下完成。

http://knowledgelayer.softlayer.com/procedure/add-custom-provisioning-script

票数 0
EN

Stack Overflow用户

发布于 2017-03-24 09:02:13

firewallServiceComponent用于具有硬件防火墙的VSI或BMS服务器。您可以订购硬件防火墙,但请考虑到此选项仅适用于月度服务器。

您可以通过接口添加/编辑硬件防火墙的规则,如I need to create a softlayer network firewall rule through REST API所述

如果您已使用软件防火墙创建了虚拟来宾,则需要进入VSI并像任何其他操作系统一样编辑/添加规则。

要了解您是否有软件防火墙,可以使用以下REST调用:

代码语言:javascript
复制
https://[user_name]:[api_key]@api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/29701179/getSoftwareComponents?objectFilter={"softwareComponents":{"softwareDescription":{"productItems":{"categories":{"categoryCode":{"operation":"firewall"}}}}}}

如果您没有软件防火墙,您可以通过添加此选项来创建新的VSI,也可以使用reload the OS。重新加载将格式化主磁盘,并将计算实例重新配置为记录的当前规格,在此之前,我建议您备份您的操作系统。如果您不确定通过API进行重新加载,您可以通过门户页面进行。

代码语言:javascript
复制
"""
Reload OS of VSI

Important manual pages:
http://sldn.softlayer.com/reference/datatypes/SoftLayer_Virtual_Guest
http://sldn.softlayer.com/reference/datatypes/SoftLayer_Virtual_Guest/reloadOperatingSystem

License: http://sldn.softlayer.com/article/License
Author: SoftLayer Technologies, Inc. <sldn@softlayer.com>
"""

import SoftLayer

USERNAME = 'set-me'
API_KEY = 'set-me'

# The id of virtual guest you wish to reload the OS
guestId = 29701179

client = SoftLayer.create_client_from_env(username=USERNAME, api_key=API_KEY)

itemPrices = [
    {'id': 170009},  # Ubuntu Linux 16.04 LTS Xenial Xerus Minimal Install (64 bit)
    {'id': 14625},   # Monitoring Package - Basic
    {'id': 411}      # APF Software Firewall for Linux
]


config = {'itemPrices': itemPrices}

try:
    reload = client['SoftLayer_Virtual_Guest'].reloadOperatingSystem('FORCE', config,
                                                                     id=guestId)
    print(reload)
except SoftLayer.SoftLayerAPIError as e:
    print("Unable to get SoftLayer_Hardware object: %s, %s " % (e.faultCode,
                                                                e.faultString))

(请考虑以上价格仅为示例)

我希望这对你有帮助。

致以敬意,

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42984179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档