У меня есть хост KVM, на котором работает CentOS 7. Если мой / etc / sysconfig / network
выглядит как
HOSTNAME=myname
NETWORKING_IPV6=yes
NETWORKING=yes
IPv6 был включен, и я получаю глобальный IPv6-адрес:
# ifconfig
br0-enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.3 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 2a02:aaa:bbbb:cccc:82ee:73ff:fe9d:5909 prefixlen 64 scopeid 0x0<global>
inet6 fe80::82ee:73ff:fe9d:5909 prefixlen 64 scopeid 0x20<link>
ether 80:ee:73:9d:59:09 txqueuelen 1000 (Ethernet)
RX packets 5798 bytes 614164 (599.7 KiB)
RX errors 0 dropped 1842 overruns 0 frame 0
TX packets 3037 bytes 3130986 (2.9 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::82ee:73ff:fe9d:5909 prefixlen 64 scopeid 0x20<link>
ether 80:ee:73:9d:59:09 txqueuelen 1000 (Ethernet)
RX packets 7595 bytes 915426 (893.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5790 bytes 3458964 (3.2 MiB)
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 (Lokale Schleife)
RX packets 2874 bytes 2846558 (2.7 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2874 bytes 2846558 (2.7 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.169.1.1 netmask 255.255.255.0 broadcast 192.169.1.255
ether 52:54:00:88:24:d4 txqueuelen 1000 (Ethernet)
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
vnet0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::fc54:ff:fe08:24af prefixlen 64 scopeid 0x20<link>
ether fe:54:00:08:24:af txqueuelen 1000 (Ethernet)
RX packets 733 bytes 206871 (202.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4312 bytes 400237 (390.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Но если я включу IPV6FORWARDING в / etc / sysconfig / network
:
HOSTNAME=myname
NETWORKING_IPV6=yes
NETWORKING=yes
IPV6FORWARDING=yes
, я не получаю глобального IPv6-адреса:
# ifconfig
br0-enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.3 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::82ee:73ff:fe9d:5909 prefixlen 64 scopeid 0x20<link>
ether 80:ee:73:9d:59:09 txqueuelen 1000 (Ethernet)
RX packets 8727 bytes 995519 (972.1 KiB)
RX errors 0 dropped 2446 overruns 0 frame 0
TX packets 4970 bytes 6890188 (6.5 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::82ee:73ff:fe9d:5909 prefixlen 64 scopeid 0x20<link>
ether 80:ee:73:9d:59:09 txqueuelen 1000 (Ethernet)
RX packets 11014 bytes 1383620 (1.3 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 10205 bytes 7423351 (7.0 MiB)
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 (Lokale Schleife)
RX packets 6159 bytes 6792034 (6.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6159 bytes 6792034 (6.4 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.169.1.1 netmask 255.255.255.0 broadcast 192.169.1.255
ether 52:54:00:88:24:d4 txqueuelen 1000 (Ethernet)
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
vnet0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::fc54:ff:fe08:24af prefixlen 64 scopeid 0x20<link>
ether fe:54:00:08:24:af txqueuelen 1000 (Ethernet)
RX packets 885 bytes 262087 (255.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5626 bytes 512476 (500.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Content из '/etc/sysctl.conf' в настоящее время (уже включена конфигурация 'net.ipv6.conf.all.accept_ra' ответа «AB»):
# System default settings live in /usr/lib/sysctl.d/00-system.conf.
# To override those settings, enter new settings here, or in an /etc/sysctl.d/<name>.conf file
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
#
# openvpn routing
#
net.ipv4.ip_forward=1
net.ipv6.conf.all.accept_ra=2
На других машинах CentOS 7, на которых нет узла KVM установлено работает. Кто-нибудь знает почему?
РЕДАКТИРОВАТЬ 19.12.09
Добавление содержимого '/etc/sysctl.conf' и добавление полного вывода 'ifconfig'
Вот произвольное предположение, полагая, что Вы не предоставили много информации (включая Хост распределение ОС):
Ваша система имеет, вероятно, это значение по умолчанию sysctl установка:
# sysctl net.ipv6.conf.all.accept_ra
net.ipv6.conf.all.accept_ra = 1
Вот описание :
accept_ra - INTEGER Accept Router Advertisements; autoconfigure using them. It also determines whether or not to transmit Router Solicitations. If and only if the functional setting is to accept Router Advertisements, Router Solicitations will be transmitted. Possible values are: 0 Do not accept Router Advertisements. 1 Accept Router Advertisements if forwarding is disabled. 2 Overrule forwarding behaviour. Accept Router Advertisements even if forwarding is enabled. Functional default: enabled if local forwarding is disabled. disabled if local forwarding is enabled.
Поэтому, когда Ваш хост не является маршрутизатором, он автоматически сконфигурирован маршрутизатором IPv6, отправляющим RAs (включая в ответ на RSS от Вашего хоста) в сети. Когда это станет самим маршрутизатором, по умолчанию это не будет слушать те RAs.
Попытка это:
sysctl -w net.ipv6.conf.br0-enp3s0.accept_ra=2
Примечание, что, так как Вы используете мост, неявный сам порт, чтобы сделать маршрутизацию, Вы не можете различать, куда те RAs прибудут из: Вы могли получить РА от недоверяемого VM: это - Ваш вызов. Необходимо также проверить, нужен ли Вам RAs в других интерфейсах.
Все это не могло возможно применяться, если, например, Вы настроены с DHCPv6.