Я новичок в программировании под Linux и на основе некоторого параметра конфигурации я хочу программно отключить и включить IPv4 в системе Linux. Псевдокод решения будет иметь вид:
if(is_ipv4_enabled)
{
// enable IPv4 and IPv6
}
else
{
// disable IPv4 and enable IPv6
}
Таким образом, IPv6 будет включен в обоих случаях, но единственное, что нужно сделать - это отключить / включить IPv4.
Любая помощь будет принята с благодарностью. Заранее благодарим!
вы можете просто удалить настроенные адреса ipv4 с помощью инструментов ip по умолчанию.
Что-то вроде:
ip address delete ip.ad.dr.ess dev ethx
или включить:
ip address add ip.ad.dr.ess dev ethx
вы должны знать, что это за адрес и интерфейс которому он, конечно, назначен, но это оставлено как упражнение для ОП.
Выполните интеграцию по схеме конфигурации сети, совместимой с выбранной вами операционной системой.
В идеале, один с четко определенным API для выполнения этой задачи отключения IPv4. Например, NetworkManager имеет множество способов отключить ipv4.method . Некоторые даже удобны для пользователя.
Также возможно развертывание файлов конфигурации. Это обычно требует привилегий root. А при создании шаблона для всего файла интерфейса не так просто переключить один параметр, но не трогать что-либо еще.