Autor Thema: Virtuelle Interfaces mit eigener MAC und eigener IP?  (Gelesen 285 mal)

Offline Morgennebel

  • Hero Member
  • *****
  • Beiträge: 1350
  • Proud systemd-free zone
Moin Moin,


ich habe auf meinem Linux-System mehrere virtuelle Interfaces in der /etc/network/interfaces definiert:

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.255.50  netmask 255.255.255.0  broadcast 192.168.255.255
        inet6 2003:da:c736:ae74:da9e:f3ff:fee0:37ec  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::da9e:f3ff:fee0:37ec  prefixlen 64  scopeid 0x20<link>
        ether d8:9e:f3:e0:37:ec  txqueuelen 1000  (Ethernet)
        RX packets 609  bytes 144757 (141.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 680  bytes 64706 (63.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.255.51  netmask 255.255.255.0  broadcast 192.168.255.255
        ether d8:9e:f3:e0:37:ec  txqueuelen 1000  (Ethernet)

eth0:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.255.52  netmask 255.255.255.0  broadcast 192.168.255.255
        ether d8:9e:f3:e0:37:ec  txqueuelen 1000  (Ethernet)

Ich möchte nun jedem Interface eine eigene, unabhängig MAC-Adresse verpassen, damit sie von meinem blöden Speedport Hybrid Router unterschiedlich behandelt werden können. Nach https://wiki.ubuntuusers.de/interfaces/ (Manuelle Konfiguration). Leider klappt nichts von meinen Experimenten...

"macchanger" tauscht die MAC-Adresse von allen virtuellen und der echten Netzwerkkarte. Konfigurationsoptionen in der /etc/network/interfaces-Datei

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
#iface eth0 inet dhcp
iface eth0 inet static
address 192.168.255.50
netmask 255.255.255.0
gateway 192.168.255.1
broadcast 192.168.255.255

auto eth0:0
allow-hotplug eth0:0
iface eth0:0 inet static
address 192.168.255.51
netmask 255.255.255.0
broadcast 192.168.255.255
# hwaddress d8:9e:f3:e0:37:ed

auto eth0:1
allow-hotplug eth0:1
iface eth0:1 inet static
address 192.168.255.52
netmask 255.255.255.0
broadcast 192.168.255.255
# hwaddress d8:9e:f3:e0:37:ee

wie hwaddress tauscht ebenfalls alle MAC-Adressen überall...

Irgendjemand eine schicke Idee?

Danke, -MN
Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

Offline Morgennebel

  • Hero Member
  • *****
  • Beiträge: 1350
  • Proud systemd-free zone
Antw:Virtuelle Interfaces mit eigener MAC und eigener IP?
« Antwort #1 am: 24 Mai 2019, 21:07:32 »
Geschafft:

mn@dmz:/etc/init.d$ more virtual-networking
#!/bin/sh -e
### BEGIN INIT INFO
# Provides:          virtual-networking
# Required-Start:    $network urandom
# Required-Stop:     $local_fs
# Default-Start:     S
# Default-Stop:      0 6
# Short-Description: Raise virtual network interfaces.
# Description:       Prepare /run/network directory, ifstate file and raise network interfaces, or take them down.
### END INIT INFO

PATH="/sbin:/bin"

[ -x /sbin/ifup ] || exit 0
[ -x /sbin/ifdown ] || exit 0
[ -x /sbin/ip ] || exit 0

. /lib/lsb/init-functions

case "$1" in
start)
if init_is_upstart; then
exit 1
fi
ip link add link eth0 eth0-0 address d8:9e:f3:e0:37:ed type macvlan mode bridge
ip link add link eth0 eth0-1 address d8:9e:f3:e0:37:ee type macvlan mode bridge

ifconfig eth0-0 192.168.255.51 netmask 255.255.255.0 broadcast 192.168.255.255
ifconfig eth0-1 192.168.255.52 netmask 255.255.255.0 broadcast 192.168.255.255

ifconfig eth0-0 up
ifconfig eth0-1 up
;;

stop)
if init_is_upstart; then
exit 0
fi
ifconfig eth0-0 down
ifconfig eth0-1 down

ip link delete eth0-0 type macvlan
ip link delete eth0-1 type macvlan
;;

*)
echo "Usage: /etc/init.d//virtual/networking {start|stop}"
exit 1
;;
esac

exit 0

# vim: noet ts=8

d8:9e:f3:e0:37:ed und d8:9e:f3:e0:37:ee sind die beiden neuen MACs.

Das geht dann auch:

mn@dmz:/etc/init.d$ ping -I eth0-0 192.168.255.1
PING 192.168.255.1 (192.168.255.1) from 192.168.255.51 eth0-0: 56(84) bytes of data.
64 bytes from 192.168.255.1: icmp_seq=1 ttl=64 time=0.848 ms
64 bytes from 192.168.255.1: icmp_seq=2 ttl=64 time=0.378 ms
64 bytes from 192.168.255.1: icmp_seq=3 ttl=64 time=0.787 ms
64 bytes from 192.168.255.1: icmp_seq=4 ttl=64 time=0.513 ms
^C
--- 192.168.255.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3050ms
rtt min/avg/max/mdev = 0.378/0.631/0.848/0.194 ms
mn@dmz:/etc/init.d$ ping -I eth0-1 192.168.255.1
PING 192.168.255.1 (192.168.255.1) from 192.168.255.52 eth0-1: 56(84) bytes of data.
64 bytes from 192.168.255.1: icmp_seq=1 ttl=64 time=0.865 ms
64 bytes from 192.168.255.1: icmp_seq=2 ttl=64 time=0.575 ms
64 bytes from 192.168.255.1: icmp_seq=3 ttl=64 time=0.629 ms
64 bytes from 192.168.255.1: icmp_seq=4 ttl=64 time=0.563 ms
^C
--- 192.168.255.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3038ms
rtt min/avg/max/mdev = 0.563/0.658/0.865/0.122 ms

Häßlich ist noch die Konfiguration direkt im Script - aber das lässt sich ja noch schicker gestalten...

Ciao, -MN
Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

 

decade-submarginal