# 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',
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",