Archiwum Ustawienia sieci dla VMware

3 Comments

Korzystając z VMware, jednym z zagadnień, które warto znać jest sprawa ustawień sieci w maszynach wirtualnych. Nie od razu było tu wszystko dla mnie jasne, ale z czasem zgłębiłem nieco ten temat. Podzielę się kilkoma informacjami w tym zakresie.

NAT czy Bridged?
Wybierając typ sieci mamy kilka opcji, z których z reguły wybieram NAT lub Bridged.
Zaglądając do ustawień konfiguracyjnych (plik VMX) znajdziemy tam wpis tego typu:

ethernet0.connectionType = „bridged”

Różnica pomiędzy siecią NAT a Bridged jest taka, że NAT tworzy wirtualną sieć w ramach maszyny hosta, a Bridged łączy się bezpośrednio. Ustawiając typ sieci NAT mamy możliwość łączenia się z Internetem korzystając z sieci hosta. Nasza maszyna otrzymuje adres IP, który nie będzie rozpoznawany w sieci, do której się włączyliśmy. Otrzymujemy adres prywatny.

Połączenie typu NAT nie sprawdzi się w sytuacji. gdy chcemy postawić wirtualny serwer (np. z systemem SAP) i inne osoby mają mieć do niego dostęp. W takiej sytuacji należy wybrać Bridged.

Ustawiając typ sieci na „Bridged” nasza wirtualna maszyna otrzymuje numer IP (z puli dostępnych) i jest widziana w sieci tak jak każdy inny komputer. Nie oznacza to, że musi to być adres publiczny. W korporacyjnej sieci uruchamiane przeze mnie maszyny otrzymują adresy prywatne dostępne w tej sieci. Wystarcza to jednak, aby inne osoby korzystające z sieci mogły się połączyć z wirtualnym serwerem.

Kwestia adresu MAC

Kiedy pracując w domu wybieram typ sieci „Bridged„, to ze względu na ograniczenie jakie narzuca mi firma dostarczająca Internet, połączenie z siecią nie zadziała. Aby działało muszę zgłosić adres MAC wirtualnej maszyny (sieć sprawdza MAC i jeżeli nie jest zarejestrowany, to nie przydziela adresu IP). Co jednak zrobić, jeżeli ktoś chce eksperymentować z wieloma systemami? VMware za każdym razem generuje inny MAC. Rozwiązaniem jest przydzielenie statycznego numeru. Konfigurując nową maszynę wirtualną adres MAC jest generowany automatycznie. Wpis w pliku konfiguracyjnym może wyglądać następująco:

ethernet0.addressType = „generated”
ethernet0.generatedAddress = „00:0c:29:1d:c4:34″

Teoretycznie nie ma problemu, aby narzucić stały adres MAC i ustawić jego wartość na taką jaka chcemy. Wystarczy zamienić wspomniane wcześniej wpisy na coś takiego:

ethernet0.addressType = „static”
ethernet0.Address = „xx:xx:xx:xx:xx:xx”

przy czym „xx:xx:xx:xx:xx:xx” jest wymaganym adresem MAC. Jest tu jednak małe „ale”. VMware nie pozwala na ustawienie dowolnego adresu MAC. Musi się on zawierać w takim zakresie:

00:50:56:00:00:00 – 00:50:56:3F:FF:FF

Próba uruchomienia maszyny wirtualnej z nieprawidłowym adresem skończy się błędem.

Tags:

3 Responses to “Ustawienia sieci dla VMware”

  1. djg Says:

    Świetny artykuł. Krótko i na temat. Dzięki

  2. kkk Says:

    Bzdura.
    Po 1) Można wpisać dowolny adres MAC podając ethernet0.checkMACAddress = „false”
    po 2) i tak nie działa, tj. ustawiając własny MAC openSuse na mojej wirtualce nie widzi karty sieciowej.

  3. Rafał Says:

    witam
    dziękuję za komentarz.
    Pytanie: co konkretnie jest bzdurą? Całość? Część informacji? Jeśli część, to która?
    Wpis jest dość stary, ale rozwijając temat:
    PRIMO: moje wpisy najczęściej dotyczą vmware player, a jak wiadomo vmware ma wiele produktów. O którym ty piszesz ?
    SECUNDO: ethernet0.checkMACAddress = „false” nie testowałem, więc dziękuję za podanie wskazówki.
    Co do tego, że nie widzi karty. O co ci dokładnie chodzi ? Jeśli to coś o czym myślę to mam na to obejście z którego korzystałem w SLES 10.2 (nie wiem jak sprawdza się w innych wersjach bo tylko w SLES miałem potrzebę modyfikacji pewnych rzeczy). Podam kilka komend bez szczególnego rozwinięcia tematu:
    # rcnetwork stop
    # vi /etc/udev/rules.d/30-net_persistent_names.rules

    tam powinna być linia w stylu:
    SUBSYSTEM=="net", ACTION=="add", SYSFS{address}=="00:02:b3:22:84:f3", IMPORT="/lib/udev/rename_netiface %k eth1"
    (zakładam że po zmianie adresu twoja karta jest teraz widziana jako eth1 a ty chcesz z powrotem eth0)
    zamieniasz eth1 na eth0 , czyli masz coś takiego
    SUBSYSTEM=="net", ACTION=="add", SYSFS{address}=="00:02:b3:22:84:f3", IMPORT="/lib/udev/rename_netiface %k eth0"

    Potem już tylko:
    # /lib/udev/rename_netiface eth1 eth0
    # rcnetwork start

    TERTIO: jak piszesz że coś jest bzdurą to miło by było abyś przynajmniej zostawił adres emailowy, aby można było się do tego ustosunkować (chyba że zaglądasz tu i sprawdzasz czy dodano komentarz)

    pozdrawiam
    Rafał

Leave a Reply

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word