linux — сделать изменения в сети постоянными

Мне нужно разрешить внешнему клиенту изменять IP-адрес компьютера с Linux, на котором запущена программа (C ++). Я уже знаю, как перечислить все локальные интерфейсы и текущие назначенные им IP-адреса. Я также знаю, как программно изменить указанные IP-адреса.

Мне нужно знать, как сделать это изменение постоянным, чтобы при перезагрузке компьютера сохранялась та же конфигурация сети.
Какой лучший способ сделать это? Разбор / etc / network / interfaces вручную? Вызываете какую-нибудь команду Linux?

редактировать: Я использую Debian.

Спасибо!

1

Решение

Да, манипулируя /etc/network/interfaces это способ сделать это (просто сохранить резервную копию на случай, если что-то пойдет не так).

Кроме того, если интерфейс управляется сетевым менеджером (что редко случается на серверах, но происходит на настольном компьютере), вы можете управлять им через вызовы dbus, я думаю.

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

3

Другие решения

Чтобы сделать изменения постоянными, вы должны записать конфигурацию сети в /etc/network/interfaces и, возможно, DNS-серверы (resolv.conf).

http://wiki.debian.org/NetworkConfiguration

Если вы не хотите анализировать интерфейсы каждый раз, вы можете сохранить IP-адрес и сеть в файле конфигурации, чтобы восстановить их.
Тогда вам нужно только переписать «/ etc / network / interfaces».

После внесения изменений в конфигурацию сетевого интерфейса необходимо перезапустить сетевой стек (определенный дистрибутив).

Перезапустите интерфейсы с auto :

$ /etc/init.d/networking restart

Перезапустите другие интерфейсы:

$ ifup [iface]

1

Ты можешь позвонить ifconfig и маршрут commands в сценарии или лучше, вы можете редактировать файл, который вы упоминаете, в зависимости от вашего дистрибутива Linux.

0
По вопросам рекламы [email protected]