示例#1
0
    # edit ~/.smcrc
    # [smc]
    # smc_address=192.168.100.7
    # smc_apikey=xxxxxxxxxxx
    # smc_port=8082
    # smc_ssl=False
    # verify_ssl=False
    session.login()

    policy = FirewallPolicy.get('mynatpolicy1', raise_exc=False)
    if policy: policy.delete()

    policy = FirewallPolicy.create(name='mynatpolicy1',
                                   template='Firewall Inspection Template')

    kali_host = Host.get_or_create(name='kali', address='1.1.1.1')
    host3 = Host.get_or_create(name='host-3.3.3.3', address='3.3.3.3')

    # Example of creating a dynamic source NAT for host 'kali':
    policy.fw_ipv4_nat_rules.create(name='mynatrule-srcdyn',
                                    sources=[Host('kali')],
                                    destinations='any',
                                    services='any',
                                    dynamic_src_nat='1.1.1.1',
                                    dynamic_src_nat_ports=(1024, 65535))

    # Example of creating a static source NAT for host 'kali':
    policy.fw_ipv4_nat_rules.create(name='mynatrule-srcstat',
                                    sources=[kali_host],
                                    destinations='any',
                                    services='any',
示例#2
0
    def test_get_or_create_element(self):

        # Will be created anew
        host = Host.get_or_create(filter_key={'address': '123.123.123.123'},
                                  name='kookoo',
                                  address='123.123.123.123')

        self.assertEqual(host.name, 'kookoo')
        self.assertEqual(host.data.get('address'), '123.123.123.123')

        # Will be retrieved
        host = Host.get_or_create(filter_key={'address': '123.123.123.123'},
                                  name='fooboo',
                                  address='123.123.123.123')
        self.assertEqual(host.name, 'kookoo')
        host.delete()

        # Test the two types using meta characters
        network = Network.get_or_create(
            filter_key={'ipv4_network': '172.18.33.0/24'},
            name='mynetwork',
            ipv4_network='172.18.33.0/24')

        self.assertEqual(network.name, 'mynetwork')
        self.assertEqual(network.ipv4_network, '172.18.33.0/24')

        network = Network.get_or_create(
            filter_key={'ipv4_network': '172.18.33.0/24'},
            name='mynetwork',
            ipv4_network='172.18.33.0/24')
        self.assertEqual(network.name, 'mynetwork')
        network.delete()

        # Address Range
        iprange = AddressRange.get_or_create(
            filter_key={'ip_range': '1.1.1.1-1.1.1.10'},
            name='myrange',
            ip_range='1.1.1.1-1.1.1.10')

        self.assertEqual(iprange.name, 'myrange')
        self.assertEqual(iprange.data.get('ip_range'), '1.1.1.1-1.1.1.10')

        iprange = AddressRange.get_or_create(
            filter_key={'ip_range': '1.1.1.1-1.1.1.10'},
            name='myrange',
            ip_range='1.1.1.1-1.1.1.10')

        self.assertEqual(iprange.name, 'myrange')
        iprange.delete()

        vpn = VPNPolicy.get_or_create(name='somepolicy')
        self.assertEqual(vpn.name, 'somepolicy')

        tcp = TCPService.get_or_create(filter_key={'min_dst_port': 8989},
                                       name='myservice',
                                       min_dst_port=8989)
        self.assertIsInstance(tcp, TCPService)
        self.assertEqual(tcp.name, 'myservice')

        tcp = TCPService.get_or_create(filter_key={'min_dst_port': 8989},
                                       name='newservice',
                                       min_dst_port=8989)

        self.assertEqual(tcp.name, 'newservice')

        host = Host.get_or_create(name='grace', address='12.12.12.12')
        self.assertEqual(host.name, 'grace')

        # Already exists
        host = Host.get_or_create(name='grace', address='12.12.12.12')
        self.assertEqual(host.name, 'grace')
    # [smc]
    # smc_address=192.168.100.7
    # smc_apikey=xxxxxxxxxxx
    # smc_port=8082
    # smc_ssl=False
    # verify_ssl=False
    session.login()

    policy = FirewallPolicy.get('mynatpolicy1', raise_exc=False)
    if policy: policy.delete()

    policy = FirewallPolicy.create(name='mynatpolicy1',
                                   template='Firewall Inspection Template')


    kali_host = Host.get_or_create(name = 'kali', address='1.1.1.1')
    host3 = Host.get_or_create(name='host-3.3.3.3', address='3.3.3.3')


    # Example of creating a dynamic source NAT for host 'kali':
    policy.fw_ipv4_nat_rules.create(name='mynatrule-srcdyn',
                                    sources=[Host('kali')],
                                    destinations='any',
                                    services='any',
                                    dynamic_src_nat='1.1.1.1',
                                    dynamic_src_nat_ports=(1024,65535))


    # Example of creating a static source NAT for host 'kali':
    policy.fw_ipv4_nat_rules.create(name='mynatrule-srcstat',
                                    sources=[kali_host],
if __name__ == "__main__":

    session.login(url=SMC_URL,
                  api_key=API_KEY,
                  verify=False,
                  timeout=120,
                  api_version=API_VERSION)

    policy = FirewallPolicy.get("mynatpolicy1", raise_exc=False)
    if policy:
        policy.delete()

    policy = FirewallPolicy.create(name="mynatpolicy1",
                                   template="Firewall Inspection Template")

    kali_host = Host.get_or_create(name="kali", address="1.1.1.1")
    host3 = Host.get_or_create(name="host-3.3.3.3", address="3.3.3.3")

    # Example of creating a dynamic source NAT for host 'kali':
    policy.fw_ipv4_nat_rules.create(
        name="mynatrule-srcdyn",
        sources=[Host("kali")],
        destinations="any",
        services="any",
        dynamic_src_nat="1.1.1.1",
        dynamic_src_nat_ports=(1024, 65535),
    )

    # Example of creating a static source NAT for host 'kali':
    policy.fw_ipv4_nat_rules.create(
        name="mynatrule-srcstat",