[SOLVED] LXC containers can't access 169.254.169.254 bound to lo on host

Don Daniello

Active Member
Jan 28, 2012
60
7
28
My use case involves having LXC containers connect to 169.254.169.254 (inside the guest).
This IP (169.254.169.254) is added to "lo" interface on host (ip a add 169.254.169.254 dev lo).

On Proxmox 3, this worked well. I had a server running on host, binding to 169.254.169.254:80 and guests were able to connect to it (OpenVZ).
After ugprade to Proxmox 4, I believe this setup worked for a short time but then stopped working. I can neither ping 169.254.169.254 from inside a guest, nor connect to the metadata (HTTP) server on it.

I am not able to identify what has changed that is preventing the connection.

Setup details:
- no iptables rules on guest or host
- Proxmox Firewall is disabled
- host installed from OVH Proxmox 3 image
- upgraded to Proxmox 4 (with no issues)
- LXC containers have their own MAC, eth0 on guest is connected to vmbr0, which is simply provided by eth0 on host

Edit: The confusion results from a delay that OVH's gateways have in filtering ARP (?!). The setup works in routed mode, when the guest's gateway is the host and ip_forwarding is enabled. In bridged mode, when the gateway is OVH (and virtual MACs are used) the gateway will not route 169.254.169.254.
 
Last edited:

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!