Recently I’ve been having issues with Linode Manager repeatedly logging me out every few requests. I figured this was related to ipv4/ipv6 switching, because sometimes the logout would also trigger a new IP whitelist request, which would sometimes be ipv4, and sometimes be ipv6.
After a little googling, I found this twitter conversation:
Turns out I’m not the only one experiencing this issue. So I decided to set up
dnsmasq as one of the replies mentioned, and force Linode to a single ipv4
Note that these instructions are for OSX (and were tested on Yosemite, 10.10).
First, I installed
dnsmasq via Homebrew:
brew install dnsmasq
Then, I followed the homebrew instructions to install
dnsmasq as a service to
start on startup:
sudo cp -fv /usr/local/opt/dnsmasq/*.plist /Library/LaunchDaemons sudo chown root /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist
Now, before we actually start the service, let’s get our resolver in place.
OSX allows us to define resolve data for specific addresses using files in
/etc/resolver/. Here is my
Basically, we’re telling the operating system to use our local DNS server
dnsmasq) for lookups for
We also need to configure
dnsmasq to force
manager.linode.com to a specific
address. First, we need an IPv4 address to work with:
# dscacheutil -q host -a name manager.linode.com name: manager.linode.com ipv6_address: 2600:3c00::14 ipv6_address: 2600:3c00::34 ipv6_address: 2600:3c00::24 name: manager.linode.com ip_address: 220.127.116.11 ip_address: 18.104.22.168 ip_address: 22.214.171.124
Then, copy the example configuration into place:
cp /usr/local/opt/dnsmasq/dnsmasq.conf.example /usr/local/etc/dnsmasq.conf
/usr/local/etc/dnsmasq.conf, adding this line:
sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist
Assuming you did everything right, you should only see one address when you query again:
dscacheutil -q host -a name manager.linode.com name: manager.linode.com ip_address: 126.96.36.199
I haven’t done much on Linode since implementing this fix, but haven’t had it log me out erroneously once yet.
If you have improvements or run into issues, please leave a comment below!