wrz 03

Kilka dni temu do naszego studenckiego mieszkania został podłączony Internet. Z racji chwilowego braku routera dostęp do Sieci ma ten, kto pierwszy dopadnie kabel :P (chociaż w sumie ja nie mam co narzekać, bo opisywany przeze mnie internet od Play’a nadal spisuje się dobrze). Niestety tylko komputer o adresie MAC zgłoszonym dostawcy może komunikować się ze światem, dlatego też musiałem „podszyć się” pod maszynę mojego współlokatora.

O klonowaniu MAC napisano już wiele, ale dla formalności przypomnę, co należy zrobić:

  • zatrzymanie karty, dla której MAC ma być zmieniony
  • zmiana adresu
  • uruchomienie karty
  • restart sieci

W konsoli możemy to zrobić wydając kolejno polecenia:

1
2
3
4
ifconfig eth0 down
ifconfig eth0 hw ether XX:XX:XX:XX:XX:XX
ifconfig eth0 up
/etc/rc.d/network restart

Wszystko będzie działać jak trzeba, tyle że po ponownym uruchomieniu systemu MAC wróci do swojej „fabrycznej” wartości. I wreszcie, po trochę przydługim wstępie docieramy do sedna dzisiejszego wpisu – daemona, który przy uruchomieniu systemu od razu zmieni MAC na bardziej nam odpowiadający :)

Poniżej zamieszczam jego kod (znaleziony na anglojęzycznym wiki ArchLinuksa)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/bash                                                                     
. /etc/rc.conf                                                                  
. /etc/rc.d/functions
 
case "$1" in
start)
      stat_busy 'Setting MAC address'
      if ifconfig eth0 hw ether XX:XX:XX:XX:XX:XX # your new MAC address
      then
              stat_done
      else
              stat_fail
      fi
      ;;
stop)
      stat_busy 'Restoring original MAC address'
      if ifconfig eth0 hw ether YY:YY:YY:YY:YY:YY # your old MAC address
      then
              stat_done
      else
              stat_fail
      fi
      ;;
restart)
      $0 stop
      $0 start
      ;;
*)
      echo "Usage: $0 {start|stop|restart}"
esac

Plik zapisujemy w /etc/rc.d/, np. pod nazwą set-hw-addr. Teraz wystarczy tylko dodać daemona do /etc/rc.conf w taki sposób, aby uruchamiał się przed interfejsem sieciowym:

DAEMONS=(... set-hw-addr network ...)

Na koniec dodam tylko, że podłączanie dwóch komputerów (przy pomocy switcha) o tym samym MAC do sieci to nie jest dobry pomysł (sprawdzone doświadczalnie) :P

Odpowiedz