Чи можна поставити реальний IP на пристрій петлі?


9

Чи можна поставити реальний IP (не в 127.xxx) діапазон на циклічний пристрій?


Так, звісно.
Іпор Сірсер

3
... небезпека, звичайно, ви забудете цю IP-адресу там, і тоді у вас виникають проблеми з мережевими головами, оскільки пакети не йдуть на очікувану загальнодоступну IP-адресу ...
тридцять

Відповіді:


5

Ніщо не забороняє це робити.

# ifconfig lo: 1 10.0.0.1/8 
# ifconfig lo: 1
lo: 1 Link encap: Local Loopback  
          inet addr: 10.0.0.1 Маска: 255.0.0.0
          НАГОРОДНЕ РОЗВ'ЯЗАННЯ МТУ: 65536 Метріч: 1
# ping -c 1 10.0.0.1    
PING 10.0.0.1 (10.0.0.1) 56 (84) байт даних.
64 байти від 10.0.0.1: icmp_seq = 1 ttl = 64 час = 0,025 мс

--- 10.0.0.1 ping статистика ---
1 переданий пакет, 1 отриманий, 0% втрат пакету, час 0мс
rtt min / avg / max / mdev = 0,025 / 0,025 / 0,025 / 0,000 мс

Оновлення:

Щоб ця адреса зберігалася після перезавантаження в Ubuntu 16.04, ви можете змінити /etc/network/interfacesфайл за допомогою цих ethtoolкоманд:

auto lo lo:1

iface lo inet loopback

iface lo:1 inet static
  address 10.0.0.1
  network 10.0.0.0
  netmask 255.0.0.0

Чи зберігається це після перезавантаження?
Пітер Сміт

1
Ні. Краще вказати точну ОС / дистрибутив, який ви використовуєте, щоб отримати надійну відповідь, і, можливо, задайте нове запитання або перевірте, чи на нього вже не відповіли.
jlliagre

Ubuntu 16.04 LTS
Peter Smit

Відповідь оновлено.
jlliagre

5

Як альтернативу використанню lo:0, ви також можете використовувати dummyінтерфейси в Linux, як у:

ifconfig dummy0 10.0.0.1/32
ifconfig dummy1 10.1.1.1/24

Окрім інших відповідей:

  • Я не рекомендую змінювати звичайну / офіційну адресу інтерфейсного циклу, оскільки від цього залежить велика кількість функціональних можливостей;
  • однак ви можете мати / створити кілька інтерфейсних / фіктивних інтерфейсів - або lo: 0 до lo: 255, або dummyX інтерфейсів;
  • слід враховувати, що lo: 0 to lo: 255 - псевдоніми, тоді як dummyX - це повні інтерфейси;
  • крім того, одна з звичайних тактик в Linux для створення віртуальних IP-адрес через BGP або OSPF - це присвоєння їм петельних / фіктивних інтерфейсів і проходження до них шляхів шляхом маршрутизації;
  • знову ж, деякі демони мають проблеми з оголошенням адрес у псевдонімах (наприклад, quagga) - тому в цих випадках рекомендується використовувати інтерфейси dummyX;
  • Я наголошу, що без маршрутизації в інфраструктурі такі адреси відомі / можуть використовуватись лише на розглянутому сервері;
  • присвоєння приватної / загальнодоступної адреси інтерфейсу без зворотного зв'язку, без належної маршрутизації може бути низькою мірою витрат на обчислення для тимчасового зв'язку з ІР-адресою / мережею.

Детальніше див., Наприклад, підручник із налаштування BIND anycast, виконаний за допомогою Quagga / BIRD.

Сюди для маршрутизації: OSPF: Міграція Quagga на BIRD

PS Linux за замовчуванням створює лише dummy0 та dummy1 і має бути доручений створити більшу кількість фіктивних інтерфейсів.


1
Я абсолютно збираюся використовувати це при (статичній) маршрутизації. Чи є реальна різниця між фіктивними та зворотними інтерфейсами?
Пітер Сміт

@PeterSmit Призначаючи віпси для циклу зворотного зв’язку, маючи справу з псевдонімами інтерфейсу, а манекен - це повні інтерфейси самостійно. виникли проблеми з використанням псевдонімів інтерфейсу з quagga ... і я не рекомендую змінювати lo. Також трапляється часто ви можете / доведеться асоціювати правила fw з фактичним інтерфейсом, а не псевдонімом.
Rui F Ribeiro

3

На поточному ядрі Linux з ipутилітою це досить просто:

ip addr add 10.0.1.8 dev lo

Це може бути корисно, коли у вас є служба, яка прив'язує порт до інтерфейсу та хочете запустити іншу програму на одному порту та мережі. Я використовую його для включення обох bindі dnsmasqспівіснування на одному сервері.

Якщо ви використовуєте /etc/network/interfacesдля налаштування своїх інтерфейсів, то оновіть loстрофу, щоб вона включала:

up ip addr add 10.0.1.8 dev lo

Дякую. Чи збережеться це перезавантаження?
Пітер Сміт

1
@PeterSmit Навряд чи.
Кусалаланда

1

Так, але це не означає, що це гарна ідея. Якщо ви використовуєте IP-адресу, до якої коли-небудь буде доступна ваша система, будь-які дані, які вона намагається надіслати, будуть замість цього перенаправлені до локальної системи, що може спричинити всілякі незвичайні проблеми з мережею. Це означає, зокрема, що ви не можете безпечно використовувати що-небудь за межами наступних діапазонів:

127.0.0.0/8
192.0.2.0/24
198.51.100.0/24
203.0.113.0/24
240.0.0.0/4

За винятком будь-якого з наведених нижче, залежно від налаштування інших мережевих інтерфейсів:

10.0.0.0/8
192.168.0.0/16
172.16.0.0/12
169.254.0.0/16

Це випадок, коли застосовується RFC 1925 , розділ 2, пункт 3.


Насправді діапазони більше. У моєму випадку це було б у діапазоні 100.64.0.0/10 (клас перевізника NAT)
Peter Smit

1
Може бути і більше, але більшість із них широко не використовується в клієнтських системах (я думаю, що діапазон CGN, мабуть, підходить цьому), або вони мають неправильно визначені можливості, які багато людей можуть не розуміти (наприклад, 198.18.0.0/15, що використовується для бенчмаркінг), і я хотів уникнути того, щоб сказати щось, що може бути недостатньо безпечним, насправді було безпечним.
Остін Хеммельгарн
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.