W niektórych przypadkach okazuje się, że administrator musi skonfigurować wiele adresów IP na jednym i tym samym interfejsie sieciowym (NIC) w systemie Windows – i wtedy pojawia się pytanie: jak to można wykonać.

Przykładem takiej sytuacji może być np. konieczność uruchamiania wielu witryn internetowych z unikalnymi adresami IP i certyfikatami SSL, na jednym serwerze stron internetowych (bądź to IIS czy Apache), w sytuacji np. gdy przygotowujemy zmiany adresowania IP, gdy chcemy powiązać dane aplikacje webowe z określonymi adresami IP, itp.

Dodać kolejny (czy i kolejne) adres IP, można na kilka sposobów, i zostaną one zaprezentowane w niniejszym artykule. Co ważne także, to fakt, że możemy to zrealizować, przy założeniu, że dane adresowe są konfigurowane metodą „ręczną”, a nie z wykorzystaniem serwera DHCP.

 

 

 

Jak dodać dodatkowy adres IP za pomocą interfejsu GUI systemu Windows?

Na początek istotna adnotacja: nie ma znaczenia, czy konfigurujemy system kliencki, czy system Windows Server, konfiguracja jest tu realizowana w sposób identyczny.

Zakładamy także, że już jakiś adres IP został wcześniej skonfigurowany w systemie operacyjnym na interfejsie sieciowym, który nas interesuje, i co bardzo istotne (jak już zostało wcześniej wspomniane) – metodą „ręczną” (czyli dane adresowe TCP/IP nie są pobierane z serwera DHCP, a zostały skonfigurowane metodą „ręczną”). Poniżej mamy przykładowy zrzut informacji odnośnie interfejsu, który będzie wykorzystywany w dalszej części artykułu (i widać, ze na obecną chwilę mamy tylko jeden adres IP przypisany do tegoż interfejsu sieciowego):

 

 

Teraz, aby dodać drugi adres IP z wykorzystaniem GUI w systemie MS Windows należy:

  1. Otworzyć Panel sterowania -> Sieć i Internet -> Centrum sieci i udostępniania -> Zmień ustawienia karty sieciowej (albo możemy po prostu uruchomić polecenie: ncpa.cpl)
  2. Na liście interfejsów sieciowych odnaleźć ten odpowiedni, który nas interesuje, następnie kliknąć na niego, i z menu, które się pojawi wybrać opcję „Właściwości„,
  3. Po czym następnie zaznaczyć pozycję „Protokół internetowy w wersji 4 (TCP/IPv4)” i kliknąć przycisk „Właściwości
  4. Gdy pojawi się okno „Właściwości: Protokół internetowy w wersji 4 (TCP/IPv4)”, to upewniamy się, że obecnie interfejs ma skonfigurowane dane adresowe TCP/IP w sposób „ręczny”, po czym należy nacisnąć przycisk „Zaawansowane”:
  5. W oknie „Zaawansowane ustawienia TCP/IP” naciskamy przycisk „Dodaj” po czym wpisujemy dane tegoż dodatkowego adresu IP wraz z maską podsieci (oczywiście nie musi być to adres IP pochodzący z tej samej puli adresowej co wcześniejszy):
  6. Teraz zapisujemy zmiany klikając „OK” klika razy.
  7. I możemy sprawdzić czy konfiguracja działa prawidłowo, sprawdzając najpierw za pomocą polecenia ipconfig, iż na naszym wybranym interfejsie pojawił się drugi adres IP:
    jak również następnie, za pomocą polecenia ping, że komunikacja z wykorzystaniem tego dodatkowego adresu IPv4 jest możliwa z innego urządzenia w tej sieci lokalnej (przypomina się tylko, że w systemach MS Windows domyślnie już działa wbudowana zapora ogniowa, w której należy dodać odpowiedni wyjątek dla protokołu ICMPv4/ICMPv6, aby system zaczął odpowiadać na tzw. „pingi”):

 

 

 

Flaga SkipAsSource

Główną wadą dodawania drugiego adresu IP przy użyciu przed chwilą wskazanej metody (tj. z wykorzystaniem GUI) jest to, że dla tegoż adresu IP nie będzie ustawiona tzw. flaga „SkipAsSource zgodnie z naszymi potrzebami (zostaje przyjęte domyślnie SkipAsSource = False). Jeśli flaga SkipAsSource jest włączona (True), to ten dodatkowy adres IP nie będzie mógł być używany przez system dla połączeń wychodzących (chyba, że dana aplikacja, jakiej używamy samodzielnie czasem potrafi włączyć tą flagę). Czyli można będzie się połączyć z usługą zarejestrowaną na tym dodatkowym adresie IP, i nasłuchującą na nim, ale już system nie może wykorzystać tego adresu IP jako adres źródłowy do nawiązywania przez niego nowych połączeń , co czasami ma jednak dla nas dość istotne znaczenie.

Ponadto, jeśli w/w flaga nie jest włączona, to tenże drugi adres IP nie zostanie zarejestrowany w systemie DNS (nawet gdy włączona została tzw. rejestracja dynamiczna), co też może mieć dla nas znaczenie.

Jeżeli więc chcemy, aby ten dodatkowy adres IP posiadał ustawiony parametr SkipAsSource, możemy albo dodać tenże dodatkowy adres IP z wykorzystaniem odpowiednich narzędzi wiersza poleceń z odpowiednim parametrem, bądź też z wykorzystaniem tychże narzędzi dodać ten parametr dla już skonfigurowanego adresu IP.

Troszkę więcej informacji, z małym pokazem praktycznym, odnośnie logiki działania w/w flagi, zaprezentowane zostanie jeszcze na końcu tegoż artykułu.

 

 

 

Jak przypisać drugi adres IP za pomocą polecenia Netsh?

Pierwszym narzędziem wiersza poleceń, jakie możemy użyć, aby przypisać dodatkowy adres IP, jest netsh. I jak wcześniej już wskazano, to polecenie pozwala również ustawić dla adresu IP parametr SkipAsSource.

Aby dodać dodatkowy adres IP z wykorzystaniem polecenia netsh, należy najpierw uruchomić wiersz polecenia na uprawnieniach administracyjnych:

po czym należy w wierszu poleceń uruchomić polecenie, jak poniższe przykładowe:

netsh int ipv4 add address name="Ethernet" 172.16.1.90 255.255.255.0 SkipAsSource=True

gdzie w ramach parametru „name” należy podać nazwę połączenia dla interfejsu sieciowego, w ramach którego chcemy dodać dodatkowy adres IP, a następnie adres IP wraz z maską podsieci, oraz parametr SkipAsSource.

Na poniższym rysunku można zaobserwować przykład wykorzystania w/w polecenia:

 

 

 

 

 

Jak przypisać dodatkowy adres IP przy użyciu PowerShell?

Drugim narzędziem wiersza poleceń, jakie możemy użyć, aby przypisać dodatkowy adres IP, jest wykorzystanie poleceń cmdlet NetIPAddress w ramach wiersza poleceń PowerShell (tenże cmdlet pojawił się w wersji PowerShell w systemie Windows 2012/Windows 8).

Aby dodać dodatkowy adres IP z wykorzystaniem poleceń NetIPAddress, należy najpierw uruchomić wiersz poleceń Powershell na uprawnieniach administracyjnych:

 

 

Następnie możemy sprawdzić z wykorzystaniem odpowiedniego polecenia Get-NetIPAddress, jak wygląda aktualna konfiguracja danych adresowych na interfejsach sieciowych w naszym systemie operacyjnym (można na poniższym zdjęciu zauważyć kolumnę wskazującą adres IP, następnie kolumnę z nazwą połączenia interfejsu sieciowego, oraz trzecią kolumną wskazującą aktualne ustawienie parametru SkipAsSource):

 

 

Teraz możemy dodać dodatkowy adres IP (parametry -IPAddress oraz -PrefixLength) dla wybranego interfejsu sieciowego (wskazanego parametrem -InterfaceAlias) oraz ustawić parametr SkipAsSource. 

Na poniższym zdjęciu można zaobserwować przykład dodania adresu IP 88.88.88.88/24:

 

Po czym możemy sprawdzić z wykorzystaniem odpowiedniego polecenia Get-NetIPAddress, jak wygląda teraz, po dokonanej zmianie, aktualna konfiguracja danych adresowych na interfejsach sieciowych w naszym systemie operacyjnym:

 

Aby zmodyfikować parametr SkipAsSource i zezwolić na ruch wychodzący dla wcześniej dodanego już adresu IP, należy użyć polecenia jak poniżej:

 

 

 

 

Wykorzystanie flagi/parametru SkipAsSource

Logika działania flagi/parametru SkipAsSource jest czymś, o czym administratorzy powinni pamiętać, gdy uruchamiają wiele adresów IP na pojedynczym interfejsie. Zwłaszcza jeśli używamy adresów IP z tej samej podsieci (w naszym wcześniejszym przykładzie były takie dwa: 192.168.100.10/24 oraz 192.168.100.11/24).

Flaga/parametr SkipAsSource została stworzona głównie pod kątem sterowania rejestracją adresów w systemie DNS (tak w każdym razie trochę wynika z tego co sam MS w materiałach wskazuje), gdyż w ramach interfejsu „wieloadresowego”, wykorzystywane będą do rejestrowania jako rekordy w systemie DNS tylko te adresy IP, które mają tenże parametr ustawiony na wartość „True”.

Ponadto jak już zostało wcześniej wskazane, gdy w/w parametr dla danego adresu IP będzie ustawiony na „True”, to system będzie mógł wykorzystać tenże adres IP, jako adres źródłowy dla inicjowanych nowych połączeniach z tegoż systemu, i aplikacji w nich zainstalowanych.

Jeżeli okaże się czasem, że system Windows posiada więcej niż jeden adres IP w tej samej puli adresowej, z ustawionym w/w parametrem na „True”, to wtedy wybierze dla wychodzącego ruchu jako adres źródłowy, ten o najniższym IP w tejże podsieci.

Jeśli do systemu przyszło żądanie przychodzące do konkretnego adresu IP, to nawet jeżeli dla tego adresu jest ustawiony w/w parametr na „False”, to zostanie on wykorzystany do połączenia zwrotnego.

 

 

 

Aby lepiej zobrazować logikę wykorzystania tegoż parametru, to założymy sobie scenariusz, jaki do tej pory udało nam się stworzyć w tymże artykule, i spróbujemy wykorzystać dwa skonfigurowane adresy IP, które są w tej samej puli adresowej, tj. 192.168.100.10/24 oraz 192.168.100.11/24

Na obecną chwilę, tak dla przypomnienia: adres IP 192.168.100.10 ma ustawioną flagę na wartość „False„, natomiast adres IP 192.168.100.11 ma ustawioną flagę na wartość „True” (co można sprawdzić wcześniej w artykule).

To oznacza, że jeżeli z tego systemu będziemy próbowali nawiązać jakiekolwiek połączenie z innym urządzeniem w puli 192.168.100.0/24, to jako adres źródłowy zostanie u nas wykorzystany 192.168.100.10 – dlatego, iż ten adres ma flagę ustawioną na „True„, a drugi adres ma na „False” (choć nawet gdyby obydwa były ustawione na „False„, to wtedy i tak wykorzystany zostałby ten niższy, tj. 192.168.100.10 – w takiej sytuacji po prostu system wybiera adres niższy).

Przykładowo więc, spróbujmy wykonać „ping” na jakiś adres w tejże puli 192.168.100.0/24:

 

I jeżeli przechwycimy tą transmisję, z wykorzystaniem aplikacji Wireshark, to możemy zobaczyć, że jako adres źródłowy, został wykorzystany 192.168.100.10:

 

 

Jeżeli teraz zamienimy ustawienie parametru SkipAsSource pomiędzy tymi dwoma adresami (tj. 192.168.100.10 oraz 192.168.100.11):

 

I jeżeli teraz na nowo przechwycimy tą transmisję „ping”, z wykorzystaniem aplikacji Wireshark, to możemy zobaczyć, że jako adres źródłowy, został tym razem wykorzystany 192.168.100.11:

 

Wniosek więc taki, że wykorzystaliśmy w tej chwili naszą wiedzę, do tego, aby zmienić domyślny adres IP, z którego nasze urządzenie będzie korzystać do nawiązywania przez siebie nowych połączeń (a to jaki adres IP będzie używany w praktyce, będzie miało jednak często gęsto dla nas znaczenie).

 

 

 

 

Udostępnij, jeśli ci się spodobało: