network: insert masq rule
This fixes IP masquerading on systems with reject rules at the end of the POSTROUTING table, by inserting the rule at the beginning of the table instead of adding it at the end. Docker-DCO-1.1-Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com> (github: jpoimboe) Upstream-commit: cc382ec62848855f6fe7302fe7a37ac62af35a9c Component: engine
This commit is contained in:
@ -327,7 +327,7 @@ func newNetworkManager(config *DaemonConfig) (*NetworkManager, error) {
|
||||
natArgs := []string{"POSTROUTING", "-t", "nat", "-s", addr.String(), "!", "-d", addr.String(), "-j", "MASQUERADE"}
|
||||
|
||||
if !iptables.Exists(natArgs...) {
|
||||
if output, err := iptables.Raw(append([]string{"-A"}, natArgs...)...); err != nil {
|
||||
if output, err := iptables.Raw(append([]string{"-I"}, natArgs...)...); err != nil {
|
||||
return nil, fmt.Errorf("Unable to enable network bridge NAT: %s", err)
|
||||
} else if len(output) != 0 {
|
||||
return nil, fmt.Errorf("Error iptables postrouting: %s", output)
|
||||
|
||||
Reference in New Issue
Block a user