diff options
author | makefu <github@syntax-fehler.de> | 2023-09-28 23:22:59 +0200 |
---|---|---|
committer | makefu <github@syntax-fehler.de> | 2023-09-28 23:22:59 +0200 |
commit | 2db6777b7caa37477c5ffddd99d69b2f2c6d9d7f (patch) | |
tree | a72905fad73089b7ab295a948eda837bad013362 /tv/3modules/dnsmasq.nix | |
parent | 29d72c898d674d2c18fc0f4a76b5e623de0c3dfe (diff) | |
parent | 0215fbddccf206801d94f52518cbfec91ccc3cc5 (diff) |
Merge remote-tracking branch 'lass/master'
Diffstat (limited to 'tv/3modules/dnsmasq.nix')
-rw-r--r-- | tv/3modules/dnsmasq.nix | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/tv/3modules/dnsmasq.nix b/tv/3modules/dnsmasq.nix deleted file mode 100644 index e1dfdea34..000000000 --- a/tv/3modules/dnsmasq.nix +++ /dev/null @@ -1,58 +0,0 @@ -with import ./lib; -{ config, ... }: let - cfg = config.tv.dnsmasq; -in { - - options.tv.dnsmasq = { - enable = mkEnableOption "tv.dnsmasq"; - dhcp-range = mkOption { - type = types.str; - }; - interface = mkOption { - type = types.str; - }; - address = mkOption { - type = types.str; - }; - prefixLength = mkOption { - type = types.addCheck types.int (x: x >= 0 && x <= 32); - }; - }; - - config = mkIf cfg.enable (mkMerge [ - { - networking.dhcpcd.denyInterfaces = [ cfg.interface ]; - services.dnsmasq.resolveLocalQueries = false; - networking.interfaces.${cfg.interface} = { - ipv4.addresses = singleton { - address = cfg.address; - prefixLength = cfg.prefixLength; - }; - }; - services.dnsmasq.enable = true; - services.dnsmasq.extraConfig = '' - bind-interfaces - dhcp-range=${cfg.dhcp-range} - listen-address=${cfg.address} - ''; - tv.iptables.extra.filter.INPUT = [ - "-i ${cfg.interface} -p tcp -m tcp --dport bootps -j ACCEPT" - "-i ${cfg.interface} -p udp -m udp --dport bootps -j ACCEPT" - "-i ${cfg.interface} -p tcp -m tcp --dport domain -j ACCEPT" - "-i ${cfg.interface} -p udp -m udp --dport domain -j ACCEPT" - ]; - } - { - # enable forwarding - boot.kernel.sysctl."net.ipv4.ip_forward" = true; - tv.iptables.extra.filter.FORWARD = [ - "-m state --state RELATED,ESTABLISHED -j ACCEPT" - "-i ${cfg.interface} -j ACCEPT" - ]; - tv.iptables.extra.nat.POSTROUTING = [ - "-j MASQUERADE" - ]; - } - ]); - -} |