Як налаштувати робочий стіл для статичної IP-адреси?


24

За замовчуванням Ubuntu використовує DHCP та Gnome NetworkManger для налаштування інтерфейсів. Це в багатьох випадках не є оптимальним.

Як налаштувати настільний апарат для статичної IP-адреси, яка стосується всіх користувачів?

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


2
В якості бічної примітки ви можете використовувати резервацію DHCP у своєму маршрутизаторі, який резервує IP для вашого комп'ютера, ідентифікуючи його за MAC-адресою NIC, і це буде буквально вести себе так, ніби встановлено статичний IP.
LFC_fan

1
дякую гарну пораду тому, хто просто шукає послідовну IP-адресу
cmcginty

Відповіді:


20

Клацніть правою кнопкою миші 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 / interface:

Встановіть один або декілька бажаних серверів імен у /etc/resolv.conf:

сервер імен 192.168.1.1


після 'перезавантаження мережі' з'являється лише ло-інтерфейс
cmcginty

2
Ім'я інтерфейсу ( eth0на прикладі sBlatt) може бути різним на вашому ПК: eth0це звичайне ім'я для першого дротового інтерфейсу Ethernet; не існує стандарту іменування бездротових інтерфейсів. Команда ip link showвідобразить список мережевих інтерфейсів разом із їх відповідними параметрами.
Ріккардо Муррі

Крім того, після клацання правою кнопкою миші на мережевому менеджері та вибору "Редагувати з'єднання" виберіть, буде він дротовим чи бездротовим, а потім натисніть "Додати". Додавши статичний IP за бажанням, закрийте всі діалогові вікна та натисніть лівою кнопкою миші на піктограму мережевого менеджера. Тепер у вас буде опція "Auto Eth0", яка є DHCP, і з'єднання, яке ви додали вручну. Це можна зробити кілька разів,
склавши

@Riccardo, так, мій інтерфейс - eth0. Як я вже говорив, тільки внесення змін в інтерфейси не є для мене робочим рішенням
cmcginty

@Scain, чи зміни в менеджері мережі стосуються всіх користувачів? Моя проблема полягала в тому, що перемикання користувачів приводить інтерфейс вниз і створює резервну копію. Це насправді не є статичним.
cmcginty

5

Оновлення /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-network-manager намагався викрасти eth0з'єднання:

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

Призначте статичну IP-адресу шляхом перезавантаження мережевої підсистеми:

sudo invoke-rc.d networking restart

5
Не видаляйте мережевий менеджер! Ви ризикуєте закінчитись відсутністю підключення до Інтернету, якщо ви помилитесь у налаштуванні статичного IP-адреси (і ви не можете їх виправити).
Ріккардо Муррі

1
Ви можете сказати NetworkManager не автоматично підключати інтерфейс (клацніть правою кнопкою миші -> Редагувати з'єднання ... -> вибрати один -> Редагувати ... -> натиснути на прапорець Підключити автоматично ); таким чином, ви все ще можете встановити мережевий менеджер і активувати інтерфейси вручну через ifup/ifdown
Ріккардо Муррі

2
Крім того, мій коментар був там, щоб попередити користувачів про ту ж проблему, що видалити мережевий менеджер - це ризикований шлях. Ви, очевидно, можете керувати мережевим зв’язком та вирішувати проблеми; інші читачі цього питання можуть не ...
Ріккардо Муррі

Не повинно /etc/networking/interfacesбути /etc/network/interfaces?
CJBS

1

Якщо у вас увійшов трохи маршрутизатор (щось подібне до 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, записані в нижній частині вікна.


Я трохи оновив своє запитання, щоб пояснити, чому це рішення не допоможе мені. Мені потрібен інтерфейс, щоб постійно бути в режимі спокою.
cmcginty

Він завжди з’явиться @ ця адреса під час завантаження (у цьому прикладі 192.168.0.200) та залишатиметься постійно. Ваш маршрутизатор більше не встановлює його через DHCP. Це важко закодовано в комп'ютер.

0

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 (основний інтерфейс)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.