Jak zmienić adres MAC w systemie Linux

Adres MAC, będący unikalnym identyfikatorem każdego urządzenia podłączonego do sieci, zazwyczaj jest wartością przypisaną na stałe. Jednakże, istnieją sytuacje, w których zmiana tego adresu może okazać się pożądana. Przykładowo, modyfikacja adresu MAC może posłużyć do ochrony tożsamości użytkownika w sieci lub do rozwiązania problemów z kompatybilnością sieciową. W niniejszym poradniku przedstawimy, jak dokonać zmiany adresu MAC na urządzeniu z systemem Linux. Bez względu na Twój poziom zaawansowania, ten przewodnik umożliwi Ci szybką i łatwą modyfikację.

Zmiana adresu MAC w środowisku Linux (rok 2023)

Co dokładnie kryje się pod pojęciem adresu MAC?

Jak wspomniano wcześniej, adres MAC, inaczej adres kontroli dostępu do medium, stanowi unikatowy identyfikator, który umożliwia rozróżnienie urządzeń podłączonych do sieci. Ten specjalny adres jest kluczowy w procesie identyfikacji oraz komunikacji pomiędzy różnymi urządzeniami w obrębie sieci, niezależnie od tego, czy jest to komputer, smartfon, czy też drukarka.

Adres MAC składa się z 48 bitów, które przedstawione są w formie szesnastkowej jako sześć grup po dwie cyfry lub znaki, oddzielonych dwukropkami lub myślnikami. Jest on również określany mianem adresu fizycznego, bądź adresu „wypalonego”. Wynika to z faktu, że adres MAC jest nadawany przez producenta i zapisywany bezpośrednio w sprzęcie. Z tego powodu jego zmiana, w odróżnieniu od adresu IP, nie jest rzeczą powszechną, a przynajmniej nie odbywa się w sposób automatyczny.

Adres MAC kontra adres IP – na czym polega różnica?

Każde urządzenie sieciowe, aby mogło być prawidłowo rozpoznane przez inne elementy sieci, potrzebuje co najmniej dwóch rodzajów adresów. Pierwszym z nich jest adres MAC, a drugim adres IP (adres protokołu internetowego). Adres MAC służy do jednoznacznej identyfikacji sprzętu w sieci, natomiast adres IP pomaga zlokalizować konkretne urządzenie w sieci. W praktyce oznacza to, że adres IP pozwala sieci określić, gdzie przesłać dane. Warto również zaznaczyć, że adres IP jest przydzielany przez dostawcę usług internetowych, podczas gdy adres MAC, jak już wspominaliśmy, jest przypisywany przez producenta urządzenia.

Pomimo tego, że adres MAC jest przypisany na stałe, możliwe jest jego zmodyfikowanie za pomocą odpowiednich technik programowych, które zostaną omówione w dalszej części tego artykułu. Trzeba jednak pamiętać, że w przeciwieństwie do adresu IP, którego zmiana może mieć charakter trwały, adres MAC po ponownym uruchomieniu urządzenia powraca do swojej pierwotnej wartości nadanej przez producenta.

Jakie są powody zmiany adresu MAC?

Istnieje wiele powodów, dla których użytkownik systemu Linux może chcieć zmienić adres MAC swojego urządzenia. Zmiana ta powoduje, że sieć zaczyna traktować nasze urządzenie jako nowe, co może skutkować zwiększeniem anonimowości w publicznej sieci i ochroną przed potencjalnymi cyberzagrożeniami. Co więcej, zmiana adresu MAC umożliwia dostęp do publicznych sieci Wi-Fi, które mogą nakładać limity na korzystanie z sieci.

Należy jednak pamiętać, że manipulacja adresem MAC może być wykorzystana do nielegalnych działań, takich jak podszywanie się pod administratora sieci. Poprzez zmianę adresu MAC na adres administratora, można uzyskać dostęp do sieci chronionych. Stanowczo potępiamy takie działania i zdecydowanie odradzamy korzystanie z tych metod.

Instalacja niezbędnych pakietów do zmiany adresu MAC w Linuksie

W systemie Linux istnieje szereg narzędzi terminalowych, takich jak macchanger oraz net-tools, które umożliwiają zmianę adresu MAC. Poniżej przedstawiamy polecenia, które pozwalają zainstalować oba te pakiety.

Aby zainstalować pakiety macchanger i net-tools w systemie opartym na Debianie, należy użyć następującego polecenia:

sudo apt install macchanger net-tools

W przypadku systemów bazujących na CentOS, użyj poniższego polecenia, aby zainstalować niezbędne pakiety:

sudo yum install macchanger net-tools

Dla systemów opartych na Arch, instalacja obu pakietów wymaga zastosowania tego polecenia:

sudo pacman -S macchanger net-tools

Podczas instalacji pakietu macchanger system zapyta, czy adres MAC ma być zmieniany przy każdym uruchomieniu systemu. Za pomocą klawiszy strzałek wybierz odpowiednią opcję (Tak lub Nie), a następnie zatwierdź wybór, naciskając Enter.

Jak tymczasowo zmienić adres MAC?

Krok 1: Sprawdzenie urządzeń sieciowych

Przed przystąpieniem do zmiany adresu MAC, należy zidentyfikować nazwę urządzenia oraz jego aktualny adres. Aby wyświetlić listę wszystkich dostępnych urządzeń sieciowych w systemie, wykonaj poniższe polecenie:

ifconfig

W przypadku starszych systemów lub w sytuacji wystąpienia błędów, można użyć tego polecenia:

ip addr show

Po wprowadzeniu komendy w pierwszej części rezultatu wyświetlone zostaną informacje na temat adresu Loopback (oznaczony jako lo), który jest wykorzystywany do diagnostyki sieci.

Druga sekcja zawiera detale interfejsu sieciowego, który w przedstawionym przykładzie oznaczony jest jako eth0. Dodatkowo, pod etykietą ether znajdziemy adres sprzętowy, czyli adres MAC, który w tym przypadku wynosi 08:00:27:05:10:68. Pod etykietą inet kryje się adres IP w wersji IPv4, a pod etykietą inet6 adres w wersji IPv6.

Krok 2: Wyłączenie urządzenia sieciowego

Po zidentyfikowaniu nazwy interfejsu sieciowego, konieczne jest wyłączenie połączenia z siecią, aby móc zmienić jego adres MAC w systemie Linux. Aby dezaktywować urządzenie, użyj następującego polecenia:

sudo ifconfig down

Po wykonaniu tego polecenia połączenie z Internetem zostanie przerwane. Jeśli powyższa komenda nie działa w Twoim systemie, możesz spróbować ponownie zainstalować pakiet net-tools lub użyć poniższego polecenia:

sudo ip link set dev down

Krok 3: Zmiana adresu MAC

Po wyłączeniu połączenia sieciowego, możesz przejść do zmiany adresu MAC. Aby to zrobić, skorzystaj z tego polecenia:

sudo ifconfig hw ether

Następnie możesz ponownie aktywować urządzenie za pomocą tego polecenia. Pamiętaj, aby wykonywać polecenia w odpowiedniej kolejności, aby osiągnąć zamierzony efekt.

sudo ifconfig up

W przypadku jakichkolwiek problemów, skorzystaj z poniższego polecenia, aby zmienić adres MAC i włączyć połączenie sieciowe:

ip link set dev address

ip link set dev up

Krok 4: Weryfikacja wprowadzonych zmian

Aby upewnić się, że adres MAC w systemie Linux został pomyślnie zmodyfikowany, wykonaj poniższe polecenie:

ifconfig

W przypadku błędów lub jeśli posiadasz starszy system, użyj następującego polecenia:

ip addr show

Jak trwale zmienić adres MAC?

Krok 1: Sprawdzenie urządzenia sieciowego

Podobnie jak w poprzednim przypadku, na początku musisz wyświetlić listę wszystkich urządzeń sieciowych w systemie i zapisać nazwę interfejsu, używając tego polecenia:

ifconfig

Aby zobaczyć bieżący adres MAC interfejsu sieciowego, użyj poniższego polecenia:

sudo macchanger –show

Krok 2: Przypisanie nowego adresu MAC

Używając narzędzia macchanger do trwałej zmiany adresu MAC, nie ma konieczności wyłączania i ponownego włączania połączenia sieciowego urządzenia. Możesz bezpośrednio przypisać losowy adres MAC do swojego komputera, korzystając z tego polecenia:

sudo macchanger -r

Aby przypisać konkretny adres MAC w systemie Linux, użyj poniższego polecenia. Należy podać adres MAC (6 grup po dwie cyfry lub znaki, rozdzielone dwukropkami), który chcesz przypisać do swojego systemu. Oto jak wygląda składnia:

sudo macchanger –mac=

Przykładowo, poniższym poleceniem zmieniliśmy adres MAC na 00:00:00:31:33:73 dla interfejsu eth0.

sudo macchanger –mac=00:00:00:31:33:73 eth0

Krok 3: Wprowadzenie zmian na stałe

1. Aby zapewnić, że nowy adres MAC będzie przypisywany przy każdym uruchomieniu systemu, możesz utworzyć plik /etc/systemd/system/[email protected] systemd za pomocą dowolnego edytora tekstu. W tym celu wpisz poniższe polecenie w terminalu:

sudo vim /etc/systemd/system/[email protected]

2. Następnie wklej poniższy tekst do pliku [email protected]:

[Unit]
Description=changes mac for %I
Wants=network.target
Before=network.target
BindsTo=sys-subsystem-net-devices-%i.device
After=sys-subsystem-net-devices-%i.device

[Service]
Type=oneshot
ExecStart=/usr/bin/macchanger -r %I
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

W powyższym kodzie nowy adres MAC jest przypisywany do interfejsu sieciowego za każdym razem, gdy uruchamiasz komputer z systemem Linux. Możesz ustawić konkretny adres MAC, używając opcji -m zamiast -r w 10. linii kodu, jak pokazano poniżej:

ExecStart=/usr/bin/macchanger -m XX:XX:XX:XX:XX:XX %I

3. Ostatnim krokiem jest aktywacja utworzonej usługi za pomocą następującego polecenia:

sudo systemctl enable [email protected].service

To wszystko. Twój system Linux automatycznie zmieni adres MAC na nowy przy każdym uruchomieniu.

Najczęściej Zadawane Pytania

Czy adresy MAC są nadawane na stałe?

Tak, adresy MAC są zazwyczaj stałe i przydzielane przez producenta urządzenia. Niemniej jednak, istnieje możliwość ich zmiany za pomocą poleceń w terminalu Linuksa, jak to zostało opisane powyżej.

Czy adresy MAC są ponownie wykorzystywane?

Z uwagi na ograniczoną liczbę dostępnych adresów MAC, producenci muszą czasami ponownie wykorzystywać adresy.

Jaka jest długość adresu MAC?

Adres MAC składa się z 48 bitów, czyli 6 bajtów. Każdy bajt jest przedstawiony jako 2 cyfry szesnastkowe. Adres MAC jest zapisywany w formatach z grupami po dwa znaki oddzielonymi dwukropkiem lub myślnikiem.

Zmiana adresu MAC w systemie Linux

Zmiana adresu MAC w systemie Linux jest stosunkowo prosta i może przyczynić się do poprawy Twojej prywatności i bezpieczeństwa w sieci. Pomimo tego, że do trwałej modyfikacji adresu MAC konieczne jest użycie terminala, warto pamiętać, że konkretne kroki mogą się różnić w zależności od wybranej dystrybucji Linuksa. Zmieniając adres MAC na swoim komputerze, upewnij się, że nie powoduje to konfliktu z żadnym innym adresem MAC, ponieważ w takim przypadku oba adresy zostaną odłączone od sieci. Mamy nadzieję, że ten artykuł pomógł Ci trwale zmienić adres MAC na Twoim komputerze z systemem Linux. W razie jakichkolwiek pytań, zachęcamy do pozostawienia komentarza poniżej.