Hinzufügen weiterer IPs zu derselben Netzwerkschnittstelle - Alias ​​oder nicht?

785
Emanuele

Ich verwende raspbian(Kernel 4.1.19+): Ich möchte auf derselben Netzwerkkarte zwei IPs einrichten (nämlich 192.168.1.9und 10.0.0.1auf wlan0).

Meine /etc/network/interfaceshat Abschnitte:

auto lo  iface lo inet loopback iface eth0 inet dhcp  allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp  auto wlan0:0 iface wlan0:0 inet static address 10.0.0.1 netmask 255.255.255.255 gateway 192.168.1.1 

und ifconfigsieht aus wie:

wlan0 Link encap:Ethernet HWaddr ec:1a:59:0f:39:81  inet addr:192.168.1.9 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2236 errors:0 dropped:6 overruns:0 frame:0 TX packets:1776 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000  RX bytes:411452 (401.8 KiB) TX bytes:417709 (407.9 KiB)  wlan0:0 Link encap:Ethernet HWaddr ec:1a:59:0f:39:81  inet addr:10.0.0.1 Bcast:10.0.0.1 Mask:255.255.255.255 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 

Soll ich weiterhin Alias ​​verwenden oder nicht?

Ich frage, weil ich habe gelesen, dass diejenigen offensichtlich sind veraltet, aber ich weiß nicht, ob meine wlan0würden diejenigen unterstützen (es ist ein Belkin Components F7D2102 802.11n N300 Micro Wireless Adapter v3000 [Realtek RTL8192CU]auf USB ).

Wenn ich den Alias ​​entfernen sollte, sollte ich dieselben Befehle eingeben, die aber :0am Ende der Schnittstelle fallen lassen?

0
1) Die Verwendung von zwei IP-Adressen für einen einzigen Adapter bereitet Ihnen viele Kopfschmerzen, sofern nicht alle beteiligten Anwendungen an eine particalar-Adresse binden können. 2) Die Verwendung von zwei unterschiedlichen Präfixen (192.168. * Und 10.0. *) In derselben Broadcast-Domäne verursacht ** noch mehr ** Kopfschmerzen und noch schlimmerere. Das klingt wirklich nach einem [XY-Problem] (https://meta.stackexchange.com/questions/66377/what-is-the-xy- problem). Was ist also das eigentliche Problem, das Sie lösen wollen? Vielleicht ist die Verwendung eines VLANs die bessere Lösung? dirkt vor 6 Jahren 0
Diese Ausgabe: https://www.reddit.com/r/pihole/comments/7usgqp/pihole_and_the_netgear_n600/?utm_source=reddit-android Emanuele vor 6 Jahren 0
Die Lösung für Ihr Problem ist sehr einfach: Deaktivieren Sie DHCP auf dem Netgear-Router, und Pi-Hole kümmert sich darum. Berühren Sie nicht die DNS-Einstellungen Ihres Routers. Leiten Sie nicht Ihren gesamten Datenverkehr durch den Pi, da dies höchstwahrscheinlich Ihre Internetgeschwindigkeit stark einschränkt. Daniel B vor 6 Jahren 0
Ich dachte darüber nach - obwohl ich den Verkehr nicht durch den PI-Hole-Host leite ... Emanuele vor 6 Jahren 0
Ich bin nicht ganz sicher, ob Sie es nicht aus Versehen tun, und sehen, wie Sie jetzt zwei verschiedene Subnetze haben, wenn ich es richtig verstanden habe. Daniel B vor 6 Jahren 0
Ich habe es mit einem schnellen, kundenspezifischen UDP-Client / Server getestet, und in der Tat kann ich von 192.168.1. * Auf 10.0.0.1 und umgekehrt mit der korrekten IP-Adresse wechseln. Es ist nur der N600, der die Weiterleitung aller DNS-Anforderungen erzwingt durch.. Emanuele vor 6 Jahren 0
Es ist * super * unwahrscheinlich * erzwingt * etwas. Es kündigt sich selbst als DNS-Server über DHCP an, sodass die Clients es verwenden. Ersetzen Sie einfach den DHCP-Server und Sie sind fertig. Daniel B vor 6 Jahren 0
Das ich verstehe Meine Erwartung wäre jedoch, wenn ich DNS-Einträge setze, diese sollten über DHCP vergeben werden und nicht die hinter dem Gateway / Router versteckten _. Einfach. Emanuele vor 6 Jahren 0
Lassen Sie uns [diese Diskussion im Chat fortsetzen] (http://chat.stackexchange.com/rooms/72639/discussion-between-daniel-b-and-emanuele). Daniel B vor 6 Jahren 0

2 Antworten auf die Frage

2
dirkt

Diese wlan0:0Aliasnamen usw. sind veraltet, da sie ein Workaround für alte Linux-Kernel waren, bei denen einer Schnittstelle nur eine einzige IP-Adresse zugewiesen werden konnte. Modernere Kernel erlauben es, jeder Schnittstelle mehrere IPv4 zuzuweisen (und dies ist eigentlich eine Voraussetzung für IPv6).

Dies ist eine Ausgabe des Kernels; der eigentliche WLAN-Treiber hat damit nichts zu tun.

Verwenden Sie also einfach den modernen Ersatz ipanstelle des alten ifconfigund fügen Sie, wie in der anderen Antwort erwähnt, der Zeilengruppe eine zweite IP hinzu, interaceanstatt sie zu verwenden wlan0:0.

Solange Ihr einziger Zweck darin besteht, Pi-Hole mit Ihrem Neatgear N600 zu verwenden, sind Sie mit einem benutzerdefinierten Routing für das Neatgear zufrieden, und keines der Programme, die Sie derzeit auf dem RaspPi ausführen, hat ein Problem. Es sollte funktionieren. Übrigens, Sie sehen die DNS-Anfragen mit einer Quell-IP von Netgear, da Netgear selbst einen DNS-Proxy ausführt (um DNS-Anfragen zu zwischenspeichern und die Suche zu beschleunigen), so wie Pi-Hole aus einem benutzerdefinierten Proxy besteht.

Wenn Sie in Schwierigkeiten geraten, können Sie auf dem RaspPi einen weiteren Netzwerk-Namespace erstellen, der jedoch Pi-Hole in diesen Namespace ist, und ihn von Ihrem Haupt-Namespace in diesen Namespace und zurück führen. Auf diese Weise können Sie das Pi-Hole und andere RaspPi-Anwendungen sauber trennen.

Ich mag die Netgear-Richtlinie, alle DNS-Anfragen durch das Gateway zu leiten, sowieso ... es funktioniert jetzt ... aber möglicherweise müssen Sie DHCP umschalten und nur ein lokales Netzwerk verwenden ... Emanuele vor 6 Jahren 0
Netgear "routet" die Anfrage nicht über das Gateway. Der Netgear betreibt, wie gesagt, einen DNS-Proxy. Ihre Maschinen fragen also den DNS-Proxy auf dem Netgear ab. Wenn die Antwort nicht zwischengespeichert wurde, führt der Netgear selbst eine DNS-Abfrage durch. Das ist ziemlich normal, viele Router machen das. Natürlich können Sie das Netgear-DHCP deaktivieren und einen eigenen DHCP-Server verwenden (z. B. auf dem RaspPi). Momentan sehe ich jedoch nicht den Vorteil, den Sie daraus ziehen, außer dass Ihre Maschinen das Pi-Hole direkt und nicht indirekt abfragen (was nicht wichtig ist). dirkt vor 6 Jahren 0
Es ist wichtig, die Anfragen zu protokollieren ... Emanuele vor 6 Jahren 0
1
user3052786

Sie können einfach sudo ifconfig wlan0:0 downden auto wlan0:0Abschnitt in den Schnittstellen loswerden und inet 10.0.0.1 255.xxx.xxx.xxxIhr ifupSkript hinzufügen .

Ich persönlich glaube nicht, dass er in Kürze vom Kernel verworfen wird. Ich würde es einfach so belassen, wie es funktioniert, und ich weiß nicht, welche Routen / Weiterleitungsregeln / etc ich möglicherweise mit dem Dev-Alias ​​hinzugefügt habe Ich weiß auch nicht, ob die Schnittstelle mehrere IP-Adressen unterstützt, usw.

Wenn Sie jedoch proaktiv sein möchten, fügen Sie der realen Benutzeroberfläche beispielsweise eine zweite IP hinzu (möglicherweise müssen Sie sie herunter- / herunterfahren), sudo ifconfig wlan0 inet 128.66.1.1 255.255.0.0und prüfen Sie, ob alles funktioniert. Wenn Sie irgendwelche Knicke haben, können Sie sie jetzt bügeln. Das erspart Ihnen die Probleme bei der Fehlerbehebung, wenn Sie ein paar Jahre später ein Update durchführen, und Alias ​​stellt sich heraus, dass er nicht mehr unterstützt wird.

Wie du willst.