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
(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)