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