Как настроить рабочий стол для статического IP-адреса?

По умолчанию Ubuntu использует DHCP и Gnome NetworkManger для настройки интерфейсов. Это не оптимально во многих случаях.

Как настроить настольный компьютер для статического IP-адреса, который применяется ко всем пользователям?

Дополнительные сведения : для 99,9% пользователей статическая запись DHCP, вероятно, является самым простым решением, однако я обнаружил конфликт с процессом mythtv-background и любыми изменениями в интерфейсе eth0. Если интерфейс запускается / выключается после запуска mythtv, процесс зависает (что также нарушает приостановку работы системы). Таким образом, мои вопросы действительно нуждаются в статическом IP-адресе, где интерфейс имеет известный IP-адрес и постоянно работает.

24
задан 19.05.2020, 03:06

4 ответа

1) проверить, какой интерфейс должен быть настроен, предположим, что интерфейс, который вы хотите изменить, в этом случае eth0:

$ ip addr

2) открыть и редактировать /etc/network/interface:

$ sudo gedit /etc/network/interface

3) добавить следующие строки в файл /etc/network/interface:

auto eth0
iface eth0 inet static
address 192.168.1.22
netmask 255.255.255.0
gateway 192.168.1.1

3) перезапустить интерфейс с помощью команд ifdown и ifup:

$ sudo ifdown --force eth0
$ sudo ifup --force eth0

PS: использование $ sudo systemctl restart networking или $ sudo ifup eth0 может не работать, когда используются другие сетевые инструменты, пожалуйста, проверьте также Can't ifdown eth0 (основной интерфейс)

0
ответ дан 19.05.2020, 03:06

Если к вам подключен небольшой маршрутизатор (что-то вроде http://192.168.1.1 из вашего браузера), запишите текущие адреса DNS-серверов. Зарезервируйте еще один IP-адрес от DHCP (что-то вроде 192.168.1.200-192.168.1.210) или отключите DHCP все вместе.

Из меню Ubuntu: Система -> Настройки -> Сетевые подключения -> Авто eth0 -> Изменить -> Настройки IPV4 -> Изменить на Ручной -> Добавить IP, (что-то вроде 192.168.1.200 что вы зарезервировали выше), маска сети 255.255.255.0 ,, и внутренний адрес маршрутизатора для маршрута по умолчанию (что-то вроде 192.168.1.1, что вы использовали для входа в него) -> Введите адреса DNS-серверов, которые вы записали в нижней части окна .

0
ответ дан 19.05.2020, 03:07
  • 1
    Он всегда будет появляться по этому адресу при загрузке (в этом примере 192.168.0.200) и постоянно оставаться на связи. Ваш маршрутизатор больше не устанавливает его через DHCP. Это жестко запрограммировано в компьютер. – jfs 19.05.2020, 03:07
  • 2
    Я немного обновил свой вопрос, чтобы объяснить, почему это решение не будет работать для меня. Мне нужен интерфейс, чтобы не спать постоянно. – Andy Hayden 19.05.2020, 03:08

Обновите /etc/networking/interfaces, чтобы установить статический адрес:

auto eth0
iface eth0 inet static
    address 192.168.0.10
    netmask 255.255.255.0
    gateway 192.168.0.1

Установите один или несколько желаемых серверов имен в /etc/resolv.conf:

nameserver 192.168.0.1

Вы должны запретить gnome- администратору сети не удалось перехватить соединение eth0:

sudo apt-get remove network-manager network-manager-gnome

Назначить статический IP-адрес путем перезапуска сетевой подсистемы:

sudo invoke-rc.d networking restart
0
ответ дан 19.05.2020, 03:07
  • 1
    Не удаляйте сетевой менеджер! Вы рискуете вообще не подключиться к Интернету, если вы допустили некоторые ошибки при настройке статического IP (и вы не можете их исправить). – eumiro 19.05.2020, 03:08
  • 2
    Не должно ли /etc/networking/interfaces быть /etc/network/interfaces? – Andy Hayden 19.05.2020, 03:08
  • 3
    Кроме того, мой комментарий был там, чтобы предупредить пользователей о той же проблеме, что удаление сетевого менеджера - рискованный путь. Вы, очевидно, можете управлять сетевым подключением и устранять проблемы; другие читатели этого вопроса могут не ... – jfs 19.05.2020, 03:08
  • 4
    Вы можете указать NetworkManager не запускать интерфейс автоматически (щелкните правой кнопкой мыши - > Изменить подключения ... -> выберите один - > Изменить ... - > установите флажок Автоматически подключаться ); таким образом, вы можете установить сетевой менеджер и вручную активировать интерфейсы через ifup / ifdown – Andy Hayden 19.05.2020, 03:08

Щелкните правой кнопкой мыши nm, выберите Редактировать соединения ... найдите свой интерфейс, нажмите Изменить ... , нажмите Настройки IPv4 , выберите Вручную и настройте интерфейс.

Альтернативой может быть редактирование / etc / network / interfaces . пример конфигурации:

auto eth0
iface eth0 inet static
   address 192.168.1.1
    netmask 255.255.255.0
    gateway 192.168.1.1

, затем запустите

/etc/init.d/networking restart

Имейте в виду, что это деактивирует nm для этого интерфейса, и вам придется удалить ( или раскомментируйте) записи для повторной активации nm.

Редактировать (см. Сообщение Кейси): Вы также должны установить DNS после редактирования / etc / network / interfaces:

Установить один или несколько желаемых серверов имен в /etc/resolv.conf:

nameserver 192.168.1.1

0
ответ дан 19.05.2020, 03:08
  • 1
    @Riccardo, да, мой интерфейс - eth0. Как я уже сказал, только внесение изменений в интерфейсы не является для меня рабочим решением – man and laptop 19.05.2020, 03:08
  • 2
    @ Scain, применяются ли изменения в диспетчере сети ко всем пользователям? Моя проблема заключалась в том, что переключение пользователей приведет к отключению интерфейса и его резервному копированию. Это не совсем статично. – Yu Chen 19.05.2020, 03:08
  • 3
    после «перезагрузки сети» появляется только интерфейс lo – Crystal 19.05.2020, 03:09
  • 4
    Или же, щелкнув правой кнопкой мыши на сетевом менеджере и выбрав «Изменить подключения», выберите, будет ли он проводным или беспроводным, затем нажмите «Добавить». После добавления статического IP-адреса при необходимости закройте все диалоговые окна, затем щелкните левой кнопкой мыши значок диспетчера сети. Теперь у вас есть опция «Авто Eth0» который является DHCP, и соединение, которое вы добавили вручную. Вы можете сделать это несколько раз, создав список различных статических IP-адресов для каждого местоположения или ситуации, в которой вы можете оказаться. – Crystal 19.05.2020, 03:09
  • 5
    Имя интерфейса (eth0 в примере sBlatt) может отличаться на вашем ПК: eth0 - это обычное имя для первого проводного интерфейса Ethernet; не существует стандарта для именования беспроводных интерфейсов. Команда ip link show отобразит список сетевых интерфейсов вместе с их соответствующими параметрами. – man and laptop 19.05.2020, 03:09