How do I connect from one linode to another over ipv6 link local?

I'm unable to connect to my db server, from my web server, over ipv6 link local, with Debian 10. It was working a few months ago, but I came back from a break and found it doesn't work. Previously, the website ran and let you log in and view database data in the admin area. Now it can't connect to the db.

I tried restarting the web and db servers, and disabling ufw. But I'm seeing this:

ansible@web-production:~$ ssh fe80::f03c:92ff:fe95:3a70%eth0
ssh: connect to host fe80::f03c:92ff:fe95:3a70%eth0 port 22: Connection timed out
ansible@web-production:~$ ssh fe80::f03c:92ff:fe95:3a70%eth0 -p 5432
ssh: connect to host fe80::f03c:92ff:fe95:3a70%eth0 port 5432: Connection timed out

database.yml has that ipv6 address, which worked before but doesn't now:

production:
  <<: *default
  database: xxx
  username: xxx
  password: xxx
  host: fe80::f03c:92ff:fe95:3a70%eth0
  port: 5432

my pg_hba.conf, which was working before, includes this to let the web server connect:

host    all             all            fe80::f03c:92ff:fe95:3aa0/128        scram-sha-256

Has anything been changed recently? Am I doing something wrong? I don't know why I'm getting timeouts when I try to ssh to the link local address, or how to troubleshoot them. What's the correct way to ssh between linodes?

1 Reply

Honestly, I'm surprised you got this working before over the link-local address. The link-local addresses is typically used for things like automatic address configuration and neighbor discovery protocol. It can only really talk to the next "link" in the chain. This article from Cisco really helped me understand what they are used for and how they work; hopefully it can do the same for you:

If you want to connect over your web server to your db server, you'll want to use your global/SLAAC IPv6 address. Linode doesn't have true private IPv6 addresses, but any local traffic over IPv6 will not count against your quota, so it basically acts like a private IP in that regard anyway.

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct