Как включить IPv6 на Fedora 28 на Amazon EC2
Я не могу заставить IPv6 работать в Fedora 28 в Amazon EC2 (поэтому использую cloud-init и DHCPv6).
Он работает в RHEL 7 с конфигурацией, описанной здесь. Применение той же конфигурации к Fedora 28, похоже, ничего не дает. Особенно, /etc/sysconfig/network
НЕ переписывается, чтобы содержать NETWORKING_IPV6=yes
и не делает /etc/sysconfig/network-scripts/ifcfg-eth0
содержать любые вещи IPv6.
мой /etc/cloud/cloud.cfg.d/56-custom-networking.cfg
содержит:
network:
version: 1
config:
- type: physical
name: eth0
subnets:
- type: dhcp
- type: dhcp6
Сгенерированный /etc/sysconfig/network
является:
NOZEROCONF=yes
DEVTIMEOUT=10
# Created by cloud-init on instance boot automatically, do not edit.
#
NETWORKING=yes
Сгенерированный /etc/sysconfig/network-scripts/ifcfg-eth0
является:
# Created by cloud-init on instance boot automatically, do not edit.
#
BOOTPROTO=dhcp
DEVICE=eth0
HWADDR=0e:79:0a:22:60:26
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
мой ifconfig -a
:
[aram@eden ~]$ ifconfig -a
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 9001
inet 172.31.35.163 netmask 255.255.240.0 broadcast 172.31.47.255
inet6 fe80::c79:aff:fe22:6026 prefixlen 64 scopeid 0x20<link>
ether 0e:79:0a:22:60:26 txqueuelen 1000 (Ethernet)
RX packets 498 bytes 45355 (44.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 332 bytes 38967 (38.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Версии ОС:
[aram@eden ~]$ cat /etc/os-release
NAME=Fedora
VERSION="28 (Cloud Edition)"
ID=fedora
VERSION_ID=28
PLATFORM_ID="platform:f28"
PRETTY_NAME="Fedora 28 (Cloud Edition)"
ANSI_COLOR="0;34"
CPE_NAME="cpe:/o:fedoraproject:fedora:28"
HOME_URL="https://fedoraproject.org/"
SUPPORT_URL="https://fedoraproject.org/wiki/Communicating_and_getting_help"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=28
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=28
PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy"
VARIANT="Cloud Edition"
VARIANT_ID=cloud
[aram@eden ~]$
1 ответ
Это происходит потому, что текущая версия cloud-init (я тестировал с 17.1) не восстанавливает сетевые настройки при каждой загрузке. Сетевые настройки генерируются только при первой загрузке. Вы можете наблюдать это, войдя в лог-файлы cloud-init:
$ grep 'network config' /var/log/cloud-init.log
2018-09-18 22:13:26,089 - stages.py[INFO]: Applying network configuration from ds bringup=False: {'version': 1, 'config': [{'type': 'physical', 'name': 'eth0', 'subnets': [{'type': 'dhcp4'}], 'mac_address': '12:64:78:dd:c8:62'}]}
2018-09-18 22:13:29,211 - stages.py[DEBUG]: not a new instance. network config is not applied.
2018-09-26 10:08:08,367 - stages.py[DEBUG]: not a new instance. network config is not applied.
2018-09-26 10:08:11,458 - stages.py[DEBUG]: not a new instance. network config is not applied.
2018-09-26 11:01:12,917 - stages.py[DEBUG]: not a new instance. network config is not applied.
2018-09-26 11:01:16,011 - stages.py[DEBUG]: not a new instance. network config is not applied.
2018-09-26 11:10:38,782 - stages.py[DEBUG]: not a new instance. network config is not applied.
2018-09-26 11:10:41,871 - stages.py[DEBUG]: not a new instance. network config is not applied.
2018-09-26 11:12:10,407 - stages.py[DEBUG]: not a new instance. network config is not applied.
2018-09-26 11:12:13,475 - stages.py[DEBUG]: not a new instance. network config is not applied.
Как видите, конфигурация сети была применена только при первой загрузке (в то время экземпляр еще не имел IPV6).
Существует проблема, требующая сделать это поведение настраиваемым: https://bugs.launchpad.net/cloud-init/+bug/1765801
Вот шаги, которые я предпринял, чтобы включить IPV6 в существующем экземпляре на Amazon EC2 для Fedora 28 (Cloud Edition):
- добавлять
NETWORKING_IPV6=yes
в/etc/sysconfig/network
- добавлять
DHCPV6C=yes
в/etc/sysconfig/network-scripts/ifcfg-eth0
- Бежать
sudo systemctl restart network
После этих шагов IPV6 включается, и он также сохраняется между перезагрузками. Однако, если по какой-то причине экземпляр создается заново, и cloud-init считает, что это будет первая загрузка снова, изменения будут потеряны. Однако cloud-init уже генерирует сетевую конфигурацию IPV6 из коробки, так что у вас все должно быть в порядке.