Strona 1 z 1

skrypt do zmiany adresu mac - prośba o pomoc

: 31 paź 2010, 11:36
autor: toffi84
Witam serdecznie,
mam dość nietypowy problem i potrzebuję pomocy w stworzeniu skryptu, aby go rozwiązać ;-)

Problem jest następujący:
w mojej firmie zaszła konieczność wymiany plików z innymi placówkami, wysyłanie ogromnej liczby maili z załącznikami mija się z celem, wiec postawiłem FTP-a. Problem polega na tym, że serwer stoi na zwykłym PC, bez RAIDa, UPSa itd... a kierownictwo zdaje się mieć gdzieś względy bezpieczeństwa danych, i nie zapowiada się na to, by w najbliższym czasie pojawiła się jakaś lepsza maszyna, a ja zostałem z tym problemem sam :x. Na szczęścia mam do dyspozycji drugą identyczną maszynę (Dell Optiplex 755 :-P). Komputery mają przydzielane IP na podstawie MAC adresu karty sieciowej. Wpadłem więc na pewien pomysł. Chciałbym, aby komputer B (zapasowy, umieszczony w innym miejscu) co jakiś czas sprawdzał dostępność komputera A (podstawowy) i w razie braku odpowiedzi zmieniał MAC adres swojej karty sieciowej i restartował interfejs sieciowy eth0. Otrzymałby wtedy adres IP komputera A, co pozwoliłoby na zapewnienie ciągłości działania FTP-a (katalogi oczywiście są automatycznie synchronizowane co jakiś czas - rsync). Niestety, moja wiedza w tym zakresie skończyła się na

Kod: Zaznacz cały

#!/bin/sh
sudo ifconfig eth0 down
sudo ifconfig eth0 hw ether 00112233445566
sudo ifconfig eth0 up
:rotfl:
Liczę na Waszą pomoc ;-) Wszelkie pomysły mile widziane. Z góry dziękuję za okazane łaski :-D

toffi84

Odp: skrypt do zmiany adresu mac - prośba o pomoc

: 31 paź 2010, 16:04
autor: karmelek
Badanie dostępności zrób tak jak tutaj:

viewtopic.php?t=98647

Wyjście ze sprawdzenia zrób na zmienną sobie i potem
if zmienna=1
then
wszsytko do resetowania (po DHCP tam przydziela czy jakoś inaczej, dopasoawnie tego jest proste)
else
zakonczyc skrypt
i coś takiego do crona bym zapodał na awaryjnym.

Odp: skrypt do zmiany adresu mac - prośba o pomoc

: 31 paź 2010, 21:03
autor: jacekalex
A nie lepiej to: http://en.wikipedia.org/wiki/Virtual_Ro ... y_Protocol

Opis znajdziesz tutaj: http://bromirski.net/docs/translations/lartc-pl.html
Stworzona całkowicie dla zapewnienia redundacji. Dwie maszyny ze swoimi własnymi adresami IP i MAC tworzą razem trzeci adres IP i MAC, który jest wirtualny. Oryginalnie protokół tworzono dla ruterów, które potrzebowały stałych adresów MAC, ale działa również dla innych serwerów.
Piękno tego podejścia przejawia się w niewiarygodnie prostej konfiguracji. Bez kompilacji kernela czy łatania - wszystko w przestrzeni użytkownika.
Uruchom po prostu to polecenie na wszystkich maszynach uczestniczących w implementacji:
# vrrpd -i eth0 -v 50 10.0.0.22


I już działa! 10.0.0.22 jest teraz obsługiwany przez jeden z twoich serwerów, prawdopodobnie pierwszy na którym uruchomiono demona vrrp. Odłącz ten komputer od sieci i zobaczysz, że bardzo szybko drugi komputer przyjmie adres 10.0.0.22 jak również adres MAC.
Próbowałem tego u siebie i miałem działającą konfigurację w ciągu minuty. Z jakiegoś dziwnego powodu implementacja postanowiła odrzucić moją domyślną bramę, ale flaga `-n' temu zapobiegła.
Poniżej `na żywo' symulacja awarii jednej z maszyn:

64 bytes from 10.0.0.22: icmp_seq=3 ttl=255 time=0.2 ms
64 bytes from 10.0.0.22: icmp_seq=4 ttl=255 time=0.2 ms
64 bytes from 10.0.0.22: icmp_seq=5 ttl=255 time=16.8 ms
64 bytes from 10.0.0.22: icmp_seq=6 ttl=255 time=1.8 ms
64 bytes from 10.0.0.22: icmp_seq=7 ttl=255 time=1.7 ms


Nie straciliśmy nawet jednego pinga! Zaraz po pakiecie numer 4 odłączyłem swoje P200 od sieci i 486 przejęło obsługę, co można poznać po większym opóźnieniu.
Vrrpd ma już kilka lat, ostatnio wypiera go program ucarp.
http://www.admin-hints.com/2009/04/ucar ... boxes.html
http://www.gentoo-wiki.info/HOWTO_Setup ... ring_UCARP

To by było na tyle
:craz:

Odp: skrypt do zmiany adresu mac - prośba o pomoc

: 01 lis 2010, 09:04
autor: toffi84
Dziękuję Wam za pomoc,
poczytałem trochę o Vrrpd i ucarp, niestety nie zdadzą one egzaminu do końca... Wszystko będzie chodzić ładnie w sieci lokalnej, ale serwer musi być widoczny "na zewnątrz" czyli musi dostać IP z publicznej puli adresów a nie z lokalnej i nie wiem czy jest to do wykonania przy użyciu pakietu ucarp albo vrrpd. Pozostaje mi chyba zasiąść do googli, poczytać trochę i spróbować napisać ten skrypt :)

pozdrawiam
toffi84

Odp: skrypt do zmiany adresu mac - prośba o pomoc

: 01 lis 2010, 12:14
autor: jacekalex
Czyli adres IP dla interfejsu ucarp musi być adresesem publicznym, widocznym z internetu.
Łącze internetowe jest z księżyca przez antenę satelitarną, czy zarządza tym jakiś admin.
Oryginalnie protokół tworzono dla ruterów, które potrzebowały stałych adresów MAC, ale działa również dla innych serwerów.
I czy nie próbujesz przypadkiem pokonać szczytu lamerstwa, wystawiając publicznie dostępną usługę (ftp) na dhcp?

Bo jeśli masz powiązane IP z mac, to oznacza statyczne ustawienia, wystarczy skonfigurować ucarpa, żeby maszyny współdzieliły adres publiczny, i po sprawie.

A jak chcesz rzeźbić skrypty do podmiany maca na drugim serwerze, (moim zdaniem zupełnie bezsensowne działanie), to poczytaj o tym.

To by było na tyle
:craz: