【问题标题】:Whitelist a script for Internet Access将 Internet 访问脚本列入白名单
【发布时间】:2019-02-12 11:48:17
【问题描述】:

我们有一个 windows 服务器和一个 linux 服务器。两台服务器上都没有互联网。现在,我们需要在这些服务器上部署一个 python 脚本,它将向外部网络 url 发出 http get 请求。所以,我需要互联网。但是我们不能为所有应用程序启用互联网。有没有办法只为这个特定的脚本启用互联网?

【问题讨论】:

    标签: linux windows networking server firewall


    【解决方案1】:

    我不太了解 Linux 平台,但您可以允许程序使用命令行从 python 发出传出请求,如下所示:

    import sys
    import os
    
    def allow_outbound_connections(program_path):
        """
        Allow program outbound connections.
        """
        if "win" in sys.platform:
            command = f'netsh advfirewall firewall add rule name="{program_path}" '\
                  'dir=out action=block program= "{os.path.basename(program_path}"'\
                  ' enable=yes profile=any'
        if "linux" in sys.platform:
            # *Add a similar command in Linux*
    
        with os.popen(command) as stream:
            return stream.read()
    
    
    def main():
        # First allow this program to make outbound connections.
        output = allow_outbound_connections(__file__)
        # (Eventually you could handle the output)
    
        # Now make request to an outside network url.
    

    【讨论】:

    • 非常感谢,但我通过在 .condarc 文件中添加代理设置让它工作了。
    猜你喜欢
    • 1970-01-01
    • 2020-06-17
    • 1970-01-01
    • 2020-11-25
    • 2023-03-23
    • 2021-12-08
    • 2021-03-12
    • 2017-08-23
    • 1970-01-01
    相关资源
    最近更新 更多