1
0
Fork 0
mirror of https://github.com/mdlayher/homelab.git synced 2024-12-14 11:47:32 +00:00
mdlayher-homelab/nixos/servnerr-4/networking.nix
2023-07-22 09:28:19 -04:00

71 lines
1.8 KiB
Nix

{ lib, ... }:
let unstable = import <nixos-unstable-small> { };
in {
networking = {
# Host name and ID.
hostName = "servnerr-4";
hostId = "ed66dcdd";
# Use systemd-networkd for configuration. Forcibly disable legacy DHCP client.
useNetworkd = true;
useDHCP = false;
# No local firewall.
firewall.enable = false;
};
services.tailscale = {
enable = true;
package = unstable.tailscale;
interfaceName = "ts0";
};
systemd.network = {
enable = true;
# 1GbE management LAN.
links."10-mgmt0" = {
matchConfig.MACAddress = "04:d9:f5:7e:1c:47";
linkConfig.Name = "mgmt0";
};
networks."10-mgmt0" = {
matchConfig.Name = "mgmt0";
networkConfig.DHCP = "ipv4";
dhcpV4Config.ClientIdentifier = "mac";
# Only accept DNS search on this interface.
ipv6AcceptRAConfig.UseDomains = true;
};
# 10GbE internal LAN.
links."11-ten0p0lan0" = {
matchConfig.MACAddress = "8c:dc:d4:ac:96:24";
linkConfig.Name = "ten0p0lan0";
};
networks."11-ten0p0lan0" = {
# TODO(mdlayher): enable again.
enable = false;
matchConfig.Name = "ten0p0lan0";
networkConfig.DHCP = "ipv4";
dhcpV4Config.ClientIdentifier = "mac";
# Only accept DNS search on this interface.
ipv6AcceptRAConfig.UseDomains = true;
};
# 10GbE lab VLAN.
links."12-ten0p1lab0" = {
matchConfig.MACAddress = "8c:dc:d4:ac:96:25";
linkConfig.Name = "ten0p1lab0";
};
networks."12-ten0p1lab0" = {
# TODO(mdlayher): enable after setting up bridge.
enable = false;
matchConfig.Name = "ten0p1lab0";
networkConfig.DHCP = "ipv4";
dhcpV4Config.ClientIdentifier = "mac";
# Only accept DNS search on this interface.
ipv6AcceptRAConfig.UseDomains = true;
};
};
}