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