Gyakorlat – Hálózati hozzáférés konfigurálása
Ebben a gyakorlatban konfigurálja a modulban korábban létrehozott virtuális gép (VM) elérését.
Fontos
A Microsoft Learn tesztkörnyezetnek továbbra is futnia kell. Ha a tesztkörnyezet túllépte az időkorlátot, újra kell végeznie az előző gyakorlatot (Gyakorlat – Azure-beli virtuális gép létrehozása).
Ha ellenőrizni szeretné, hogy a korábban létrehozott virtuális gép továbbra is fut-e, használja a következő parancsot:
az vm list
Ha üres választ []
kap, ismét be kell fejeznie a modul első gyakorlatát. Ha az eredmény felsorolja az aktuális virtuális gépet és annak beállításait, folytathatja.
Az Nginx által létrehozott és telepített virtuális gép jelenleg nem érhető el az internetről. Létre fog hozni egy hálózati biztonsági csoportot, amely úgy változik, hogy engedélyezi a bejövő HTTP-hozzáférést a 80-as porton.
1. feladat: A webkiszolgáló elérése
Ebben az eljárásban beszerzi a virtuális gép IP-címét, és megkísérli elérni a webkiszolgáló kezdőlapját.
Futtassa a következő
az vm list-ip-addresses
parancsot a virtuális gép IP-címének lekéréséhez, az eredményt pedig tárolja Bash-változóként:IPADDRESS="$(az vm list-ip-addresses \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --name my-vm \ --query "[].virtualMachine.network.publicIpAddresses[*].ipAddress" \ --output tsv)"
A kezdőlap letöltéséhez futtassa a következő
curl
parancsot:curl --connect-timeout 5 http://$IPADDRESS
A
--connect-timeout
argumentum legfeljebb öt másodpercet engedélyez a kapcsolat létesítéséhez. Öt másodperc elteltével hibaüzenet jelenik meg, amely szerint a kapcsolat esetében időtúllépés történt:curl: (28) Connection timed out after 5001 milliseconds
Ez az üzenet azt jelenti, hogy a virtuális gép nem volt elérhető az időkorláton belül.
Ha szeretné, próbálja meg egy böngészőből elérni a webkiszolgálót:
Futtassa a következőt a virtuális gép IP-címének a konzolon való megjelenítéséhez:
echo $IPADDRESS
Megjelenik egy IP-cím (például 23.102.42.235).
Másolja a vágólapra a megjelenő IP-címet.
Nyisson meg egy új böngészőlapot, és lépjen a webkiszolgálóra. Néhány pillanat múlva látni fogja, hogy a kapcsolat nem jön létre. Ha megvárja a böngésző időtúllépését, a következőhöz hasonlót fog látni:
Hagyja megnyitva ezt a böngészőlapot a későbbi műveletekhez.
2. feladat: Az aktuális hálózati biztonsági csoport szabályainak listázása
A webkiszolgáló nem volt elérhető. Hogy megtudjuk ennek okát, vizsgáljuk meg az aktuális NSG-szabályokat.
Futtassa a következő
az network nsg list
parancsot a virtuális géphez társított hálózati biztonsági csoportok listázásához:az network nsg list \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --query '[].name' \ --output tsv
Ezt fogja látni:
my-vmNSG
Az Azure-ban lévő összes virtuális gép legalább egy hálózati biztonsági csoporthoz társítva van. Ebben az esetben az Azure a my-vmNSG nevű NSG-t hozta létre.
Futtassa a következő
az network nsg rule list
parancsot a my-vmNSG nevű NSG-hez társított szabályok listázásához:az network nsg rule list \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --nsg-name my-vmNSG
A kimenetben egy nagy méretű, JSON formátumú szövegblokk látható. A következő lépésben egy hasonló parancsot futtat, amellyel ez a kimenet könnyebben olvasható lesz.
Futtassa ismét az
az network nsg rule list
parancsot. Ezúttal csak az egyes szabályok nevét, prioritását, érintett portjait és hozzáférését (Engedélyezés vagy Megtagadás) kérje le a--query
argumentummal. Az--output
argumentum táblázatként formázza a kimenetet, így könnyebben olvasható.az network nsg rule list \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --nsg-name my-vmNSG \ --query '[].{Name:name, Priority:priority, Port:destinationPortRange, Access:access}' \ --output table
Ezt fogja látni:
Name Priority Port Access ----------------- ---------- ------ -------- default-allow-ssh 1000 22 Allow
Az alapértelmezett default-allow-ssh szabályt látja. Ez a szabály a 22-es (SSH-) porton engedélyezi a bejövő kapcsolatokat. Az SSH (Secure Shell) egy Linux rendszeren használt protokoll, amellyel a rendszergazdák távolról érhetik el a rendszert. Ezen szabály prioritása 1000. A szabályok feldolgozása prioritási sorrendben történik. Az alacsonyabb sorszámúak feldolgozása a magasabb sorszámúak előtt történik.
Alapértelmezés szerint a Linux rendszerű virtuális gépek NSG-i csak a 22-es porton engedélyezik a hálózati hozzáférést. Ezáltal a rendszergazdák hozzáférhetnek a rendszerhez. A 80-as porton is engedélyeznie kell a bejövő kapcsolatokat, amely HTTP-n keresztüli hozzáférést tesz lehetővé.
3. feladat: A hálózati biztonsági szabály létrehozása
Itt létrehoz egy hálózati biztonsági szabályt, amely engedélyezi a bejövő hozzáférést a 80-as (HTTP-) porton.
Futtassa a következő
az network nsg rule create
parancsot egy allow-http nevű szabály létrehozásához, amely engedélyezi a bejövő hozzáférést a 80-as porton:az network nsg rule create \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --nsg-name my-vmNSG \ --name allow-http \ --protocol tcp \ --priority 100 \ --destination-port-range 80 \ --access Allow
Tanulási célból a prioritás értéke legyen 100. Ebben az esetben a prioritás nem fontos. Akkor érdemes figyelembe venni a prioritást, ha átfedésben vannak a porttartományok.
A konfiguráció ellenőrzéséhez futtassa az
az network nsg rule list
parancsot, hogy megjelenítse a szabályok frissített listáját:az network nsg rule list \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --nsg-name my-vmNSG \ --query '[].{Name:name, Priority:priority, Port:destinationPortRange, Access:access}' \ --output table
A default-allow-ssh szabályt, valamint az új allow-http szabályt is látni fogja:
Name Priority Port Access ----------------- ---------- ------ -------- default-allow-ssh 1000 22 Allow allow-http 100 80 Allow
4. feladat: A webkiszolgáló ismételt elérése
Most, hogy beállította a hálózati hozzáférést a 80-as porthoz, próbáljon meg másodszor is hozzáférni a webkiszolgálóhoz.
Megjegyzés:
Az NSG frissítése után eltarthat néhány percig, amíg a frissített szabályok propagálása megtörténik. Próbálkozzon újra a következő lépéssel, a kísérletek közötti szünetekkel, amíg meg nem kapja a kívánt eredményeket.
Futtassa a korábban már futtatott
curl
parancsot:curl --connect-timeout 5 http://$IPADDRESS
Ezt fogja látni:
<html><body><h2>Welcome to Azure! My name is my-vm.</h2></body></html>
Választható lépésként frissítse a webkiszolgálóra mutató böngészőlapot. Ezt fogja látni:
Szép munka. A gyakorlatban létrehozhat egy különálló hálózati biztonsági csoportot, amely a szükséges bejövő és kimenő hálózati hozzáférési szabályokat is tartalmazza. Ha több azonos célt szolgáló virtuális géppel rendelkezik, akkor a létrehozásuk időpontjában hozzárendelheti a kívánt csoportot az egyes virtuális gépekhez. Ez a módszer lehetővé teszi, hogy több virtuális gép hálózati hozzáférését szabályozza egyetlen központi szabálykészlet alapján.
A fölöslegessé vált elemek eltávolítása
A tesztkörnyezet automatikusan törli az erőforrásokat, amikor végzett ezzel a modullal.
Ha a saját előfizetésében dolgozik, érdemes az egyes projektek végén eldöntenie, hogy szüksége lesz-e még a létrehozott erőforrásokra. A futtatásból kilépő erőforrások pénzbe kerülhetnek. Az erőforrásokat törölheti egyesével, vagy az erőforráscsoport törlésével eltávolíthatja a benne lévő összes erőforrást is.