Как я могу отключить стек IPv4 из Linux? Я хочу сделать это динамически , то есть иногда я хочу, чтобы он был включен, а иногда я хочу только стек IPv6 . Есть ли портативный способ сделать это? Если вы знаете, как это сделать в любом дистрибутиве, мне это тоже очень поможет.
linux
networking
ipv6
linux-networking
ipv4
Альдебаран
источник
источник
Ответы:
После небольшого разговора на IRC общее мнение таково: ядро linux разделяет некоторый код между ipv4 и ipv6, и это может сделать полное отключение ipv4 совершенно невозможным. Вы можете попытаться скомпилировать ядро без частей ipv4, но ipv6 может не скомпилироваться в этом случае (но ничто не мешает вам попробовать!).
Вы можете удалить адреса ipv4 из интерфейсов, AFAIK, но я не думаю, что в настоящее время возможно полностью отключить ipv4.
РЕДАКТИРОВАТЬ: После быстрой проверки на
make menuconfig
ядре 2.6.36 я не мог найти способ отключения ipv4 без отключения всего стека TCP / IP (и так, ipv6).источник
Если это для разработчиков, то можно использовать «библиотечную вставку», с LD_PRELOAD некоторая доктрированная библиотека с функциями-заглушками, которые просто возвращают ошибки (или которые вызывают реальные, в зависимости от дня недели или какого-либо другого внешнего критерия).
источник
Я не думаю, что можно полностью отключить IPv4, но в зависимости от вашей цели
iptables
может быть достаточно отбросить весь трафик IPv4 , не так ли?Нечто подобное должно работать. Я не тестировал его ни на одной машине, так как я получаю к ним доступ через IPv4.
источник
/etc/network/interfaces.d
. Это не совсем то же самое, что отключение IPv4, посколькуsystemd-resolved
он все еще прослушивается127.0.0.53:53
. Но этого было достаточно, чтобы удовлетворить мои насущные потребности, и я предпочел возиться с нимиiptables
.В основном вам следует перекомпилировать ваше ядро без модулей ipv4. мягкая фетровая шляпа
Вы не можете отключить его полностью, потому что система использует интерфейс обратной связи 127.0.0.1.
Но вы можете отключить некоторые функции ipv4 с помощью команды if-cfg.
источник