2019-01-03 20:38:08 +08:00

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
}
}
}