Zmiana adresu IP instancji ========================== W przypadku Floating IP oraz interfejsu w sieci External adres IP jest losowany z puli, nie ma możliwości wybrania konkretnego adresu. Taka możliwość występuje tylko w sieciach prywatnych, w pełni zarządzanych przez użytkownika. Zmiana adresu IP wiąże się z ryzykiem utraty dostępu sieciowego do instancji – przed wykonaniem zmiany zalecamy utworzenie hasła na użytkowniku systemowym. Panel Atman Cloud oferuje możliwość [zalogowania się do konsoli instancji](Logowanie_do_instancji.md). Floating IP ----------- Ten typ adresu jest najprostszy do zmiany. Aby zmienić adres należy najpierw odpiąć od instancji stary adres za pomocą opcji **Disassociate Floating IP** a następnie przypiąć inny adres wybierając **Associate Floating IP**. Zmiana adresu nastąpi natychmiast, nie ma potrzeby wykonywania działań po stronie systemu operacyjnego instancji. Interfejs w sieci publicznej (external) --------------------------------------- Procedura polega na dodaniu nowego interfejsu sieciowego i usunięciu starego. ![pic1](images/ip_change_external_1.png) ![pic2](images/ip_change_external_2.png) ![pic3](images/ip_change_external_3.png) Po zmianie interfejsu **należy wykonać restart instancji** lub **zalogować się do konsoli instancji i pobrać nowy adres po DHCP**. Interfejs w sieci prywatnej --------------------------- Zmieniamy adres opisanym wyżej sposobem, dodając nowy interfejs sieciowy i usuwając stary. W przypadku sieci prywatnej w oknie dodawania interfejsu w polu **Fixed IP address** możemy wskazać konkretny adres IP który zostanie przypisany do portu. Jeśli go nie wskażemy, adres zostanie wylosowany z puli. Jeśli w sieci prywatnej działa DHCP po wykonaniu zmiany w panelu restartujemy instancję lub logujemy się do konsoli i pobieramy nowy adres. Jeśli DHCP jest wyłączone musimy dodać nowy adres do konfiguracji interfejsu sieciowego po stronie systemu operacyjnego instancji. Interfejs w sieci prywatnej – przypisanie wielu adresów do jednego portu ------------------------------------------------------------------------ Instancja może mieć przypisane wiele interfejsów sieciowych, jednak jeśli przypiszemy do niej wiele adresów publicznych (**Floating** lub **External**) w praktyce działać będzie tylko jeden. Takie zachowanie wynika z zasady działania routingu – odpowiedź na ruch przychodzący ze świata z dowolnego interfejsu wysyłana jest jednym interfejsem z przypisaną default route. Problem możemy rozwiązać na dwa sposoby. 1. Pierwszy to zastosowanie wielu tablic routingu, przykładowo opisany [**tutaj**](https://www.thomas-krenn.com/en/wiki/Two_Default_Gateways_on_One_System). 2. Drugim sposobem jest utworzenie portu sieciowego z przypisanymi wieloma adresami IP i skonfigurowanie ich po stronie systemu operacyjnego instancji jako [**sub-interfejsy sieciowe**](https://linuxconfig.org/configuring-virtual-network-interfaces-in-linux). Do każdego z adresów możemy następnie przypisać inny Floating IP. Przypisanie wielu adresów IP do jednego portu jest możliwe wyłącznie z poziomu CLI. Na początek zbieramy potrzebne informacje: **subnet** i **port uuid**. Sprawdzamy nazwę sieci: ``` nova list +--------------------------------------+-----------+--------+------------+-------------+-----------------------------+ | ID | Name | Status | Task State | Power State | Networks | +--------------------------------------+-----------+--------+------------+-------------+-----------------------------+ | 7754e22e-bc4f-46fc-bc53-a19b914dbd77 | instancja | ACTIVE | - | Running | siec-wewnetrzna=192.168.1.8 | +--------------------------------------+-----------+--------+------------+-------------+-----------------------------+ ``` Znajdujemy subnet uuid dla sieci siec-wewnetrzna: ``` openstack network list +--------------------------------------+-------------------+----------------------------------------------------------------------------+ | ID | Name | Subnets | +--------------------------------------+-------------------+----------------------------------------------------------------------------+ | 19f99d0d-e04b-4e88-bf13-f7d83cf8ff52 | EXTERNAL | 2a426a8e-0158-46ad-9d82-cd716a895788, 41175650-8e5c-492a-9f59-238be3bb9d2b | | 96e40db6-3857-45e0-a7a3-c49c17ceffed | siec-wewnetrzna | 721d234d-87fb-4237-99e9-57c7ea1711e0 | +--------------------------------------+-------------------+----------------------------------------------------------------------------+ ``` Znajdujemy uuid portu podpiętego do instancji (192.168.1.8) oraz sprawdzamy zajęte adresy IP: ``` openstack port list +--------------------------------------+------+-------------------+----------------------------------------------------------------------------+--------+ | ID | Name | MAC Address | Fixed IP Addresses | Status | +--------------------------------------+------+-------------------+----------------------------------------------------------------------------+--------+ | 1e8b1cd8-1789-4da0-8147-03327c193cb7 | | fa:16:3e:f5:ea:07 | ip_address='192.168.1.8', subnet_id='721d234d-87fb-4237-99e9-57c7ea1711e0' | ACTIVE | | 1ea7ea39-d741-401b-bf0f-3cba0db2d891 | | fa:16:3e:21:65:4b | ip_address='192.168.1.4', subnet_id='721d234d-87fb-4237-99e9-57c7ea1711e0' | ACTIVE | | 819db4ca-91d7-4930-8dd7-811fc55b25ea | | fa:16:3e:bf:2f:bb | ip_address='192.168.1.2', subnet_id='721d234d-87fb-4237-99e9-57c7ea1711e0' | ACTIVE | | cfd22782-7125-49b7-8364-71ef60f3be2e | | fa:16:3e:45:0d:ad | ip_address='192.168.1.1', subnet_id='721d234d-87fb-4237-99e9-57c7ea1711e0' | ACTIVE | | e941287c-6524-4b9c-bb9e-f5f3b1fef66c | | fa:16:3e:a6:d5:3a | ip_address='192.168.1.3', subnet_id='721d234d-87fb-4237-99e9-57c7ea1711e0' | ACTIVE | +--------------------------------------+------+-------------------+----------------------------------------------------------------------------+--------+ ``` Następnie wykonujemy: ``openstack port set --fixed-ip subnet=subnet-uuid,ip-address=IP port-uuid`` ``openstack port set --fixed-ip subnet=721d234d-87fb-4237-99e9-57c7ea1711e0,ip-address=192.168.1.9 1e8b1cd8-1789-4da0-8147-03327c193cb7`` Instancja ma teraz dwa adresy IP na jednym interfejsie sieciowym: ``` nova list +--------------------------------------+-----------+--------+------------+-------------+------------------------------------------+ | ID | Name | Status | Task State | Power State | Networks | +--------------------------------------+-----------+--------+------------+-------------+------------------------------------------+ | 7754e22e-bc4f-46fc-bc53-a19b914dbd77 | instancja | ACTIVE | - | Running | siec-wewnetrzna=192.168.1.8, 192.168.1.9 | +--------------------------------------+-----------+--------+------------+-------------+------------------------------------------+ ``` Przy korzystaniu z tego sposobu zalecamy wyłączenie DHCP i skonfigurowanie statycznych adresów na sub-interfejsach.