Initial commit
This commit is contained in:
		
							parent
							
								
									9d3a070c82
								
							
						
					
					
						commit
						ea4bf42669
					
				
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					.env
 | 
				
			||||||
 | 
					.DS_Store
 | 
				
			||||||
 | 
					moeny.ai
 | 
				
			||||||
							
								
								
									
										20
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								README.md
									
									
									
									
									
								
							@ -1,2 +1,22 @@
 | 
				
			|||||||
# bind9
 | 
					# bind9
 | 
				
			||||||
 | 
					This repo details the configuration for BIND DNS on Ubuntu 22.04.
 | 
				
			||||||
 | 
					You can set up your own DNS server by following this [guide](https://www.cherryservers.com/blog/how-to-install-and-configure-a-private-bind-dns-server-on-ubuntu-22-04]).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The basic configuration is as below:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1. Install bind9 and check its status
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					apt update -y && apt upgrade -y
 | 
				
			||||||
 | 
					apt install bind9 bind9utils bind9-doc -y
 | 
				
			||||||
 | 
					sudo systemctl status bind9
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2. Edit `/etc/bind/named.conf.options` and check its syntax with `named-checkconf /etc/bind/named.conf.options`. There should be no output.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					3. Edit `/etc/bind/named.conf.local` and check its syntax with `named-checkconf /etc/bind/named.conf.local`. There should be no output.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					4. Create a directory for your zone files with `mkdir /etc/bind/zones` and create your zone file in it as `/etc/bind/zones/example.com`. Replace `example.com` with your domain name.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					5. Check its syntax with `named-checkzone example.com /etc/bind/zones/example.com`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					6. Restart bind9 with `sudo systemctl restart bind9`.
 | 
				
			||||||
							
								
								
									
										31
									
								
								example.com
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								example.com
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,31 @@
 | 
				
			|||||||
 | 
					; /etc/bind/zones/example.com
 | 
				
			||||||
 | 
					; Example zone file for example.com
 | 
				
			||||||
 | 
					$TTL 3600
 | 
				
			||||||
 | 
					@       IN  SOA ns1.example.com. hostmaster.example.com. (
 | 
				
			||||||
 | 
					            2025012101 ; serial (format: YYYYMMDDXX)
 | 
				
			||||||
 | 
					            7200       ; refresh (2 hours)
 | 
				
			||||||
 | 
					            900        ; retry (15 minutes)
 | 
				
			||||||
 | 
					            1209600    ; expire (2 weeks)
 | 
				
			||||||
 | 
					            86400      ; minimum TTL (1 day)
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					; NS Records
 | 
				
			||||||
 | 
					@          3600    IN  NS  ns1.example.com.
 | 
				
			||||||
 | 
					@          3600    IN  NS  ns2.example.com.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					; A Records
 | 
				
			||||||
 | 
					@          3600    IN  A   192.0.2.10
 | 
				
			||||||
 | 
					www        3600    IN  A   192.0.2.11
 | 
				
			||||||
 | 
					app        3600    IN  A   192.0.2.12
 | 
				
			||||||
 | 
					mail       3600    IN  A   192.0.2.13
 | 
				
			||||||
 | 
					ns1        3600    IN  A   192.0.2.14
 | 
				
			||||||
 | 
					ns2        3600    IN  A   192.0.2.15
 | 
				
			||||||
 | 
					chat       3600    IN  A   192.0.2.16
 | 
				
			||||||
 | 
					monitor    3600    IN  A   192.0.2.17
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					; TXT Records
 | 
				
			||||||
 | 
					@          3600    IN  TXT "v=spf1 mx -all"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					; Email Related Records
 | 
				
			||||||
 | 
					@          3600    IN  MX  10 mail.example.com.
 | 
				
			||||||
 | 
					_dmarc     3600    IN  TXT "v=DMARC1; p=reject; pct=100; fo=1; rua=mailto:dmarc@example.com"
 | 
				
			||||||
							
								
								
									
										13
									
								
								named.conf.local
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								named.conf.local
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					//
 | 
				
			||||||
 | 
					// Do any local configuration here
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Consider adding the 1918 zones here, if they are not used in your
 | 
				
			||||||
 | 
					// organization
 | 
				
			||||||
 | 
					//include "/etc/bind/zones.rfc1918";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// define the forward zone
 | 
				
			||||||
 | 
					zone "moeny.ai" IN {
 | 
				
			||||||
 | 
					        type master;
 | 
				
			||||||
 | 
					        file "/etc/bind/zones/moeny.ai";
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
							
								
								
									
										31
									
								
								named.conf.options
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								named.conf.options
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,31 @@
 | 
				
			|||||||
 | 
					options {
 | 
				
			||||||
 | 
					        directory "/var/cache/bind";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // If there is a firewall between you and nameservers you want
 | 
				
			||||||
 | 
					        // to talk to, you may need to fix the firewall to allow multiple
 | 
				
			||||||
 | 
					        // ports to talk.  See http://www.kb.cert.org/vuls/id/800113
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // If your ISP provided one or more IP addresses for stable
 | 
				
			||||||
 | 
					        // nameservers, you probably want to use them as forwarders.
 | 
				
			||||||
 | 
					        // Uncomment the following block, and insert the addresses replacing
 | 
				
			||||||
 | 
					        // the all-0's placeholder.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // forwarders {
 | 
				
			||||||
 | 
					        //      0.0.0.0;
 | 
				
			||||||
 | 
					        // };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        //========================================================================
 | 
				
			||||||
 | 
					        // If BIND logs error messages about the root key being expired,
 | 
				
			||||||
 | 
					        // you will need to update your keys.  See https://www.isc.org/bind-keys
 | 
				
			||||||
 | 
					        //========================================================================
 | 
				
			||||||
 | 
					        dnssec-validation auto;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        listen-on-v6 { none; };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // allow-transfer { 100.40.223.128/26; };
 | 
				
			||||||
 | 
					        // dnssec-validation yes;
 | 
				
			||||||
 | 
					        recursion no;
 | 
				
			||||||
 | 
					        rate-limit {
 | 
				
			||||||
 | 
					          responses-per-second 5;
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user