Ich habe ein paar c5.large-Instanzen mit jeweils zwei Netzwerkschnittstellen, auf denen das neueste Amazon Linux 2 AMI (Stand 2018-03) läuft. Früher hatten sie 8 IP-Adressen auf jeder Schnittstelle, jetzt sind es 7. Beim Hinzufügen von IP-Adressen und Schnittstellen wurde dies beim Neustarten von Diensten/Neustarts ordnungsgemäß aktualisiert, wie in den Dokumenten von Amazon beschrieben. Jetzt glaubt eine der Instanzen auf der primären Netzwerkschnittstelle immer noch, dass sie 8 IP-Adressen hat – die entfernte bleibt immer noch bestehen.
Ich habe versucht, das Netzwerk mit systemctl restart und einen Neustart durchzuführen, aber ohne Erfolg.
Unten sehen Sie den relevanten Teil der Journalctl-Ausgabe. Curlinghttp://xxxx/latest/meta-data/network/interfaces/macs/MAC1/local-ipv4s(mit der relevanten MAC für eth0) gibt die korrekten 7 IP-Adressen zurück, ohne die veraltete IP-Adresse, die immer noch an der Netzwerkschnittstelle hängt. Mir fällt auf, dass wir nur „Umschreibregeln“ für eth1 und nicht für eth0 sehen. Trotzdem ist eine Instanz in Ordnung, während die andere es nicht ist.
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++++++++++++++++++++++++++++
BEARBEITEN: Ich erwarte, dass die Schnittstelle beim Neustart des Netzwerks (oder zumindest beim Neustart der Instanz) die nicht zugewiesene IP-Adresse von der primären Netzwerkschnittstelle entfernt. Wie bekomme ich das zum Laufen?
EDIT 2: Das manuelle Löschen der IP aus der Schnittstelle ip addr del x.x.x.x/20 dev eth0
entfernt sie für den Moment, aber sie kommt zurück, wenn ich ausführe service network restart
. Vielleicht gibt es ein zwischengespeichertes Ergebnis, das hängen bleibt...?