Sunday, May 19, 2024
 Popular · Latest · Hot · Upcoming
3
rated 0 times [  3] [ 0]  / answers: 1 / hits: 4077  / 2 Years ago, thu, august 25, 2022, 2:50:05

I have been playing around with 3 google cloud compute instances using webmin/virtualmin (web hosting and email), Vestacp (hosting only), and ISPconfig (hosting only) control panels.



The ISPConfig instance has a static external ip address, however the other 2 at this stage are dhcp.



All 3 instances are using a dynamically assigned internal ip addresses, although i have not yet seen any of those ip addresses change in 6 months of testing and restarting and deleting and re-deploying. Whenever i delete an instance, the same internal ip sequence is used (ie whatever is the next lowest unassigned available number is re-added as internal ip address).



I am having some problems with forcing google cloud to bloodywell stop changing my hostname -f configuration in my /etc/hosts file.



It should read



127.0.0.1 localhost.localdomain localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
10.x.x.x server1.foo.com.au server1


(where x is my internal ip address, "foo" is my domain name)



However, on any 3 of my instances, as soon as i reboot the instance, google cloud adds its own code back in again on next restart. ie by default google cloud keeps changing the file to read the same 2 "# added by Google" lines as shown below



127.0.0.1 localhost.localdomain localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
10.x.x.x server1.foo.com.au server1
10.x.x.x server1.c.bar.internal server1 # Added by Google
169.254.169.254 metadata.google.internal # Added by Google


(where x is my internal ip address, "foo" is my actual domain name, and "bar" is my google cloud project ID)



This is really causing me problems and i have no idea on which is the best way around it.



-Do i do it from within google cloud DNS API?
-setup a static internal ip address in google cloud network settings?
-setup a script that continues to check for a change to this file and immediately replace any changes google cloud attempts to make?
-or do i need to change the metadata information on the last line of my hosts file so it does not have "...metadata.google.internal # Added by Google" line?



At present option 1 above is not working. As soon as i enable the DNS API then try to enter it i get a "failed to load" error from within my google cloud console. This is a flaming pain in the ass!!! (i have sent a support request to google...who knows how long it will take for an answer)


More From » hostname

 Answers
6

Ghetto option that may not work: sudo chattr +i /etc/hosts



Do man chattr for details, but this makes the file "(i)mmutable", which means even root can't change it (unless root does chattr -i /etc/hosts first, of course).



As above, you can undo this with sudo chattr -i /etc/hosts



Why it happens: I'm guessing you have a process (perhaps dhcpcd or something) that obtains host information from some source, and then updates various files including /etc/hosts (and probably /etc/resolv.conf, which was why I ended up using chattr). The right way to fix things is figure out what process is doing this and configure it do the right thing. You could also do "cp /etc/hosts.correct /etc/hosts" after the process is done mangling your file, but you have to do this late enough in the bootup process that it happens after the process is done mangling.


[#10184] Saturday, August 27, 2022, 2 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
tinchir

Total Points: 300
Total Questions: 116
Total Answers: 119

Location: American Samoa
Member since Sun, Jan 17, 2021
3 Years ago
;