This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

1{ config, lib, pkgs, ... }: 2{ 3 # ipv6 from vodafone is really really flaky 4 boot.kernel.sysctl."net.ipv6.conf.et0.disable_ipv6" = 1; 5 systemd.network.networks."50-et0" = { 6 matchConfig.Name = "et0"; 7 DHCP = "ipv4"; 8 # dhcpV4Config.UseDNS = false; 9 # dhcpV6Config.UseDNS = false; 10 linkConfig = { 11 RequiredForOnline = "routable"; 12 }; 13 networkConfig = { 14 LinkLocalAddressing = "no"; 15 }; 16 # dhcpV6Config = { 17 # PrefixDelegationHint = "::/60"; 18 # }; 19 # networkConfig = { 20 # IPv6AcceptRA = true; 21 # }; 22 # ipv6PrefixDelegationConfig = { 23 # Managed = true; 24 # }; 25 }; 26 boot.kernel.sysctl."net.ipv4.ip_forward" = 1; 27 systemd.network.networks."50-int0" = { 28 name = "int0"; 29 address = [ 30 "10.42.0.1/24" 31 ]; 32 networkConfig = { 33 # IPForward = "yes"; 34 # IPMasquerade = "both"; 35 ConfigureWithoutCarrier = true; 36 DHCPServer = "yes"; 37 # IPv6SendRA = "yes"; 38 # DHCPPrefixDelegation = "yes"; 39 }; 40 dhcpServerStaticLeases = [ 41 { 42 dhcpServerStaticLeaseConfig = { 43 Address = "10.42.0.4"; 44 MACAddress = "3c:2a:f4:22:28:37"; 45 }; 46 } 47 ]; 48 }; 49 networking.networkmanager.unmanaged = [ "int0" ]; 50 krebs.iptables.tables.filter.INPUT.rules = [ 51 { predicate = "-i int0"; target = "ACCEPT"; } 52 ]; 53 krebs.iptables.tables.filter.FORWARD.rules = [ 54 { predicate = "-i int0"; target = "ACCEPT"; } 55 { predicate = "-o int0"; target = "ACCEPT"; } 56 { predicate = "-p ipv6-icmp"; target = "ACCEPT"; v4 = false; } 57 ]; 58 krebs.iptables.tables.nat.PREROUTING.rules = lib.mkBefore [ 59 { v6 = false; predicate = "-s 10.42.0.0/24"; target = "ACCEPT"; } 60 ]; 61 krebs.iptables.tables.nat.POSTROUTING.rules = [ 62 { v6 = false; predicate = "-s 10.42.0.0/24"; target = "MASQUERADE"; } 63 ]; 64 65 networking.domain = "gg23"; 66 67 networking.useHostResolvConf = false; 68 services.resolved.extraConfig = '' 69 DNSStubListener=no 70 ''; 71 services.dnsmasq = { 72 enable = true; 73 resolveLocalQueries = false; 74 75 extraConfig = '' 76 local=/gg23/ 77 domain=gg23 78 expand-hosts 79 listen-address=10.42.0.1 80 interface=int0 81 ''; 82 }; 83 84 environment.systemPackages = [ 85 (pkgs.writers.writeDashBin "restart_router" '' 86 ${pkgs.mosquitto}/bin/mosquitto_pub -h localhost -t 'cmnd/router/POWER' -u gg23 -P gg23-mqtt -m OFF 87 sleep 2 88 ${pkgs.mosquitto}/bin/mosquitto_pub -h localhost -t 'cmnd/router/POWER' -u gg23 -P gg23-mqtt -m ON 89 '') 90 ]; 91}