diff options
author | Bernardo Meurer <meurerbernardo@gmail.com> | 2019-12-14 20:10:17 -0800 |
---|---|---|
committer | Bernardo Meurer <meurerbernardo@gmail.com> | 2019-12-14 20:13:12 -0800 |
commit | 5ee439eb0807353fdd7725aaa409bb4170bb5d05 (patch) | |
tree | 9eccbc82cf3f6d4da1a16565ec2b281b30c74ae1 /nixos/modules/services/networking/nat.nix | |
parent | 367676ce82b3b5e63f322b335ed8a2bc3b4216bc (diff) | |
download | nixpkgs-5ee439eb0807353fdd7725aaa409bb4170bb5d05.tar nixpkgs-5ee439eb0807353fdd7725aaa409bb4170bb5d05.tar.gz nixpkgs-5ee439eb0807353fdd7725aaa409bb4170bb5d05.tar.bz2 nixpkgs-5ee439eb0807353fdd7725aaa409bb4170bb5d05.tar.lz nixpkgs-5ee439eb0807353fdd7725aaa409bb4170bb5d05.tar.xz nixpkgs-5ee439eb0807353fdd7725aaa409bb4170bb5d05.tar.zst nixpkgs-5ee439eb0807353fdd7725aaa409bb4170bb5d05.zip |
nixos: fix ip46tables invocation in nat
Diffstat (limited to 'nixos/modules/services/networking/nat.nix')
-rw-r--r-- | nixos/modules/services/networking/nat.nix | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/nixos/modules/services/networking/nat.nix b/nixos/modules/services/networking/nat.nix index c80db8472f0..f1238bc6b16 100644 --- a/nixos/modules/services/networking/nat.nix +++ b/nixos/modules/services/networking/nat.nix @@ -7,12 +7,14 @@ with lib; let - cfg = config.networking.nat; dest = if cfg.externalIP == null then "-j MASQUERADE" else "-j SNAT --to-source ${cfg.externalIP}"; + helpers = import ./helpers.nix { inherit config lib; }; + flushNat = '' + ${helpers} ip46tables -w -t nat -D PREROUTING -j nixos-nat-pre 2>/dev/null|| true ip46tables -w -t nat -F nixos-nat-pre 2>/dev/null || true ip46tables -w -t nat -X nixos-nat-pre 2>/dev/null || true @@ -27,6 +29,7 @@ let ''; setupNat = '' + ${helpers} # Create subchain where we store rules ip46tables -w -t nat -N nixos-nat-pre ip46tables -w -t nat -N nixos-nat-post |