diff --git a/Shorewall/Perl/Shorewall/Tc.pm b/Shorewall/Perl/Shorewall/Tc.pm index 101472453..01034809e 100644 --- a/Shorewall/Perl/Shorewall/Tc.pm +++ b/Shorewall/Perl/Shorewall/Tc.pm @@ -454,6 +454,27 @@ sub process_mangle_rule1( $$$$$$$$$$$$$$$$$ ) { }, }, + DIVERTHA => { + defaultchain => REALPREROUTING, + allowedchains => PREROUTING | REALPREROUTING, + minparams => 0, + maxparams => 0, + function => sub () { + fatal_error 'DIVERTHA is only allowed in the PREROUTING chain' if $designator && $designator != PREROUTING; + my $mark = in_hex( $globals{TPROXY_MARK} ) . '/' . in_hex( $globals{TPROXY_MARK} ); + + unless ( $divertref ) { + $divertref = new_chain( 'mangle', 'divert' ); + add_ijump( $divertref , j => 'MARK', targetopts => "--set-mark $mark" ); + add_ijump( $divertref , j => 'ACCEPT' ); + } + + $target = 'divert'; + + $matches = '-m socket '; + }, + }, + DROP => { defaultchain => 0, allowedchains => PREROUTING | FORWARD | OUTPUT | POSTROUTING, @@ -478,27 +499,6 @@ sub process_mangle_rule1( $$$$$$$$$$$$$$$$$ ) { }, }, - HADIVERT => { - defaultchain => REALPREROUTING, - allowedchains => PREROUTING | REALPREROUTING, - minparams => 0, - maxparams => 0, - function => sub () { - fatal_error 'HADIVERT is only allowed in the PREROUTING chain' if $designator && $designator != PREROUTING; - my $mark = in_hex( $globals{TPROXY_MARK} ) . '/' . in_hex( $globals{TPROXY_MARK} ); - - unless ( $divertref ) { - $divertref = new_chain( 'mangle', 'divert' ); - add_ijump( $divertref , j => 'MARK', targetopts => "--set-mark $mark" ); - add_ijump( $divertref , j => 'ACCEPT' ); - } - - $target = 'divert'; - - $matches = '-m socket '; - }, - }, - HL => { defaultchain => FORWARD, allowedchains => PREROUTING | FORWARD, diff --git a/Shorewall/manpages/shorewall-mangle.xml b/Shorewall/manpages/shorewall-mangle.xml index 70d54047e..87eede757 100644 --- a/Shorewall/manpages/shorewall-mangle.xml +++ b/Shorewall/manpages/shorewall-mangle.xml @@ -271,6 +271,26 @@ + + DIVERTHA + + + Added in Shorewall 5.0.4. To setup the HAProxy + configuration described at http://www.loadbalancer.org/blog/setting-up-haproxy-with-transparent-mode-on-centos-6-x, + place this entry in shorewall-providers(5): + + #NAME NUMBER MARK DUPLICATE INTERFACE GATEWAY OPTIONS COPY +TProxy 1 - - lo - tproxy + + and use this DIVERTHA entry: + + #ACTION SOURCE DEST PROTO DPORT SPORT USER TEST LENGTH TOS CONNBYTES HELPER PROBABILITY DSCP +DIVERTHA - - tcp + + + DROP @@ -319,26 +339,6 @@ - - HADIVERT - - - Added in Shorewall 5.0.4. To setup the HAProxy - configuration described at http://www.loadbalancer.org/blog/setting-up-haproxy-with-transparent-mode-on-centos-6-x, - place this entry in shorewall-providers(5): - - #NAME NUMBER MARK DUPLICATE INTERFACE GATEWAY OPTIONS COPY -TProxy 1 - - lo - tproxy - - and use this HADIVERT entry: - - #ACTION SOURCE DEST PROTO DPORT SPORT USER TEST LENGTH TOS CONNBYTES HELPER PROBABILITY DSCP -HADIVERT - - tcp - - - IMQ(number) diff --git a/Shorewall6/manpages/shorewall6-mangle.xml b/Shorewall6/manpages/shorewall6-mangle.xml index 7500d1932..b1e8c66e5 100644 --- a/Shorewall6/manpages/shorewall6-mangle.xml +++ b/Shorewall6/manpages/shorewall6-mangle.xml @@ -272,6 +272,26 @@ + + DIVERTHA + + + Added in Shorewall 5.0.4. To setup the HAProxy + configuration described at http://www.loadbalancer.org/blog/setting-up-haproxy-with-transparent-mode-on-centos-6-x, + place this entry in shorewall6-providers(5): + + #NAME NUMBER MARK DUPLICATE INTERFACE GATEWAY OPTIONS COPY +TProxy 1 - - lo - tproxy + + and use this DIVERTHA entry: + + #ACTION SOURCE DEST PROTO DPORT SPORT USER TEST LENGTH TOS CONNBYTES HELPER PROBABILITY DSCP +DIVERTHA - - tcp + + + DROP @@ -320,26 +340,6 @@ - - HADIVERT - - - Added in Shorewall 5.0.4. To setup the HAProxy - configuration described at http://www.loadbalancer.org/blog/setting-up-haproxy-with-transparent-mode-on-centos-6-x, - place this entry in shorewall6-providers(5): - - #NAME NUMBER MARK DUPLICATE INTERFACE GATEWAY OPTIONS COPY -TProxy 1 - - lo - tproxy - - and use this HADIVERT entry: - - #ACTION SOURCE DEST PROTO DPORT SPORT USER TEST LENGTH TOS CONNBYTES HELPER PROBABILITY DSCP -HADIVERT - - tcp - - - HL([-|