Enable strictDeps on all our toplevel packages #12
| @ -25,11 +25,18 @@ | ||||
|           # Send keepalives every 25 seconds. Important to keep NAT tables alive. | ||||
|           persistentKeepalive = 25; | ||||
|         } | ||||
|         { | ||||
|           name = "raccoon"; | ||||
|           publicKey = "QUfnGXSMEgu2bviglsaSdCjidB51oEDBFpnSFcKGfDI="; | ||||
|           allowedIPs = [ "10.106.0.236/32" "192.168.0.0/16" "10.0.44.0/24" ]; | ||||
|         } | ||||
|       ]; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   networking.hosts = { | ||||
|     "10.106.0.1" = [ "fox" ]; | ||||
|     "10.106.0.236" = [ "raccoon" ]; | ||||
|     "10.0.44.4" = [ "tent" ]; | ||||
|   }; | ||||
| } | ||||
|  | ||||
| @ -15,7 +15,6 @@ | ||||
| 
 | ||||
|     hosts = { | ||||
|       "84.88.53.236" = [ "ssfhead.bsc.es" "ssfhead" ]; | ||||
|       "84.88.51.152" = [ "raccoon" ]; | ||||
|       "84.88.51.142" = [ "raccoon-ipmi" ]; | ||||
|     }; | ||||
|   }; | ||||
|  | ||||
| @ -4,6 +4,7 @@ | ||||
|     ./xeon.nix | ||||
|     ./ssf/fs.nix | ||||
|     ./ssf/hosts.nix | ||||
|     ./ssf/hosts-remote.nix | ||||
|     ./ssf/net.nix | ||||
|     ./ssf/ssh.nix | ||||
|   ]; | ||||
|  | ||||
							
								
								
									
										9
									
								
								m/common/ssf/hosts-remote.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								m/common/ssf/hosts-remote.nix
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| { pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   networking.hosts = { | ||||
|     # Remote hosts visible from compute nodes | ||||
|     "10.106.0.236" = [ "raccoon" ]; | ||||
|     "10.0.44.4" = [ "tent" ]; | ||||
|   }; | ||||
| } | ||||
| @ -29,12 +29,19 @@ | ||||
|           # List of IPs assigned to this peer within the tunnel subnet. Used to configure routing. | ||||
|           allowedIPs = [ "10.106.0.30/32" ]; | ||||
|         } | ||||
|         { | ||||
|           name = "raccoon"; | ||||
|           publicKey = "QUfnGXSMEgu2bviglsaSdCjidB51oEDBFpnSFcKGfDI="; | ||||
|           allowedIPs = [ "10.106.0.236/32" "192.168.0.0/16" "10.0.44.0/24" ]; | ||||
|         } | ||||
|       ]; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   networking.hosts = { | ||||
|     "10.106.0.30" = [ "apex" ]; | ||||
|     "10.106.0.236" = [ "raccoon" ]; | ||||
|     "10.0.44.4" = [ "tent" ]; | ||||
|   }; | ||||
| 
 | ||||
|   networking.firewall = { | ||||
|  | ||||
| @ -8,6 +8,7 @@ | ||||
|     ../module/ssh-hut-extern.nix | ||||
|     ../module/nvidia.nix | ||||
|     ../eudy/kernel/perf.nix | ||||
|     ./wireguard.nix | ||||
|   ]; | ||||
| 
 | ||||
|   # Don't install Grub on the disk yet | ||||
|  | ||||
							
								
								
									
										48
									
								
								m/raccoon/wireguard.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								m/raccoon/wireguard.nix
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,48 @@ | ||||
| { config, pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   networking.nat = { | ||||
|     enable = true; | ||||
|     enableIPv6 = false; | ||||
|     externalInterface = "eno0"; | ||||
|     internalInterfaces = [ "wg0" ]; | ||||
|   }; | ||||
| 
 | ||||
|   networking.firewall = { | ||||
|     allowedUDPPorts = [ 666 ]; | ||||
|   }; | ||||
| 
 | ||||
|   age.secrets.wgRaccoon.file = ../../secrets/wg-raccoon.age; | ||||
| 
 | ||||
|   # Enable WireGuard | ||||
|   networking.wireguard.enable = true; | ||||
|   networking.wireguard.interfaces = { | ||||
|     wg0 = { | ||||
|       ips = [ "10.106.0.236/24" ]; | ||||
|       listenPort = 666; | ||||
|       privateKeyFile = config.age.secrets.wgRaccoon.path; | ||||
|       # Public key: QUfnGXSMEgu2bviglsaSdCjidB51oEDBFpnSFcKGfDI= | ||||
|       peers = [ | ||||
|         { | ||||
|           name = "fox"; | ||||
|           publicKey = "VfMPBQLQTKeyXJSwv8wBhc6OV0j2qAxUpX3kLHunK2Y="; | ||||
|           allowedIPs = [ "10.106.0.1/32" ]; | ||||
|           endpoint = "fox.ac.upc.edu:666"; | ||||
|           persistentKeepalive = 25; | ||||
|         } | ||||
|         { | ||||
|           name = "apex"; | ||||
|           publicKey = "VwhcN8vSOzdJEotQTpmPHBC52x3Hbv1lkFIyKubrnUA="; | ||||
|           allowedIPs = [ "10.106.0.30/32" "10.0.40.0/24" ]; | ||||
|           endpoint = "ssfhead.bsc.es:666"; | ||||
|           persistentKeepalive = 25; | ||||
|         } | ||||
|       ]; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   networking.hosts = { | ||||
|     "10.106.0.1"  = [ "fox.wg" ]; | ||||
|     "10.106.0.30" = [ "apex.wg" ]; | ||||
|   }; | ||||
| } | ||||
| @ -35,6 +35,7 @@ | ||||
|     defaultGateway = "10.0.44.1"; | ||||
|     hosts = { | ||||
|       "84.88.53.236" = [ "apex" ]; | ||||
|       "10.0.44.1" = [ "raccoon" ]; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|  | ||||
| @ -4,6 +4,7 @@ let | ||||
|   hut = [ keys.hosts.hut ] ++ adminsKeys; | ||||
|   fox = [ keys.hosts.fox ] ++ adminsKeys; | ||||
|   apex = [ keys.hosts.apex ] ++ adminsKeys; | ||||
|   raccoon = [ keys.hosts.raccoon ] ++ adminsKeys; | ||||
|   mon = [ keys.hosts.hut keys.hosts.tent ] ++ adminsKeys; | ||||
|   tent = [ keys.hosts.tent ] ++ adminsKeys; | ||||
|   # Only expose ceph keys to safe nodes and admins | ||||
| @ -29,4 +30,5 @@ in | ||||
| 
 | ||||
|   "wg-fox.age".publicKeys = fox; | ||||
|   "wg-apex.age".publicKeys = apex; | ||||
|   "wg-raccoon.age".publicKeys = raccoon; | ||||
| } | ||||
|  | ||||
							
								
								
									
										
											BIN
										
									
								
								secrets/wg-raccoon.age
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								secrets/wg-raccoon.age
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
		Reference in New Issue
	
	Block a user