mastus: dns server
This commit is contained in:
		
							parent
							
								
									f9ff346c08
								
							
						
					
					
						commit
						e9cd321661
					
				@ -14,6 +14,7 @@
 | 
				
			|||||||
      ./blog.nix
 | 
					      ./blog.nix
 | 
				
			||||||
      ./radicale.nix
 | 
					      ./radicale.nix
 | 
				
			||||||
      ./ttrss.nix
 | 
					      ./ttrss.nix
 | 
				
			||||||
 | 
					      ./dns.nix
 | 
				
			||||||
    ];
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  boot.loader.grub.enable = true;
 | 
					  boot.loader.grub.enable = true;
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										97
									
								
								mastus/dns.nix
									
									
									
									
									
										Normal file
									
								
							
							
								
								
								
								
								
									
									
								
							
						
						
									
										97
									
								
								mastus/dns.nix
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,97 @@
 | 
				
			|||||||
 | 
					{ config, pkgs, ... }:
 | 
				
			||||||
 | 
					let
 | 
				
			||||||
 | 
					  mastus = ''
 | 
				
			||||||
 | 
					    IN A 37.252.120.145
 | 
				
			||||||
 | 
					      IN AAAA 2a02:2770:5:0:21a:4aff:fe99:a937
 | 
				
			||||||
 | 
					  '';
 | 
				
			||||||
 | 
					  misuji = ''
 | 
				
			||||||
 | 
					    IN A 91.213.195.194
 | 
				
			||||||
 | 
					      IN AAAA 2a02:2770:3:0:21a:4aff:feac:bc0e
 | 
				
			||||||
 | 
					  '';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  timestamp = "1466327298";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  heNsServers = ''
 | 
				
			||||||
 | 
					    @ IN NS ns1.he.net.
 | 
				
			||||||
 | 
					    @ IN NS ns2.he.net.
 | 
				
			||||||
 | 
					    @ IN NS ns3.he.net.
 | 
				
			||||||
 | 
					    @ IN NS ns4.he.net.
 | 
				
			||||||
 | 
					    @ IN NS ns5.he.net.
 | 
				
			||||||
 | 
					  '';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  mailSetup = ''
 | 
				
			||||||
 | 
					    @ IN MX 10 imap.gebner.org.
 | 
				
			||||||
 | 
					    @ IN TXT v=spf1 mx -all
 | 
				
			||||||
 | 
					  '';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  commonStuff = domain: ''
 | 
				
			||||||
 | 
					    $ORIGIN ${domain}.
 | 
				
			||||||
 | 
					    @ 10800 IN SOA mastus.gebner.org. gebner.gebner.org. ${timestamp} 10800 3600 604800 10800
 | 
				
			||||||
 | 
					    ${heNsServers}
 | 
				
			||||||
 | 
					    ${mailSetup}
 | 
				
			||||||
 | 
					  '';
 | 
				
			||||||
 | 
					in
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  services.nsd = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    interfaces = [ "0.0.0.0" "::" ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    zones = {
 | 
				
			||||||
 | 
					      "gebner.org." = {
 | 
				
			||||||
 | 
					        provideXFR = [ "0.0.0.0/0 NOKEY" "::0/0 NOKEY" ];
 | 
				
			||||||
 | 
					        data = ''
 | 
				
			||||||
 | 
					          ${commonStuff "gebner.org"}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          misuji ${misuji}
 | 
				
			||||||
 | 
					          mastus ${mastus}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          home-gw IN A 80.109.2.154
 | 
				
			||||||
 | 
					          htdf-gw IN A 80.109.2.154
 | 
				
			||||||
 | 
					          mtlaa-gw IN A 84.112.114.160
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          @ ${mastus}
 | 
				
			||||||
 | 
					          www IN CNAME mastus
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          reader IN CNAME mastus
 | 
				
			||||||
 | 
					          owncloud IN CNAME misuji
 | 
				
			||||||
 | 
					          webmail IN CNAME misuji
 | 
				
			||||||
 | 
					          git IN CNAME mastus
 | 
				
			||||||
 | 
					          kochbuch IN CNAME misuji
 | 
				
			||||||
 | 
					          howfatami IN CNAME misuji
 | 
				
			||||||
 | 
					          mail ${mastus}
 | 
				
			||||||
 | 
					          imap ${mastus}
 | 
				
			||||||
 | 
					          xmpp ${misuji}
 | 
				
			||||||
 | 
					          wllbg in CNAME misuji
 | 
				
			||||||
 | 
					          cookbook in CNAME misuji
 | 
				
			||||||
 | 
					          radicale in CNAME mastus
 | 
				
			||||||
 | 
					        '';
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					      "gabrielebner.at." = {
 | 
				
			||||||
 | 
					        provideXFR = [ "0.0.0.0/0 NOKEY" "::0/0 NOKEY" ];
 | 
				
			||||||
 | 
					        data = ''
 | 
				
			||||||
 | 
					          ${commonStuff "gabrielebner.at"}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          @ ${mastus}
 | 
				
			||||||
 | 
					          www IN CNAME mastus.gebner.org.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          openid IN CNAME mastus.gebner.org.
 | 
				
			||||||
 | 
					        '';
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					      "2b7e.org." = {
 | 
				
			||||||
 | 
					        provideXFR = [ "0.0.0.0/0 NOKEY" "::0/0 NOKEY" ];
 | 
				
			||||||
 | 
					        data = ''
 | 
				
			||||||
 | 
					          ${commonStuff "2b7e.org"}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          @ ${mastus}
 | 
				
			||||||
 | 
					          www IN CNAME mastus.gebner.org.
 | 
				
			||||||
 | 
					        '';
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  environment.systemPackages = [ pkgs.nsd ];
 | 
				
			||||||
 | 
					  networking.firewall = {
 | 
				
			||||||
 | 
					    allowedUDPPorts = [ 53 ];
 | 
				
			||||||
 | 
					    allowedTCPPorts = [ 53 ];
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user