mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Fine tuning DNS options
Add pointer to self to /etc/hosts to avoid chicken/egg problems when restarting DNS. On servers set both dns_lookup_realm and dns_lookup_kdc to false so we don't attempt to do any resolving. Leave it to true on clients. Set rdns to false on both server and client. https://fedorahosted.org/freeipa/ticket/931
This commit is contained in:
committed by
Rob Crittenden
parent
c9431749a0
commit
22c3a681da
@@ -297,6 +297,9 @@ class BindInstance(service.Service):
|
||||
# get a connection to the DS
|
||||
self.ldap_connect()
|
||||
|
||||
if not installutils.record_in_hosts(self.ip_address, self.fqdn):
|
||||
installutils.add_record_to_hosts(self.ip_address, self.fqdn)
|
||||
|
||||
if not dns_container_exists(self.fqdn, self.suffix):
|
||||
self.step("adding DNS container", self.__setup_dns_container)
|
||||
if not dns_zone_exists(self.domain):
|
||||
|
||||
@@ -156,6 +156,25 @@ def verify_ip_address(ip):
|
||||
is_ok = False
|
||||
return is_ok
|
||||
|
||||
def record_in_hosts(ip, host_name, file="/etc/hosts"):
|
||||
hosts = open(file, 'r').readlines()
|
||||
for line in hosts:
|
||||
hosts_ip = line.split()[0]
|
||||
if hosts_ip != ip:
|
||||
continue
|
||||
|
||||
names = line.split()[1:]
|
||||
if host_name in names:
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
def add_record_to_hosts(ip, host_name, file="/etc/hosts"):
|
||||
hosts_fd = open(file, 'r+')
|
||||
hosts_fd.seek(0, 2)
|
||||
hosts_fd.write(ip+'\t'+host_name+' '+host_name.split('.')[0]+'\n')
|
||||
hosts_fd.close()
|
||||
|
||||
def read_ip_address(host_name, fstore):
|
||||
while True:
|
||||
ip = ipautil.user_input("Please provide the IP address to be used for this host name", allow_empty = False)
|
||||
@@ -169,10 +188,7 @@ def read_ip_address(host_name, fstore):
|
||||
|
||||
print "Adding ["+ip+" "+host_name+"] to your /etc/hosts file"
|
||||
fstore.backup_file("/etc/hosts")
|
||||
hosts_fd = open('/etc/hosts', 'r+')
|
||||
hosts_fd.seek(0, 2)
|
||||
hosts_fd.write(ip+'\t'+host_name+' '+host_name.split('.')[0]+'\n')
|
||||
hosts_fd.close()
|
||||
add_record_to_hosts(ip, host_name)
|
||||
|
||||
return ip
|
||||
|
||||
|
||||
Reference in New Issue
Block a user