This repository has no description
0

Configure Feed

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

superconfig / 2configs / gg23.nix
3.2 kB 137 lines
1{ lib, pkgs, ... }: 2{ 3 # vodafone router drifts out of time 4 services.timesyncd.servers = [ 5 "0.pool.ntp.org" 6 "1.pool.ntp.org" 7 "2.pool.ntp.org" 8 "3.pool.ntp.org" 9 ]; 10 systemd.network.networks."50-et0" = { 11 matchConfig.Name = "et0"; 12 DHCP = "yes"; 13 # dhcpV4Config.UseDNS = false; 14 # dhcpV6Config.UseDNS = false; 15 linkConfig = { 16 RequiredForOnline = "routable"; 17 }; 18 networkConfig = { 19 LinkLocalAddressing = "no"; 20 }; 21 # dhcpV6Config = { 22 # PrefixDelegationHint = "::/60"; 23 # }; 24 # networkConfig = { 25 # IPv6AcceptRA = true; 26 # }; 27 # ipv6PrefixDelegationConfig = { 28 # Managed = true; 29 # }; 30 }; 31 boot.kernel.sysctl."net.ipv4.ip_forward" = 1; 32 systemd.network.networks."50-int0" = { 33 name = "int0"; 34 address = [ 35 "10.42.0.1/24" 36 ]; 37 networkConfig = { 38 # IPForward = "yes"; 39 # IPMasquerade = "both"; 40 ConfigureWithoutCarrier = true; 41 DHCPServer = "yes"; 42 # IPv6SendRA = "yes"; 43 # DHCPPrefixDelegation = "yes"; 44 }; 45 dhcpServerStaticLeases = [ 46 { 47 # printer 48 dhcpServerStaticLeaseConfig = { 49 Address = "10.42.0.4"; 50 MACAddress = "3c:2a:f4:22:28:37"; 51 }; 52 } 53 { 54 # firetv 55 dhcpServerStaticLeaseConfig = { 56 Address = "10.42.0.11"; 57 MACAddress = "84:28:59:f0:d2:a8"; 58 }; 59 } 60 # { 61 # dhcpServerStaticLeaseConfig = { 62 # Address = "10.42.0.10"; 63 # MACAddress = "ea:4d:12:94:74:2a"; 64 # }; 65 # } 66 { 67 dhcpServerStaticLeaseConfig = { 68 Address = "10.42.0.10"; 69 MACAddress = "fe:fe:fe:fe:fe:fe"; 70 }; 71 } 72 ]; 73 }; 74 networking.networkmanager.unmanaged = [ "int0" ]; 75 krebs.iptables.tables.filter.INPUT.rules = [ 76 { 77 predicate = "-i int0"; 78 target = "ACCEPT"; 79 } 80 ]; 81 krebs.iptables.tables.filter.FORWARD.rules = [ 82 { 83 predicate = "-i int0"; 84 target = "ACCEPT"; 85 } 86 { 87 predicate = "-o int0"; 88 target = "ACCEPT"; 89 } 90 { 91 predicate = "-p ipv6-icmp"; 92 target = "ACCEPT"; 93 v4 = false; 94 } 95 ]; 96 krebs.iptables.tables.nat.PREROUTING.rules = lib.mkBefore [ 97 { 98 v6 = false; 99 predicate = "-s 10.42.0.0/24"; 100 target = "ACCEPT"; 101 } 102 ]; 103 krebs.iptables.tables.nat.POSTROUTING.rules = [ 104 { 105 v6 = false; 106 predicate = "-s 10.42.0.0/24"; 107 target = "MASQUERADE"; 108 } 109 ]; 110 111 networking.domain = "gg23"; 112 113 networking.useHostResolvConf = false; 114 services.resolved.extraConfig = '' 115 DNSStubListener=no 116 ''; 117 services.dnsmasq = { 118 enable = true; 119 resolveLocalQueries = false; 120 121 extraConfig = '' 122 local=/gg23/ 123 domain=gg23 124 expand-hosts 125 listen-address=10.42.0.1,10.233.0.1 126 interface=int0 127 ''; 128 }; 129 130 environment.systemPackages = [ 131 (pkgs.writers.writeDashBin "restart_router" '' 132 ${pkgs.mosquitto}/bin/mosquitto_pub -h localhost -t 'cmnd/router/POWER' -u gg23 -P gg23-mqtt -m OFF 133 sleep 2 134 ${pkgs.mosquitto}/bin/mosquitto_pub -h localhost -t 'cmnd/router/POWER' -u gg23 -P gg23-mqtt -m ON 135 '') 136 ]; 137}