Ignore:
Timestamp:
2011-07-01T13:48:14+02:00 (5 years ago)
Author:
jow
Message:

[package] firewall: properly handle negated ports in nat reflection

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/firewall/files/reflection.hotplug

    r27317 r27334  
    9292                                [ "${exthost#!}" = "$exthost" ] || return 0 
    9393 
     94                                [ "${epmin#!}" != "$epmin" ] && \ 
     95                                        extport="! --dport ${epmin#!}${epmax:+:$epmax}" || \ 
     96                                        extport="--dport $epmin${epmax:+:$epmax}" 
     97 
     98                                [ "${ipmin#!}" != "$ipmin" ] && \ 
     99                                        intport="! --dport ${ipmin#!}${ipmax:+:$ipmax}" || \ 
     100                                        intport="--dport $ipmin${ipmax:+:$ipmax}" 
     101 
    94102                                local p 
    95103                                for p in ${proto:-tcp udp}; do 
     
    98106                                                        iptables -t nat -A nat_reflection_in \ 
    99107                                                                -s $lanip/$lanmk -d $exthost \ 
    100                                                                 -p $p --dport $epmin${epmax:+:$epmax} \ 
    101                                                                 -j DNAT --to $inthost:$ipmin${ipmax:+-$ipmax} 
     108                                                                -p $p $extport \ 
     109                                                                -j DNAT --to $inthost:${ipmin#!}${ipmax:+-$ipmax} 
    102110 
    103111                                                        iptables -t nat -A nat_reflection_out \ 
    104112                                                                -s $lanip/$lanmk -d $inthost \ 
    105                                                                 -p $p --dport $ipmin${ipmax:+:$ipmax} \ 
     113                                                                -p $p $intport \ 
    106114                                                                -j SNAT --to-source $lanip 
    107115 
    108116                                                        iptables -t filter -A nat_reflection_fwd \ 
    109117                                                                -s $lanip/$lanmk -d $inthost \ 
    110                                                                 -p $p --dport $ipmin${ipmax:+:$ipmax} \ 
     118                                                                -p $p $intport \ 
    111119                                                                -j ACCEPT 
    112120                                                ;; 
Note: See TracChangeset for help on using the changeset viewer.