Czy można umieścić prawdziwy adres IP na urządzeniu z pętlą zwrotną?

9

Czy możliwe jest umieszczenie prawdziwego adresu IP (nie w zakresie 127.xxx) na urządzeniu z pętlą zwrotną?

Peter Smit
źródło
Tak oczywiście.
Ipor Sircer
3
... istnieje niebezpieczeństwo, że zapomnisz o tym adresie IP, a następnie będziesz miał
dręczące

Odpowiedzi:

5

Nic nie zabrania tego.

# ifconfig lo: 1 10.0.0.1/8 
# ifconfig lo: 1
lo: 1 Linkowanie: Lokalna pętla zwrotna  
          adres inet: 10.0.0.1 Maska: 255.0.0.0
          UP UP LOOPBACK RUNNING MTU: 65536 Metryczne: 1
# ping -c 1 10.0.0.1    
PING 10.0.0.1 (10.0.0.1) 56 (84) bajtów danych.
64 bajty od 10.0.0.1: icmp_seq = 1 ttl = 64 czas = 0,025 ms

--- 10.0.0.1 statystyki ping ---
1 przesłanych pakietów, 1 odebranych, 0% utraty pakietów, czas 0ms
rtt min / avg / max / mdev = 0,025 / 0,025 / 0,025 / 0,000 ms

Aktualizacja:

Aby ten adres był wyświetlany po ponownym uruchomieniu w systemie Ubuntu 16.04, możesz zmodyfikować /etc/network/interfacesplik za pomocą następujących ethtoolpoleceń:

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
jlliagre
źródło
Czy to się utrzymuje po ponownym uruchomieniu?
Peter Smit
1
Nie. Lepiej podać dokładny system operacyjny / dystrybucję, którego używasz, aby uzyskać wiarygodną odpowiedź, i ewentualnie zadaj nowe pytanie lub sprawdź, czy nie ma jeszcze odpowiedzi.
jlliagre
Ubuntu 16.04 LTS
Peter Smit
Odpowiedź zaktualizowana.
jlliagre
5

Alternatywnie do używania lo:0, możesz również używać dummyinterfejsów w Linuksie, jak w:

ifconfig dummy0 10.0.0.1/32
ifconfig dummy1 10.1.1.1/24

Oprócz innych odpowiedzi:

  • Nie polecam zmiany zwykłego / oficjalnego adresu interfejsu sprzężenia zwrotnego, ponieważ od tego zależy wiele funkcji;
  • można jednak utworzyć / utworzyć kilka interfejsów loopback / fikcyjnych - albo lo: 0 do lo: 255 lub dummyX;
  • należy wziąć pod uwagę, że lo: 0 do lo: 255 są aliasami, podczas gdy dummyX są pełnymi interfejsami;
  • ponadto, jedną ze zwykłych taktyk w Linuksie do tworzenia wirtualnych adresów IP za pomocą BGP lub OSPF jest przypisywanie ich do interfejsów sprzężenia zwrotnego / fikcyjnego ORAZ tworzenie ścieżek do nich poprzez routing;
  • znowu, niektóre demony mają problemy z ogłaszaniem adresów w aliasach (na przykład quagga) - w takich przypadkach zaleca się interfejsy dummyX;
  • Chciałbym podkreślić, że bez routingu w infrastrukturze takie adresy są znane / mogą być używane tylko na danym serwerze;
  • przypisanie prywatnego / publicznego adresu do interfejsu pętli zwrotnej bez odpowiedniego routingu może być niskim kosztem obliczeniowym tymczasowej czarnej listy komunikacji z adresem / siecią IP.

Aby uzyskać więcej informacji, zobacz na przykład samouczek konfiguracji anycast BIND wykonany za pomocą Quagga / BIRD.

wskazówki routingu tutaj: OSPF: Migracja Quagga do BIRD

PS Linux domyślnie tworzy tylko dummy0 i dummy1 i należy go poinstruować, aby utworzyć większą liczbę fałszywych interfejsów.

Rui F. Ribeiro
źródło
1
Absolutnie zamierzam użyć tego z routingiem (statycznym). Czy jest jakaś rzeczywista różnica między interfejsami manekina i sprzężenia zwrotnego?
Peter Smit
@PeterSmit przypisując vips do pętli zwrotnej ma do czynienia z aliasami interfejsu, podczas gdy atrapą są same interfejsy. wystąpiły problemy z użyciem aliasów interfejsu z quagga ... i nie polecam zmiany lo. Zdarza się również często, że możesz / musisz powiązać reguły fw z rzeczywistym interfejsem, a nie aliasem.
Rui F Ribeiro
3

W obecnym jądrze Linuksa z ipnarzędziem jest to dość proste:

ip addr add 10.0.1.8 dev lo

Może to być przydatne, gdy masz usługę wiążącą port w interfejsie i chcesz uruchomić inny program na tym samym porcie i sieci. Używam go, aby włączyć oba bindi dnsmasqwspółistnieć na tym samym serwerze.

Jeśli używasz /etc/network/interfacesdo konfigurowania interfejsów, zaktualizuj losekcję, aby zawierała:

up ip addr add 10.0.1.8 dev lo
BillThor
źródło
Dzięki. Czy to się powtórzy?
Peter Smit
1
@PeterSmit Mało prawdopodobne.
Kusalananda
1

Tak, ale to nie znaczy, że to dobry pomysł. Jeśli użyjesz adresu IP, który będzie kiedykolwiek uzyskiwany przez twój system, wszelkie dane, które tam próbuje wysłać, zostaną przekierowane do systemu lokalnego, co może powodować różnego rodzaju dziwne problemy z siecią. Oznacza to w szczególności, że nie można bezpiecznie używać niczego poza następującymi zakresami:

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

Z możliwym wyjątkiem jednego z poniższych, w zależności od konfiguracji innych interfejsów sieciowych:

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

Jest to przypadek, w którym zastosowanie ma RFC 1925 , sekcja 2, pozycja 3.

Austin Hemmelgarn
źródło
W rzeczywistości jest więcej zakresów. W moim przypadku byłby w zakresie 100.64.0.0/10 (NAT klasy Carrier)
Peter Smit
1
Może być ich więcej, ale większość z nich nie jest szeroko stosowana w systemach klienckich (myślę, że zakres CGN prawdopodobnie do tego pasuje), lub mają źle zdefiniowane zastosowania, których wiele osób może nie zrozumieć (np. 198.18.0.0/15, używane do Benchmarking) i chciałem uniknąć mówienia czegoś, co może nie być wystarczająco bezpieczne, w rzeczywistości jest bezpieczne.
Austin Hemmelgarn