Debian 8: Pro IP eine eigene MAC-Adresse zuweisen

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
King555

Debian 8: Pro IP eine eigene MAC-Adresse zuweisen

Beitrag von King555 » 22.04.2017 18:43:42

Hallo zusammen!

Ich möchte bei einem Server pro IP-Adresse (sowohl IPv4 als auch IPv6) jeweils eine eigene MAC-Adresse zuweisen. Hier zunächst mal meine /etc/network/interfaces:

Code: Alles auswählen

# Loopback
auto lo
iface lo inet loopback

# IPv4:

auto eth0
iface eth0 inet static
  address x.x.x.226
  netmask 255.255.255.0
  broadcast x.x.x.255
  gateway x.x.x.1
  hwaddress ether 00:25:90:7C:A9:DC

auto eth0:0
iface eth0:0 inet static
  address x.x.x.61
  netmask 255.255.255.0
  broadcast x.x.x.255
  gateway x.x.x.1
  hwaddress ether f2:de:04:80:61:20

auto eth0:1
iface eth0:1 inet static
  address x.x.x.15
  netmask 255.255.255.0
  broadcast x.x.xx.255
  gateway x.x.x.1
  hwaddress ether b6:f5:52:ba:99:f3
  
# [...]

# IPv6:

iface eth0 inet6 static
  address x:x:x:x:x:x:x:00c9
  netmask 64
  gateway x:x:x:x:x:x:x:0001
  hwaddress ether 00:25:90:7C:A9:DC

# [...]
Ich habe es also jeweils mit hwaddress ether ... versucht. Rufe ich nun aber ifconfig auf, so erhalte ich immer Hardware Adresse 4e:28:9a:5b:e6:12 bei jeder IP. Diese habe ich aber doch nirgendwo definiert. Ist das evtl. die tatsächliche MAC-Adresse der Netzwerkkarte?

Wie kann ich dennoch pro IP eine eigene zuweisen? Mein Provider schreibt mir dies zwingend vor (warum auch immer).

Danke für eure Antworten!
Zuletzt geändert von King555 am 07.05.2017 18:01:12, insgesamt 1-mal geändert.

DeletedUserReAsG

Re: Debian 8: Pro IP eine eigene MAC-Adresse zuweisen

Beitrag von DeletedUserReAsG » 22.04.2017 18:52:22

Dein Provider schreibt dir vor, gegen Standards zu verstoßen? Würde mir einen anderen suchen.

King555

Re: Debian 8: Pro IP eine eigene MAC-Adresse zuweisen

Beitrag von King555 » 22.04.2017 19:01:05

Werde ich. Habe aber dummerweise vor einem Monat einen 1-Jahres-Vertrag abgeschlossen...

Also gibt's keine Möglichkeit?

mat6937
Beiträge: 2951
Registriert: 09.12.2014 10:44:00

Re: Debian 8: Pro IP eine eigene MAC-Adresse zuweisen

Beitrag von mat6937 » 22.04.2017 19:47:21

King555 hat geschrieben: Mein Provider schreibt mir dies zwingend vor (warum auch immer).
Hat dein Provider dir diese MAC-Adressen auch zur Verfügung gestellt bzw. mitgeteilt?
Oder hast Du bei deinem Provider die MAC-Adressen bestimmter NICs registrieren müssen, damit diesen NICs eine bestimmte (evtl. statische) IP-Adresse zugewiesen wird oder benutzt werden kann?

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Debian 8: Pro IP eine eigene MAC-Adresse zuweisen

Beitrag von rendegast » 22.04.2017 20:09:20

King555 hat geschrieben: ...
hwaddress ether 00:25:90:7C:A9:DC
...
hwaddress ether f2:de:04:80:61:20
...
hwaddress ether b6:f5:52:ba:99:f3
...
hwaddress ether 00:25:90:7C:A9:DC
...
Versuch doch mal, ala 'man interfaces':

Code: Alles auswählen

...
  hwaddress 00:25:90:7C:A9:DC
...
  hwaddress f2:de:04:80:61:20
...
  hwaddress b6:f5:52:ba:99:f3
... 
  hwaddress 00:25:90:7C:A9:DC
...
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

mat6937
Beiträge: 2951
Registriert: 09.12.2014 10:44:00

Re: Debian 8: Pro IP eine eigene MAC-Adresse zuweisen

Beitrag von mat6937 » 22.04.2017 20:17:46

King555 hat geschrieben: Also gibt's keine Möglichkeit?
Doch, es gibt schon eine Möglichkeit. BTW: Ich habe auch einen Provider der mir eine statische IPv4-Adresse für eine bestimmte MAC-Adresse zugewiesen hat. D. h., wenn ich jetzt eine NIC mit einer anderen MAC-Adresse anschließe, dann spoofe ich mit einer *.link-Datei:

Code: Alles auswählen

#:~ $ cat /etc/systemd/network/00-eth0.link
[Match]
MACAddress=<richtige-MAC-Adresse>
[Link]
Name=eth0
MACAddress=<gespoofte-MAC-Adresse>

dufty2
Beiträge: 1711
Registriert: 22.12.2013 16:41:16

Re: Debian 8: Pro IP eine eigene MAC-Adresse zuweisen

Beitrag von dufty2 » 22.04.2017 20:26:57

rendegast hat geschrieben:Versuch doch mal, ala 'man interfaces':
"hwaddress ether" ist die alte, funktioniert aber sogar noch unter Debian 9 (stretch).

Desweiteren werden recht viele "gateway" verwendet, sollte (so einfach) gar nicht funktionieren ;)

Datenschutzhinweis: Aus den beiden IP-Angaben lässt sich bereits der ISP ermitteln ...

King555

Re: Debian 8: Pro IP eine eigene MAC-Adresse zuweisen

Beitrag von King555 » 22.04.2017 22:11:04

Hat dein Provider dir diese MAC-Adressen auch zur Verfügung gestellt bzw. mitgeteilt?
Ja. In dessen Kundencenter kann ich mir meine IPs anlegen und zu jeder IP steht dort noch eine Subnetzmaske, eine Broadcastadresse, ein Gateway und eine MAC-Adresse. Pro IPv6-Adresse habe ich neben der IP noch Subnetz, Gateway und MAC-Adresse (wobei der Gateway immer identisch ist).
Versuch doch mal, ala 'man interfaces':
"hwaddress ether" ist die alte, funktioniert aber sogar noch unter Debian 9 (stretch).
;)
Desweiteren werden recht viele "gateway" verwendet
Sollte ich auf die anderen Gateways pfeifen oder nur anders eintragen (z. B. mittels "ip route add 1.2.3.4/12 via 1.2.3.4 dev eth0")?
Aus den beiden IP-Angaben lässt sich bereits der ISP ermitteln
Das stört mich gar nicht. ;)

mat6937
Beiträge: 2951
Registriert: 09.12.2014 10:44:00

Re: Debian 8: Pro IP eine eigene MAC-Adresse zuweisen

Beitrag von mat6937 » 22.04.2017 22:32:23

King555 hat geschrieben: ... mir meine IPs anlegen und zu jeder IP steht dort noch eine Subnetzmaske, eine Broadcastadresse, ein Gateway und eine MAC-Adresse.
Das ist genau so wie in meinem oben geschilderten Fall.

Mit systemd-networkd (*.link- und *.network-Datei(en)) kannst Du das entsprechend konfigurieren.

King555

Re: Debian 8: Pro IP eine eigene MAC-Adresse zuweisen

Beitrag von King555 » 23.04.2017 17:08:38

Erst mal danke soweit. Ich möchte das ganze jetzt erst in einer VM auf meinem lokalen Rechner testen (auch das wegen der Gateways). Gleiches OS (Debian 8.7). Wenn ich dort "hwaddress ether" bzw. nur "hwaddress" eintrage, zeigt ifconfig übrigens die korrekte MAC-Adresse an!

Allerdings habe ich folgendes Problem, welches mir das Testen arg erschwert: Meine Änderungen in der interfaces-Datei werden manchmal nicht übernommen. Egal ob ich danach "service networking restart" oder "ifdown eth0 && ifup eth0" mache. Es hilft immer nur ein Reboot. Weiß jemand, woran das liegen kann?

Beispielsweise mache ich eine Änderung, die zum Ausfall der Verbindung führt (ein ping klappt dann nicht mehr). Ich mache die Änderung rückgängig, starte das Netzwerk neu und es besteht immer noch keine Verbindung.

Benutzeravatar
novalix
Beiträge: 1909
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Re: Debian 8: Pro IP eine eigene MAC-Adresse zuweisen

Beitrag von novalix » 24.04.2017 18:16:28

Um die Probleme mit den Network-Restarts zu umgehen, könntest Du mit "ip" aus iproute2 arbeiten. Das ist eh variabler und imho robuster als ifconfig. Dann könntest Du austesten, ob die Mac-Adressen persistent bleiben, wenn die Aliase als Typ macvlan angelegt werden.

Code: Alles auswählen

ip link add link eth0 name macv0 address 00:00:00:00:00:00 type macvlan
Aktivieren:

Code: Alles auswählen

ip link set macv0 up
und konfigurieren:

Code: Alles auswählen

ip address add 91.143.xx.xx broadcast 91.143.xx.xx dev macv0
Mit

Code: Alles auswählen

ip -s -s link show macv0
kannst Du sehen was daraus geworden ist.
Macvlan hat verschiedene modes. Default ist, glaube ich, passthru.
Wenn alles funktioniert und ausgetestet ist, einfach die notwendigen Befehle per Skript abarbeiten, nachdem das Interface initiiert ist.
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.

r4pt0r
Beiträge: 1237
Registriert: 30.04.2007 13:32:44
Lizenz eigener Beiträge: MIT Lizenz

Re: Debian 8: Pro IP eine eigene MAC-Adresse zuweisen

Beitrag von r4pt0r » 25.04.2017 09:55:50

King555 hat geschrieben:
Desweiteren werden recht viele "gateway" verwendet
Sollte ich auf die anderen Gateways pfeifen oder nur anders eintragen (z. B. mittels "ip route add 1.2.3.4/12 via 1.2.3.4 dev eth0")?
Du brauchst mehrere routingtabellen um verschiedene default routes zu nutzen. Mittels ip rules kann dann festgelegt werden, wann welche Routingtabelle genutzt werden soll.

King555

Re: Debian 8: Pro IP eine eigene MAC-Adresse zuweisen

Beitrag von King555 » 30.04.2017 00:13:21

Ich bin gerade dabei, meine Netzwerkkonfiguration komplett zu überarbeiten. Zum einen um das Problem mit den vielen Gateways zu lösen, zum anderen um die MAC-Adressen einzustellen. Zudem möchte ich mehrere IPv6-Adressen haben, was bisher noch nicht geklappt hat.

Nun habe ich zwei Zwischenfragen:

1.) Ich teste das gerade noch in meiner VM. Da habe ich folgendes Problem: Trage ich "hwaddress" oder "hwaddress ether" in der "/etc/network/interfaces" ein, so klappt das Netzwerk nicht mehr (weder IPv4 noch IPv6, weder Internet noch LAN). "ifconfig" zeigt die neue MAC-Adresse aber korrekt an (ebenso "ip addr show"). Entferne ich die Adresse wieder, so klappt es (aber erst nach einem Reboot!), nur ist dann natürlich die MAC-Adresse weg. Das gleiche tritt auf, wenn ich es via "/etc/systemd/network/00-default.link" oder "ip link set dev interface address XX:XX:XX:XX:XX:XX" mache! Das mit dem "macvlan" kann ich ja bei der Standard-IP-Adresse des Systems nicht machen, oder? Nur bei Zusatz-IPs.

Das Problem aus meinem früheren Post ("Meine Änderungen in der interfaces-Datei werden manchmal nicht übernommen") ist dann wohl Blödsinn, es hat ausschließlich was mit dem Setzen der MAC-Adresse zu tun.

2.) Darf es zwei Standard-Gateways geben, wenn es um IPv4 und IPv6 geht? Also sowas hier:

Code: Alles auswählen

auto eth0
iface eth0 inet static
  address 192.168.0.10
  netmask 255.255.255.0
  broadcast 192.168.0.255
  gateway 192.168.0.1
  
iface eth0 inet6 static
  address x:x:x:x:x:x:x:00c9
  netmask 64
  gateway x:x:x:x:x:x:x:0001
Oder muss ich da den IPv6-Gateway auch anders angeben? Wie, weiß ich jetzt, würde mir das aber natürlich gerne bei der Haupt-IP ersparen.
Zuletzt geändert von King555 am 07.05.2017 18:03:30, insgesamt 1-mal geändert.

ChronoBoost
Beiträge: 140
Registriert: 29.01.2013 11:03:50

Re: Debian 8: Pro IP eine eigene MAC-Adresse zuweisen

Beitrag von ChronoBoost » 30.04.2017 08:08:31

Ich würde die Antworten von r4pt0r und novalix kombinieren:

mat6937
Beiträge: 2951
Registriert: 09.12.2014 10:44:00

Re: Debian 8: Pro IP eine eigene MAC-Adresse zuweisen

Beitrag von mat6937 » 30.04.2017 08:55:20

King555 hat geschrieben:Trage ich "hwaddress" oder "hwaddress ether" in der "/etc/network/interfaces" ein, so klappt das Netzwerk nicht mehr (weder IPv4 noch IPv6, weder Internet noch LAN). "ifconfig" zeigt die neue MAC-Adresse aber korrekt an (ebenso "ip addr show").
Hast Du evtl. einen MAC-Filter (oder gleichwertig) aktiv, der nur die "alte" MAC-Adresse kennt?

Benutzeravatar
novalix
Beiträge: 1909
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Re: Debian 8: Pro IP eine eigene MAC-Adresse zuweisen

Beitrag von novalix » 30.04.2017 11:16:34

King555 hat geschrieben:Das mit dem "macvlan" kann ich ja bei der Standard-IP-Adresse des Systems nicht machen, oder? Nur bei Zusatz-IPs.
Doch, Du kannst macvlan Interfaces selbstverständlich auch für die originale IP-Adresse anlegen, auch mehrere. Im Bridging-Mode kannst Du diese dann auch auf interne LAN-IPs mappen, falls Du z.B. mit dem Gedanken spielst Daemons in Containern zu isolieren.
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.

King555

Re: Debian 8: Pro IP eine eigene MAC-Adresse zuweisen

Beitrag von King555 » 30.04.2017 17:35:31

Hast Du evtl. einen MAC-Filter (oder gleichwertig) aktiv
Nicht dass ich wüsste...

Aber es ist wahrscheinlich, dass es mit der VM (Oracle VirtualBox) zu tun hat. Ich hatte nun eine Option in den Einstellungen meiner VM gesehen, den "promiscuous mode" (siehe https://de.wikipedia.org/wiki/Promiskuitiver_Modus), welche auf "deny" stand. Ich habe die Option auf "Alles erlauben" gestellt, leider brachte das keinen Unterschied. Egal wie ich die MAC-Adresse (der Haupt-IP!) setze, ich komme danach nicht mehr ins Netzwerk.

Ich recherchiere daher nun erstmal in Richtung MAC-Adresse einer VM ändern.

Danke bis hierhin, ich komme garantiert noch mit weiteren Fragen. ;)

King555

Re: Debian 8: Pro IP eine eigene MAC-Adresse zuweisen

Beitrag von King555 » 01.05.2017 20:52:48

Kurzer Zwischenstand: Das Problem mit der nicht mehr vorhandenen Verbindung nach Ändern der MAC-Adresse in Debian innerhalb einer VirtualBox-VM lag tatsächlich an VirtualBox selbst. Es scheint auch so zu sein, als wenn dies bei allen Virtualisierungslösungen so ist. Laut vieler User im Internet gibt es dafür keine Lösung, allerdings habe ich im VirtualBox-Forum trotzdem eine gefunden (bzw. wurde darauf hingewiesen): Der "promiscuous mode" muss innerhalb von Debian für das entsprechende Interface aktiviert werden. Ich habe jetzt nicht getestet, ob man diesen Modus noch zusätzlich in den Einstellungen der VM machen muss, aber in Debian würde das so gehen:

Code: Alles auswählen

SO:
ip link set eth0 promisc on
ODER SO:
ifconfig eth0 promisc
Nun kann ich endlich mit meinen Tests anfangen! :)

EDIT: Ich frage mich allerdings gerade, ob ich den Modus auch auf meinem Produktivsystem aktivieren muss, damit das Ändern der MAC-Adresse nicht das Netzwerk lahmlegt...

mat6937
Beiträge: 2951
Registriert: 09.12.2014 10:44:00

Re: Debian 8: Pro IP eine eigene MAC-Adresse zuweisen

Beitrag von mat6937 » 01.05.2017 22:20:45

King555 hat geschrieben: ... den Modus auch auf meinem Produktivsystem aktivieren muss, ...
Ich musste den "promiscuous mode" nicht aktivieren.

King555

Re: Debian 8: Pro IP eine eigene MAC-Adresse zuweisen

Beitrag von King555 » 07.05.2017 17:58:04

Ich schon wieder... ;)

Ich habe mir nun eine Konfiguration erarbeitet, die in meiner VM in meinen Augen OK aussieht.
Ob es wirklich funktioniert, weiß ich natürlich erst, wenn ich diese Konfiguration
auf meinem Rootserver einspiele (ob die Verbindung wirklich klappt).

Zumindest scheine ich keine Syntaxfehler zu haben.

Vielleicht kann mir jemand sagen, ob diese Konfiguration grundsätzlich richtig ist.

Das hier soll diese Konfig. machen:

- Mehrere IPv4-Adressen, jede mit eigenem Gateway und eigener MAC-Adresse
- Mehrere IPv6-Adressen, jede mit eigener MAC-Adresse, Gateway überall identisch
- Bei der Haupt-IPv4- und IPv6-Adresse jedoch identische MAC-Adresse

Mittels der Befehle

Code: Alles auswählen

ifconfig
ip a
ip -4 route
ip -4 rule
ip -6 route
ip -6 rule
habe ich mir das Ergebnis in meiner VM angeschaut. Keine Auffälligkeiten. ;)

Das ist nun meine "/etc/iproute2/rt_tables":

Code: Alles auswählen

#1       route1
#2       route2
#3       route3
#4       route4
#5       route5
#6       route6
Und das ist meine "/etc/network/interfaces":

Code: Alles auswählen

# Loopback
auto lo
iface lo inet loopback

#######
# IPv4:
#######

auto eth0
iface eth0 inet static
  ##### domain1
  address x.x.x.226
  netmask 255.255.255.0
  broadcast x.x.x.255
  gateway x.x.x.1  
  hwaddress 00:25:90:7c:a9:dc
  
  ##### domain2
  up ip -4 link add link eth0 name eth0.dom2.ipv4 address f2:de:04:80:61:20 type macvlan
  up ip -4 link set eth0.dom2.ipv4 up
  up ip -4 address add x.x.x.61/24 broadcast x.x.x.255 dev eth0.dom2.ipv4
  up ip -4 route add x.x.x.0/24 dev eth0.dom2.ipv4 src x.x.x.61 table route1
  up ip -4 route add default via x.x.x.1 dev eth0.dom2.ipv4 table route1
  up ip -4 rule add from x.x.x.61/24 table route1
  up ip -4 rule add to x.x.x.61/24 table route1

  ##### domain3
  # [...]

  ##### domain4
  # [...]

  ##### domain5
  # [...]

  ##### domain6
  # [...]

  ##### domain7
  # [...]
  
  
#######
# IPv6:
#######

iface eth0 inet6 static
  ##### domain1
  address x:x:x:x:x:x:x:00c9
  netmask 64
  gateway x:x:x:x:x:x:x:0001
  
  ##### domain2
  up ip -6 link add link eth0 name eth0.dom2.ipv6 address 0a:7e:39:e8:a7:de type macvlan
  up ip -6 link set eth0.dom2.ipv6 up
  up ip -6 address add x:x:x:x:x:x:x:00e1/64 dev eth0.dom2.ipv6

  ##### domain3
  # [...]

  ##### domain4
  # [...]

  ##### domain5
  # [...]

  ##### domain6
  # [...]

  ##### domain7
  # [...]
  
Danke vorab für eure Zeit! :)

King555

Re: Debian 8: Pro IP eine eigene MAC-Adresse zuweisen

Beitrag von King555 » 14.05.2017 00:11:12

Ich habe es nun einfach mal gewagt und es klappt! :)

Antworten