24 lines
703 B
Diff
24 lines
703 B
Diff
diff --git a/zones.c b/zones.c
|
|
index 505ab20..44500d5 100644
|
|
--- a/zones.c
|
|
+++ b/zones.c
|
|
@@ -708,8 +708,18 @@ print_zone_rule(struct fw3_ipt_handle *handle, struct fw3_state *state,
|
|
{
|
|
r = fw3_ipt_rule_new(handle);
|
|
fw3_ipt_rule_src_dest(r, msrc, mdest);
|
|
+#ifdef USE_FULLCONENAT
|
|
+ fw3_ipt_rule_target(r, "FULLCONENAT");
|
|
+#else
|
|
fw3_ipt_rule_target(r, "MASQUERADE");
|
|
+#endif
|
|
fw3_ipt_rule_append(r, "zone_%s_postrouting", zone->name);
|
|
+#ifdef USE_FULLCONENAT
|
|
+ r = fw3_ipt_rule_new(handle);
|
|
+ fw3_ipt_rule_src_dest(r, msrc, mdest);
|
|
+ fw3_ipt_rule_target(r, "FULLCONENAT");
|
|
+ fw3_ipt_rule_append(r, "zone_%s_prerouting", zone->name);
|
|
+#endif
|
|
}
|
|
}
|
|
}
|