Skip to content

Commit

Permalink
Add filter code for adding the binat rules required for Network Prefi…
Browse files Browse the repository at this point in the history
…x Translation
  • Loading branch information
smos committed Jan 21, 2011
1 parent 36e81b9 commit 462f900
Showing 1 changed file with 29 additions and 0 deletions.
29 changes: 29 additions & 0 deletions etc/inc/filter.inc
Original file line number Diff line number Diff line change
Expand Up @@ -1228,6 +1228,35 @@ function filter_nat_rules_generate() {
$reflection_txt .= filter_generate_reflection_nat($rule, $route_table, $nat_if_list, "", $srcaddr, $srcip, $sn);
}
}

/* Add binat rules for Network Prefix translation */
if(is_array($config['nat']['npt'])) {
foreach ($config['nat']['npt'] as $rule) {
if (isset($rule['disabled']))
continue;

if (!$rule['interface'])
$natif = "wan";
else
$natif = $rule['interface'];
if (!isset($FilterIflist[$natif]))
continue;

$srcaddr = filter_generate_address($rule, 'source');
$dstaddr = filter_generate_address($rule, 'destination');

$srcaddr = trim($srcaddr);
$dstaddr = trim($dstaddr);

$natif = $FilterIflist[$natif]['descr'];

$natrules .= "binat on \${$natif} from {$srcaddr} to any -> {$dstaddr}\n";
$natrules .= "binat on \${$natif} from any to {$dstaddr} -> {$srcaddr}\n";

}
}


$natrules .= "\n# Outbound NAT rules\n";
/* outbound rules - advanced or standard */
if(isset($config['nat']['advancedoutbound']['enable'])) {
Expand Down

0 comments on commit 462f900

Please sign in to comment.