перезагрузите статический IP Ubuntu 16

10

Я использую Ubuntu Server 16.04 и настраиваю некоторые сетевые интерфейсы, я хочу перезагрузить статический IP после изменения его адреса в / etc / network / interfaces без перезагрузки:

auto ens6
iface ens6 inet static
        address 192.168.0.41
        netmask 255.255.255.0
        broadcast 192.168.0.255

Я попробовал следующее:

sudo systemctl restart networking
sudo ifconfig ens6 down (and afterwards up)
sudo ifdown ens6 (and afterwards up)

и попробовал несколько комбинаций этих команд,

Тем не менее, если я изменю свой «адрес» в / etc / network / interfaces, он будет обновлен (в ifconfig) только после перезагрузки компьютера

Как правильно выполнить это действие без перезагрузки?

РЕДАКТИРОВАТЬ - пробовал это также из-за комментариев

sudo /etc/init.d/networking restart
Матан Леви
источник
1
Вы пытались sudo /etc/init.d/networking restartперезагрузить сеть?
Терренс
попробовал сейчас, похоже, что он делает то же самое, что и «systemctl restart network», я все еще получаю тот же IP-адрес при проверке ifconfig
Matan Levy
Хорошо, спасибо за попытку. К сожалению, в данный момент моя система не находится в состоянии, в котором я мог бы провести некоторое тестирование для вас. Я могу провести дополнительное исследование и посмотреть, смогу ли я продублировать проблему и помочь вам решить ее.
Терренс
спасибо, я буду следить за сообщением, сейчас серверы настроены и разрабатываются, так что я могу справиться с перезагрузками, но мне может понадобиться изменить статический IP-адрес когда-нибудь на производстве, и я не могу позволить себе перезагрузку для этого типа действие
Матан Леви
Еще одна вещь, которую вы можете попробовать, и я просто сделал это, когда вы запускаете sudo ifdown ens6попытку, sudo ifup -aчтобы восстановить ее и посмотреть, не изменится ли ваш IP-адрес. Это только для меня.
Терранс

Ответы:

10

Если подход ifdown + ifup не работает, попробуйте:

sudo ifdown <network interface> && sudo ip addr flush <network interface> && sudo ifup <network interface>
Эд Бордин
источник
3
ip addr flush enp0s3 && systemctl restart networking.service   

Где enp0s3ваше имя сетевой карты.

user2902385
источник
2

Чтобы изменить IP-адреса без перезагрузки системы, выполните следующие строки для выполнения задачи. Убедитесь, что вы выполнили свои изменения в /etc/network/interfacesфайле, прежде чем выполнять эти шаги:

РЕДАКТИРОВАТЬ:

Вы можете попробовать отключить интеллектуальное именование сети, добавив следующее /etc/default/grub:

GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0"

Затем запустите grubобновление:

sudo update-grub

Перезагрузите систему:

sudo reboot

Сначала отключите интерфейс:

sudo ifdown <network interface>

Затем восстановите все интерфейсы:

sudo ifup -a

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

Терренс
источник
это не сработало для меня, я все еще получаю те же результаты на ifconfig (я использую Ubuntu 16.04 LTS)
Матан Леви
@MatanLevy Вы знаете, мне интересно, является ли это фактом, что я не использую прогностические имена для сети. К сожалению, я не уверен на 100%, использует ли серверная версия интеллектуальное именование или нет. Я бегу 16.04.1 LTS.
Терренс
пытался изменить GRUB_CMDLINE_LINUX_DEFAULT и все равно ничего не получилось
Матан Леви
@MatanLevy Извините, я забыл упомянуть, что вам нужно перезагрузить компьютер после изменения этой строки и обновления grub. Ты перезагрузился?
Терренс
@MatanLevy Ну, я сделал больше тестов, и мой работает нормально. Я собираюсь установить серверную версию, чтобы полностью проверить это.
Терренс