I have a couple of c5.large instances with two network interfaces each, running the latest Amazon Linux 2 AMI as of 2018-03. They used to have 8 IP addresses on each interface, which is now changed to 7. When adding IP addresses and interfaces, this has properly updated on restarting services/rebooting as documented on Amazon's docs. Now, one of the instances, on the primary network interface, it still believes it has 8 IP addresses - the removed one still sticks around.

I have tried systemctl restart network and rebooting, to no avail.

Below is the relevant part of journalctl output. curling http://x.x.x.x/latest/meta-data/network/interfaces/macs/MAC1/local-ipv4s (with the relevant MAC for eth0) returns the correct 7 IP addresses, without the stale IP address, which is still stuck to the network interface. I notice that we only see "Rewriting rules" for eth1 and not eth0. Still, one instance is fine while the other is not.

 network[1829]: Bringing up interface eth0:
 dhclient[1982]: DHCPREQUEST on eth0 to x.x.x.x port 67 (xid=0x509915e5)
 dhclient[1982]: DHCPACK from x.x.x.x (xid=0x509915e5)
 NET[2026]: /usr/sbin/dhclient-script : updated /etc/resolv.conf
 dhclient[1982]: bound to x.x.x.x -- renewal in 1364 seconds.
 ec2net[2043]: [get_meta] Trying to get http://x.x.x.x/latest/meta-data/network/interfaces/macs/MAC1/local-ipv4s
 network[1829]: Determining IP information for eth0... done.
 ec2net[2061]: [rewrite_aliases] Rewriting aliases of eth0
 systemd[1]: Started AWS CodeDeploy Host Agent.
 bash[1826]: /opt/codedeploy-agent/vendor/gems/logging-1.8.2/lib/logging/appender.rb:139: warning: constant ::Fixnum is deprecated
 bash[1826]: /opt/codedeploy-agent/vendor/gems/logging-1.8.2/lib/logging/logger.rb:295: warning: constant ::Fixnum is deprecated
 network[1829]: Determining IPv6 information for eth0... done.
 network[1829]: [  OK  ]
 network[1829]: Bringing up interface eth1:
 dhclient[2217]: DHCPREQUEST on eth1 to x.x.x.x port 67 (xid=0xeeb9077)
 dhclient[2217]: DHCPACK from x.x.x.x (xid=0xeeb9077)
 ec2net[2262]: [get_meta] Trying to get http://x.x.x.x/latest/meta-data/network/interfaces/macs/MAC2/local-ipv4s
 ec2net[2271]: [rewrite_rules] Rewriting rules for eth1
 dhclient[2217]: bound to x.x.x.x -- renewal in 1727 seconds.
 network[1829]: Determining IP information for eth1... done.
 ec2net[2293]: [get_meta] Trying to get http://x.x.x.x/latest/meta-data/network/interfaces/macs/MAC2/local-ipv4s
 ec2net[2300]: [rewrite_aliases] Rewriting aliases of eth1
 dhclient[2166]: XMT: Solicit on eth0, interval 1060ms.
 network[1829]: Determining IPv6 information for eth1... done.
 network[1829]: [  OK  ]
 systemd[1]: Started LSB: Bring up/down networking.
 systemd[1]: Starting Initial cloud-init job (metadata service crawler)...
 systemd[1]: Reached target Network.
 systemd[1]: Starting Network.
 systemd[1]: Starting Postfix Mail Transport Agent...
 dhclient[2166]: XMT: Solicit on eth0, interval 2050ms.
 cloud-init[2477]: Cloud-init v. 0.7.9 running 'init' at Tue, 13 Feb 2018 13:28:18 +0000. Up 9.23 seconds.
 dhclient[2431]: XMT: Solicit on eth1, interval 1040ms.
 cloud-init[2477]: ci-info: +++++++++++++++++++++++++++Net device info++++++++++++++++++++++++++++

EDIT: What I expect is that the interface should remove the unassigned IP address from the primary network interface on network restart (or at least on instance reboot). How do I get this working?

EDIT 2: Manually deleting the IP from the interface by ip addr del x.x.x.x/20 dev eth0 removes it for the moment, but it comes back when I run service network restart. Maybe there's some cached result that sticks...?

  • It would help to know what Linux distribution you're running – fholzer Mar 30 '18 at 19:47
  • D'oh, missed to include it in the text. Amazon Linux 2, latest as of 2018-03. – Legogris Apr 6 '18 at 8:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.