Windows PowerShell IP 구성 시작하기

A common SysAdmin task involves managing a PowerShell IP configuration. Typically, one performs this task using the GUI, which is OK. But PowerShell can do the same job and more, which you can put into scripting.

이 자습서에서는 PowerShell의 몇 가지 네트워크 관리 cmdlet을 사용하여 Windows 호스트의 IP 주소, 게이트웨이 및 DNS 설정을 관리하는 방법을 배우게 됩니다.

계속 읽어보고 PowerShell IP 구성 명령을 사용하여 네트워크 문제 해결 기술을 더욱 향상시키세요!

사전 요구 사항

이 자습서는 실습을 포함합니다. Windows 최신 버전에서 PowerShell에 관리 액세스 권한이 필요합니다. 이 자습서는 Windows Server 2022를 사용하지만, 이 명령은 Windows 10 버전 이상에서도 작동합니다.

네트워크 어댑터 속성 가져오기 (Get-NetAdapter)

호스트의 IP 주소를 문제 해결하거나 수집하기 위해 ping, ipconfig, 또는 sconfig와 같은 전통적인 도구를 사용할 수 있습니다. 그러나 PowerShell cmdlet을 사용하면이 프로세스를 자동화하기 위해 스크립트로 작성할 수 있습니다.

PowerShell을 열고 아래의 Get-NetAdapter cmdlet을 실행하여 네트워크 어댑터 및 호스트의 속성 목록(예: 인터페이스 별칭인터페이스 인덱스)을 가져옵니다.

Get-NetAdapter
Getting network adapters’ properties

주의: 어댑터에는 아직 IP 주소 객체가 없습니다. 사용할 어댑터를 알아야합니다. 이 자습서에서는 Ethernet 어댑터 별칭과 작업합니다.

주소 가져오기 PowerShell IP 구성 (Get-NetIPAddress)

이전에는 한 번의 명령으로 모든 네트워크 인터페이스를 나열했습니다. 그러나 Get-NetIPAddress cmdlet를 통해 속성 값 및 호스트의 현재 IP 주소도 나열할 수 있습니다.

매개 변수 없이 아래 명령을 실행하여 각 어댑터의 주소와 PowerShell IP 구성을 표시합니다.

Get-NetIPAddress
Getting all IP address configurations

이제 다음 명령을 실행하여 출력을 (Select-Object) 이더넷의 InterfaceAliasIPAddress로 좁힙니다.

Get-NetIPAddress -InterfaceAlias Ethernet | Select-Object -Property InterfaceAlias,IPAddress
Finding the IP address assigned to an interface (Ethernet)

IP 경로 정보 가져오기 (Get-NetRoute)

IP 주소는 호스트가 동일한 네트워크의 다른 호스트와 통신할 수 있도록합니다. 그러나 호스트가 그 네트워크 외부와 통신해야 할 때 어떻게됩니까?

A gateway address is necessary, and the Get-NetRoute cmdlet is what you need. This cmdlet provides information that previous cmdlets you have learned about do not.

Ethernet 인터페이스에 대한 현재 게이트웨이 (NextHop)를 확인하려면 아래의 Get-NetRoute 명령을 실행하십시오.

Get-NetRoute -InterfaceAlias Ethernet | Where-Object -Property RouteMetric -EQ 0 | Select-Object -Property NextHop

일반적으로 DHCP 서버가 게이트웨이 주소를 제공합니다. 이 주소를 이 기사에 대한 후속 작업에서 캡처하려고 할 것입니다.

Finding the gateway address assigned to an interface

DNS 서버 IP 주소 가져오기 (Get-DnsClientServerAddress)

DNS는 내부 및 외부 네트워크의 이름 해결을 위해 필요합니다. DNS 없이는 네트워크의 각 호스트의 인터넷 주소를 기억해야 합니다.

그러나 호스트가 이미 DHCP를 통해 DNS를 구성했을 가능성이 높습니다. 현재 구성을 확인하려면 Get-DnsClientServerAddress cmdlet을 사용할 수 있습니다.

Get-DnsClientServerAddress

출력을 텍스트 파일로 리디렉션하거나 메모해 IP 주소를 기록하세요. 이 튜토리얼에서 이후에 이러한 DNS 서버 주소를 다시 할당해야 합니다.

Verifying the current DNS configuration

IP 네트워크 구성 가져오기 (Get-NetIPConfiguration)

이전 세 개의 cmdlet에서 학습한 정보를 한 번에 필요할 때, Get-NetIPConfiguration cmdlet이 해결책을 제공합니다. 이 cmdlet의 주요 특징 중 하나는 더 집중된 정보를 제공한다는 것입니다.

아래의 Get-NetIPConfiguration cmdlet을 실행하여 이전에 실행한 cmdlet에 의해 수집된 IP 네트워크 구성을 표시하세요.

Get-NetIPConfiguration
Getting IP network configurations

Get-NetIPConfiguration cmdlet은 하나의 네트워크 인터페이스만 있는 경우 더 빠릅니다. 그러나 둘 이상의 네트워크 인터페이스가 있는 경우 콘솔이 스크롤되지 않도록 속성을 필터링해야 할 수 있습니다.

수동으로 IP, 게이트웨이 및 DNS 주소 구성

지금까지 배운 cmdlet으로 새로운 지식을 활용할 때입니다. 이 튜토리얼에서는 Windows Server 2022 호스트에 정적 IP 주소, 게이트웨이 및 DNS 서버를 할당합니다.

이 시점 이후의 명령은 지정된 네트워크 어댑터의 IP 주소, 게이트웨이 및 DNS 설정만 변경합니다. 변경하려는 각 어댑터에 대해 이러한 단계를 반복해야 합니다.

1. 관리자 권한으로 PowerShell을 열고, 서버의 네트워크 어댑터 목록을 나열하려면 다음 명령을 실행하십시오.

Get-NetAdapter

설치된 네트워크 어댑터 명령 찾기

변경하려는 네트워크 어댑터를 식별하십시오. 목록에 표시된 어댑터 이름 또는 인덱스 번호(예: Ethernet)를 사용할 수 있습니다.

Current network adapter properties of all installed adapters

다음으로, 아래의 Net-NetIPAddress 명령을 실행하여 네트워크 어댑터의 IPv4 주소를 변경하십시오. -PrefixLength24는 IP 주소의 처음 24비트를 주소의 네트워크 부분으로 사용했음을 나타냅니다. 다음을 각각 교체하십시오:

  • AdapterName – 대상 네트워크 어댑터의 이름 또는 인덱스 번호.
  • ServerAddress – 네트워크 어댑터에 추가 할 IPv4 주소.
  • GatewayAddress – 게이트웨이 주소는 IPv4 주소와 동일한 서브넷에 있어야합니다.
New-NetIPAddress -InterfaceAlias "[AdapterName]" -IPAddress [ServerAddress] -PrefixLength 24 -DefaultGateway [GatewayAddress]
Setting a new IP address and gateway

New-NetIPAddress cmdlet과 관련된 것은 Set-NetIPAddress입니다.기존 IP 구성을 변경하고, Remove-NetIPAddress은 구성을 삭제합니다.

3. 이제 다음 Set-DnsClientServerAddress 명령을 실행하십시오. 이 명령은 출력을 생성하지 않지만 DNS 서버를 변경합니다. AdapterName을 네트워크 어댑터의 이름(-InterfaceAlias) 또는 인덱스 번호(-InterfaceIndex)로 대체해야 합니다. 이 명령은 네트워크 어댑터의 DNS 서버를 Google의 공개 DNS 서버인 8.8.8.88.8.4.4로 설정합니다. 그러나 원하는 경우 유효한 DNS 서버 IP 주소를 지정할 수 있습니다.

Set-DnsClientServerAddress -InterfaceAlias "[AdapterName]" -ServerAddresses 8.8.8.8, 8.8.4.4

Set-DnsClientServerAddress cmdlet을 사용하면 하나 이상의 내부 또는 공개 DNS IP 주소를 할당할 수 있습니다.

4. 마지막으로 아래 Restart-NetAdapter 명령을 실행하십시오. 이 명령은 콘솔에 출력을 인쇄하지 않지만 네트워크 어댑터를 다시 시작하고 변경 사항을 적용합니다. 축하합니다! 이제 사용자 정의 구성으로 네트워크 인터페이스를 수동으로 구성했습니다.

Restart-NetAdapter -Name Ethernet

호스트에 어댑터가 하나만 있는 경우, 이 튜토리얼에서처럼 연결 방식에 따라 연결이 잠깐 끊길 수 있습니다. 새 IP 주소를 사용하려면 이 마지막 단계를 반드시 완료해야 합니다.

결론

네트워크 구성을 알고 있는 것은 건강한 네트워크를 유지하는 데 중요합니다. 좋은 소식은 PowerShell IP 구성 cmdlet에서 제공하는 네 가지 기본 네트워크 구성 명령에 대해 배웠다는 것입니다.

이 새롭게 얻은 지식으로 PowerShell IP 구성 능력을 활용하여 더 넓은 서버 구성 프로세스의 일부로 스크립트를 쉽게 작성할 수 있습니다.

다음은 무엇일까요? MTU 같은 고급 옵션을 조정하거나 더 많은 경로를 추가하거나 정적 주소 대신 DHCP를 사용하도록 어댑터를 재설정해 보는 것은 어떨까요?

Source:
https://adamtheautomator.com/powershell-ip-configuration/