Ubuntu 17.10: повторное включение IPv6

Ubuntu 17.10: повторное включение IPv6

После успешного отключения IPv6 с помощью этого скрипта:

echo  'net.ipv6.conf.all.disable_ipv6 = 1'  >> /etc/sysctl.conf
echo  'net.ipv6.conf.default.disable_ipv6 = 1'  >> /etc/sysctl.conf
echo  'net.ipv6.conf.lo.disable_ipv6 = 1'  >> /etc/sysctl.conf
sysctl -p

Я пытаюсь повторно включить его с помощью этого скрипта:

sed  -i "/net.ipv6.conf.all.disable_ipv6/d" /etc/sysctl.conf
sed  -i "/net.ipv6.conf.default.disable_ipv6/d" /etc/sysctl.conf
sed  -i "/net.ipv6.conf.lo.disable_ipv6/d" /etc/sysctl.conf
sysctl -p

Я проверил, что скрипт enable удаляет строки disable из файла sysctl.conf.

В каждом случае я проверяю результат следующим образом:

cat /proc/sys/net/ipv6/conf/all/disable_ipv6

где «1» означает отключено, а «0» означает нет.

Повторное включение не работает.

В каждом случае команда sysctl -p перезагружает файл /etc/sysctl.conf. Однако, похоже, что перезагрузка просто затягивает его в буфер, а не перезаписывает его полностью, так что отключающие свойства не удаляются.

Верн ли этот анализ?

Если так, то я не вижу возможности очистить кэш sysctl.conf. Есть ли она? Или есть стратегия для этого требования?

решение1

Записи в /etc/sysctl.confи любые файлы, включенные из него, определяют, какие настройки sysctl будут применены во время загрузки или при запуске sudo sysctl -p. Но отсутствие записи в этом файле означает, что такой sysctl (которых тысячи)не будет измененонезависимо от его текущей стоимости.

Вы удалили записи sysctl, которые отключали IPv6 из этого файла, но, похоже, вы на самом деле не изменили сами настройки sysctl. Запуск sudo sysctl -pне изменил их, потому что их не было в /etc/sysctl.conf.

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

sudo sysctl net.ipv6.conf.all.disable_ipv6=0
sudo sysctl net.ipv6.conf.default.disable_ipv6=0
sudo sysctl net.ipv6.conf.lo.disable_ipv6=0

Связанный контент