У меня есть пара экземпляров c5.large с двумя сетевыми интерфейсами каждый, работающих под управлением последней версии Amazon Linux 2 AMI по состоянию на 2018-03. Раньше у них было 8 IP-адресов на каждом интерфейсе, теперь их стало 7. При добавлении IP-адресов и интерфейсов это правильно обновлялось при перезапуске служб/перезагрузке, как описано в документации Amazon. Теперь один из экземпляров на основном сетевом интерфейсе все еще считает, что у него 8 IP-адресов — удаленный все еще висит.
Я пробовал systemctl restart network и перезагрузку, но безрезультатно.
Ниже приведена соответствующая часть вывода journalctl. curlinghttp://xxxx/latest/meta-data/network/interfaces/macs/MAC1/local-ipv4s(с соответствующим MAC для eth0) возвращает правильные 7 IP-адресов, без устаревшего IP-адреса, который все еще привязан к сетевому интерфейсу. Я заметил, что мы видим только "Rewriting rules" для eth1, а не eth0. Тем не менее, один экземпляр в порядке, а другой нет.
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: Я ожидаю, что интерфейс должен удалить неназначенный IP-адрес из основного сетевого интерфейса при перезапуске сети (или, по крайней мере, при перезагрузке экземпляра). Как мне заставить это работать?
EDIT 2: Ручное удаление IP из интерфейса ip addr del x.x.x.x/20 dev eth0
удаляет его на данный момент, но он возвращается, когда я запускаю service network restart
. Может быть, есть какой-то кэшированный результат, который застрял...?