forked from Drift/pvv-nixos-config
fix-openstack-networking (!47)
Fix networking in Openstack. This rewrites the systemd-networkd config, fixing both dhcp and manual address/route configurations. Now, everything should behave predictably, routing NTNU-internal and NTNU-global addresses separately and properly across both ipv4 and ipv6. Reviewed-on: Drift/pvv-nixos-config#47
This commit is contained in:
parent
c7797bdd04
commit
2030d4de39
|
@ -20,10 +20,26 @@
|
||||||
zramSwap.enable = true;
|
zramSwap.enable = true;
|
||||||
|
|
||||||
networking.hostName = "ildkule"; # Define your hostname.
|
networking.hostName = "ildkule"; # Define your hostname.
|
||||||
systemd.network.networks."30-all" = values.defaultNetworkConfig // {
|
|
||||||
matchConfig.Name = "en*";
|
# Main connection, using the global/floatig IP, for communications with the world
|
||||||
DHCP = "yes";
|
systemd.network.networks."30-ntnu-global" = values.openstackGlobalNetworkConfig // {
|
||||||
gateway = [ ];
|
matchConfig.Name = "ens4";
|
||||||
|
|
||||||
|
# Add the global addresses in addition to the local address learned from DHCP
|
||||||
|
addresses = [
|
||||||
|
{ addressConfig.Address = "${values.hosts.ildkule.ipv4_global}/32"; }
|
||||||
|
{ addressConfig.Address = "${values.hosts.ildkule.ipv6_global}/128"; }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Secondary connection only for use within the university network
|
||||||
|
systemd.network.networks."40-ntnu-internal" = values.openstackLocalNetworkConfig // {
|
||||||
|
matchConfig.Name = "ens3";
|
||||||
|
# Add the ntnu-internal addresses in addition to the local address learned from DHCP
|
||||||
|
addresses = [
|
||||||
|
{ addressConfig.Address = "${values.hosts.ildkule.ipv4}/32"; }
|
||||||
|
{ addressConfig.Address = "${values.hosts.ildkule.ipv6}/128"; }
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
# List packages installed in system profile
|
# List packages installed in system profile
|
||||||
|
|
21
values.nix
21
values.nix
|
@ -73,4 +73,25 @@ in rec {
|
||||||
DHCP = "no";
|
DHCP = "no";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
openstackGlobalNetworkConfig = {
|
||||||
|
networkConfig.IPv6AcceptRA = "yes";
|
||||||
|
dns = [ "129.241.0.200" "129.241.0.201" ];
|
||||||
|
domains = [ "pvv.ntnu.no" "pvv.org" ];
|
||||||
|
DHCP = "yes";
|
||||||
|
};
|
||||||
|
|
||||||
|
openstackLocalNetworkConfig = {
|
||||||
|
networkConfig.IPv6AcceptRA = "no";
|
||||||
|
dns = [ "129.241.0.200" "129.241.0.201" ];
|
||||||
|
domains = [ "pvv.ntnu.no" "pvv.org" ];
|
||||||
|
DHCP = "yes";
|
||||||
|
|
||||||
|
# Only use this network for link-local networking, not global/default routes
|
||||||
|
dhcpV4Config.UseRoutes = "no";
|
||||||
|
routes = [
|
||||||
|
{ routeConfig = { Destination = "10.0.0.0/8"; Gateway = "_dhcp4"; }; }
|
||||||
|
];
|
||||||
|
|
||||||
|
linkConfig.RequiredForOnline = "no";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue