106 lines
2.4 KiB
Nix
106 lines
2.4 KiB
Nix
{ zentralwerk, config, pkgs, ... }:
|
|
let
|
|
netConfig = zentralwerk.lib.config.site.net.serv;
|
|
|
|
mac = {
|
|
serv = "e2:e9:bb:f4:4a:fe";
|
|
pub = "e2:e9:bb:f4:4a:ff";
|
|
};
|
|
|
|
in
|
|
{
|
|
microvm = {
|
|
mem = 1024;
|
|
};
|
|
|
|
c3d2.deployment = {
|
|
server = "server9";
|
|
mounts = [ "etc" "home" "var"];
|
|
autoNetSetup = false;
|
|
};
|
|
microvm.interfaces = [ {
|
|
type = "tap";
|
|
id = "pub-leoncloud";
|
|
mac = mac.pub;
|
|
} {
|
|
type = "tap";
|
|
id = "serv-leoncloud";
|
|
mac = mac.serv;
|
|
} ];
|
|
|
|
networking = {
|
|
hostName = "leoncloud";
|
|
firewall.enable = true;
|
|
};
|
|
systemd.network = {
|
|
enable = true;
|
|
|
|
# On the serv network I have a static IPv4 and only a route to the
|
|
# rest of the network so that I am reachable by
|
|
# public-access-proxy.
|
|
|
|
links."00-serv" = {
|
|
matchConfig.MACAddress = mac.serv;
|
|
linkConfig.Name = "serv";
|
|
};
|
|
|
|
networks."00-serv" = {
|
|
matchConfig.MACAddress = mac.serv;
|
|
networkConfig.IPv6AcceptRA = false;
|
|
# try harder disabling global ipv6
|
|
networkConfig.LinkLocalAddressing = "no";
|
|
addresses = [ {
|
|
addressConfig.Address = "${config.c3d2.hosts.${config.networking.hostName}.ip4}/${toString zentralwerk.lib.config.site.net.serv.subnet4Len}";
|
|
} ];
|
|
routes = [ {
|
|
routeConfig = {
|
|
Destination = "172.20.0.0/14";
|
|
Gateway = config.c3d2.hosts.serv-gw.ip4;
|
|
};
|
|
} ];
|
|
};
|
|
|
|
# On the pub network I am a normal client.
|
|
|
|
links."00-pub" = {
|
|
matchConfig.MACAddress = mac.pub;
|
|
linkConfig.Name = "pub";
|
|
};
|
|
|
|
networks."01-pub" = {
|
|
matchConfig.MACAddress = mac.pub;
|
|
networkConfig.DHCP = "ipv4";
|
|
networkConfig.IPv6AcceptRA = true;
|
|
};
|
|
};
|
|
|
|
security.sudo = {
|
|
enable = true;
|
|
wheelNeedsPassword = false;
|
|
};
|
|
|
|
c3d2.hq.statistics.enable = true;
|
|
|
|
# List packages installed in system profile. To search, run:
|
|
# $ nix search wget
|
|
environment.systemPackages = with pkgs; [
|
|
wget vim python3Full nmap htop wireguard-tools
|
|
];
|
|
|
|
users.users.leon = {
|
|
isNormalUser = true;
|
|
extraGroups = [ "wheel" ];
|
|
createHome = true;
|
|
openssh.authorizedKeys.keys = [
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM2zpmWA3Z9zshWaU8k1SWyJnbAyasOu9pV+9BvTY0XE leon@¯\_(ツ)_/¯"
|
|
];
|
|
};
|
|
|
|
networking.firewall = {
|
|
allowedTCPPorts = [ 22 80 443 ];
|
|
allowedUDPPorts = [ ];
|
|
};
|
|
|
|
system.stateVersion = "22.05";
|
|
}
|