@cryptotaxi247 / infra / commits / 439bb99a

Add remaining network settings from cartman to wendy

Rob Vermaas committed Jun 7, 2013 at 15:15 UTC 439bb99a3466b8e58f957b18340bd542e3206e7c
2 files changed +77 -2
delft/machines.nix
+1 -1
@@ -89,7 +89,7 @@ lib: with lib;
89 { # 48-core NixOS machine for random hackery.
90 hostName = "wendy";
91 ipAddress = "192.168.1.26";
92 - ethernetAddress = "f0:4d:a2:40:1b:be";
92 + ethernetAddress = "f0:4d:a2:40:1b:c0";
93 systems = [ "x86_64-linux" ];
94 }
95
delft/wendy.nix
+76 -1
@@ -1,4 +1,10 @@
1 { config, pkgs, ... }:
2 +with pkgs.lib;
3 +let
4 + myIP = "130.161.158.181";
5 + machines = import ./machines.nix pkgs.lib;
6 +
7 +in
8 {
9 require = [ ./build-machines-dell-r815.nix ./delft-webserver.nix ];
10
@@ -109,7 +115,76 @@
115 ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="f0:4d:a2:40:1b:c0", NAME="internal"
116 '';
117
112 - networking.firewall.allowedTCPPorts = [ 80 3000 3001 4000 5432 ];
118 +
119 + networking = {
120 + hostName = "wendy";
121 + domain = "buildfarm";
122 +
123 + interfaces.external =
124 + { ipAddress = myIP;
125 + prefixLength = 23;
126 + };
127 +
128 + interfaces.internal =
129 + { ipAddress = (findSingle (m: m.hostName == "wendy") {} {} machines).ipAddress;
130 + prefixLength = 22;
131 + };
132 +
133 + useDHCP = false;
134 +
135 + defaultGateway = "130.161.158.1";
136 +
137 + nameservers = [ "127.0.0.1" ];
138 +
139 + extraHosts = "192.168.1.26 wendy";
140 +
141 + firewall.allowedTCPPorts = [ 80 443 843 10051 5999 ];
142 + firewall.allowedUDPPorts = [ 53 67 ];
143 + firewall.extraCommands =
144 + ''
145 + ip46tables -I nixos-fw-accept -p tcp --dport 843 --syn -j LOG --log-level info --log-prefix "POLICY REQUEST: "
146 + '';
147 +
148 + nat.enable = true;
149 + nat.internalIPs = "192.168.1.0/22";
150 + nat.externalInterface = "external";
151 + nat.externalIP = myIP;
152 +
153 +
154 + };
155 +
156 + jobs.dnsmasq =
157 + let
158 +
159 + confFile = pkgs.writeText "dnsmasq.conf"
160 + ''
161 + keep-in-foreground
162 + no-hosts
163 + addn-hosts=${hostsFile}
164 + expand-hosts
165 + domain=buildfarm
166 + interface=internal
167 +
168 + server=130.161.158.4
169 + server=130.161.33.17
170 + server=130.161.180.1
171 + server=8.8.8.8
172 + server=8.8.4.4
173 +
174 + dhcp-range=192.168.1.150,192.168.3.200
175 +
176 + ${flip concatMapStrings machines (m: optionalString (m ? ethernetAddress) ''
177 + dhcp-host=${m.ethernetAddress},${m.ipAddress},${m.hostName}
178 + '')}
179 + '';
180 +
181 + hostsFile = pkgs.writeText "extra-hosts"
182 + (flip concatMapStrings machines (m: "${m.ipAddress} ${m.hostName}\n"));
183 +
184 + in
185 + { startOn = "started network-interfaces";
186 + exec = "${pkgs.dnsmasq}/bin/dnsmasq --conf-file=${confFile}";
187 + };
188
189 # Needed for the Nixpkgs mirror script.
190 environment.pathsToLink = [ "/libexec" ];