* Udev no longer assigns persistent names to network devices, so we have to do it ourselves :-( Use "internal" and "external" instead of eth0 and eth1.
* Udev no longer assigns persistent names to network devices, so we have to do it ourselves :-( Use "internal" and "external" instead of eth0 and eth1. svn path=/configurations/trunk/tud/; revision=34635
Eelco Dolstra committed
Oct 26, 2012 at 19:28 UTC
fe56b10f30ad9761a048fc6c21ac5fe9af3bb944
1 file changed
+19
-13
cartman.nix
+19
-13
@@ -172,11 +172,11 @@ rec {
172
domain = "buildfarm";
173
174
interfaces = [
175
- { name = "eth1";
175
+ { name = "external";
176
ipAddress = myIP;
177
subnetMask = "255.255.254.0";
178
}
179
- { name = "eth0";
179
+ { name = "internal";
180
ipAddress = (findSingle (m: m.hostName == "cartman") {} {} machines).ipAddress;
181
subnetMask = "22";
182
}
@@ -202,7 +202,7 @@ rec {
202
203
nat.enable = true;
204
nat.internalIPs = "192.168.1.0/22";
205
- nat.externalInterface = "eth1";
205
+ nat.externalInterface = "external";
206
nat.externalIP = myIP;
207
208
localCommands =
@@ -213,9 +213,9 @@ rec {
213
${pkgs.iptables}/sbin/iptables -t nat -A PREROUTING -p tcp -d ${myIP} --dport 2222 -j DNAT --to 192.168.1.26:22
214
215
# Cleanup.
216
- ip -6 route flush dev sixxs
217
- ip link set dev sixxs down
218
- ip tunnel del sixxs
216
+ ip -6 route flush dev sixxs || true
217
+ ip link set dev sixxs down || true
218
+ ip tunnel del sixxs || true
219
220
# Set up a SixXS tunnel for IPv6 connectivity.
221
ip tunnel add sixxs mode sit local ${myIP} remote 192.87.102.107 ttl 64
@@ -224,27 +224,33 @@ rec {
224
ip -6 route add default via 2001:610:600:88d::1 dev sixxs
225
226
# Discard all traffic to networks in our prefix that don't exist.
227
- ip -6 route add 2001:610:685::/48 dev lo
227
+ ip -6 route add 2001:610:685::/48 dev lo || true
228
229
# Create a local network (prefix:1::/64).
230
- ip -6 addr add 2001:610:685:1::1/64 dev eth0
230
+ ip -6 addr add 2001:610:685:1::1/64 dev internal || true
231
232
# Forward traffic to our Nova cloud to "stan".
233
- ip -6 route add 2001:610:685:2::/64 via 2001:610:685:1:222:19ff:fe55:bf2e
233
+ ip -6 route add 2001:610:685:2::/64 via 2001:610:685:1:222:19ff:fe55:bf2e || true
234
235
# Amazon MTurk experiment.
236
- ${pkgs.iptables}/sbin/iptables -t nat -A PREROUTING -p tcp -d ${myIP} --dport 5998 -j DNAT --to 192.168.1.26:5998
237
- ${pkgs.iptables}/sbin/iptables -t nat -A PREROUTING -p tcp -d ${myIP} --dport 5999 -j DNAT --to 192.168.1.26:5999
236
+ #${pkgs.iptables}/sbin/iptables -t nat -A PREROUTING -p tcp -d ${myIP} --dport 5998 -j DNAT --to 192.168.1.26:5998
237
+ #${pkgs.iptables}/sbin/iptables -t nat -A PREROUTING -p tcp -d ${myIP} --dport 5999 -j DNAT --to 192.168.1.26:5999
238
'';
239
};
240
241
services = {
242
243
+ udev.extraRules =
244
+ ''
245
+ ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="00:19:d1:19:28:bf", NAME="external"
246
+ ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="00:04:23:df:f7:bf", NAME="internal"
247
+ '';
248
+
249
radvd = {
250
enable = true;
251
config =
252
''
247
- interface eth0 {
253
+ interface internal {
254
AdvSendAdvert on;
255
prefix 2001:610:685:1::/64 { };
256
RDNSS 2001:610:685:1::1 { };
@@ -644,7 +650,7 @@ rec {
650
addn-hosts=${hostsFile}
651
expand-hosts
652
domain=buildfarm
647
- interface=eth0
653
+ interface=internal
654
655
server=130.161.158.4
656
server=130.161.33.17