Назад | Перейти на главную страницу

Можно ли повторно включить IPv6 без перезагрузки?

У меня есть машина под управлением CentOS 5.8. IPv6 был отключен путем создания файла /etc/modprobe.d/disable-ipv6 со следующим содержанием:

options ipv6 disable=1

Удаление файла и перезагрузка компьютера должны повторно включить IPv6. Есть ли способ включить IPv6 без перезагрузки?


Дополнительная информация:

Я нашел кое-что, что сказал echo 0 > /proc/sys/net/ipv6/conf/interface/disable_ipv6, но /proc/sys/net/ipv6 не существует на этой машине.

sysctl ничего не показывает про IPv6:

# sysctl -a | grep -i ipv6 | wc -l
0

Модуль ядра ipv6 загружен:

#lsmod | grep ipv6
ipv6                  437857  1 cnic

Попытка удалить его вызывает ошибку:

# modprobe -vnr ipv6
FATAL: Module ipv6 is in use.

# modprobe --show-depends ipv6
insmod /lib/modules/2.6.18-308.13.1.el5/kernel/crypto/crypto_api.ko 
insmod /lib/modules/2.6.18-308.13.1.el5/kernel/net/xfrm/xfrm_nalgo.ko 
insmod /lib/modules/2.6.18-308.13.1.el5/kernel/net/ipv6/ipv6.ko

Modprobe говорит crypto_api зависит от модуля ipv6. Выгрузка и загрузка этого на работающем веб-сервере - не лучшая идея.

Я попытался rmmod как было предложено @Zoredache:

# rmmod -v ipv6
ERROR: Module ipv6 is in use by cnic

Возможна перезагрузка драйвера ipv6 без перезагрузки

$ /sbin/lsmod |grep ipv
ipv6                  438625  3 rdma_cm,ib_addr,cnic

# loop through all the dependent modules, and unload them 
$ rmmod cnic ...
$ rmmod rdma_cm

$ modprobe ipv6 disable=0

Возможно, вам придется выключить сетевой адаптер, но это должно избежать перезагрузки.

Похоже, это невозможно. В конце концов я перезагрузил компьютер, чтобы включить IPv6. Я бы хотел, чтобы кто-нибудь доказал, что я ошибаюсь, поскольку у меня есть множество других машин, настроенных таким же образом.

у меня это работает,

перед:

$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever

сделай это :

$ modprobe ipv6
$ sysctl net.ipv6.conf.all.disable_ipv6=0

после:

$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever

надеюсь это поможет