{ "assertions": { "dnat_changes_only_destination_endpoint": true, "dnat_reply_restores_public_source": true, "failure_classes_are_distinct": true, "protocol_is_part_of_tuple": true, "snat_changes_only_source_endpoint": true, "snat_reply_restores_original_reverse": true }, "boundaries": [ "static tuple calculation, not a Linux conntrack implementation", "no namespace, route, firewall, NAT rule, packet capture, or timeout was exercised" ], "diagnoses": { "filter_rejects": "FILTER_DROP", "forwarded": "FORWARD", "reverse_state_expired": "STATE_EXPIRED", "route_missing": "ROUTE_FAILURE" }, "dnat": { "original": {"destination_address": "198.51.100.7", "destination_port": 8443, "protocol": "TCP", "source_address": "192.0.2.44", "source_port": 53000}, "reply_after_reverse_nat": {"destination_address": "192.0.2.44", "destination_port": 53000, "protocol": "TCP", "source_address": "198.51.100.7", "source_port": 8443}, "reply_at_gateway": {"destination_address": "192.0.2.44", "destination_port": 53000, "protocol": "TCP", "source_address": "10.0.0.10", "source_port": 443}, "translated": {"destination_address": "10.0.0.10", "destination_port": 443, "protocol": "TCP", "source_address": "192.0.2.44", "source_port": 53000} }, "snat": { "original": {"destination_address": "203.0.113.9", "destination_port": 443, "protocol": "TCP", "source_address": "10.0.0.2", "source_port": 49152}, "reply_after_reverse_nat": {"destination_address": "10.0.0.2", "destination_port": 49152, "protocol": "TCP", "source_address": "203.0.113.9", "source_port": 443}, "reply_at_gateway": {"destination_address": "198.51.100.7", "destination_port": 62001, "protocol": "TCP", "source_address": "203.0.113.9", "source_port": 443}, "translated": {"destination_address": "203.0.113.9", "destination_port": 443, "protocol": "TCP", "source_address": "198.51.100.7", "source_port": 62001} } }