Category: Networking

Microsoft Windows 10 – False Duplicate IP Address Detected

At my existing employer, it was brought to my attention that a number of VMware virtual machines running the Microsoft Windows 10 operating system were randomly dropping off the network, upon reboot. Viewing the properties of the network adapter confirmed that they were assigned static IP addresses. However, running ipconfig from the command prompt showed that they were assigned 169.254.x.x IP addresses.

Upon reviewing the logs I found the following error message: “The system detected an address conflict for IP address 0.0.0.0 with the system having network hardware address XX-XX-XX-XX-XX-XX. Network operations on this system may be disrupted as a result.” The XX-XX-XX-XX-XX-XX is the MAC address of a Cisco switch.

In summary, the root cause of this is Windows 10 performing an ARP probe at the time as the Cisco switch performing an ARP probe in order to maintain the IP device-tracking cache during IP device tracking. The Windows 10 host believes another node on the network is probing the address it’s assigned and must treat it as an IP address conflict.

The solution is to disable gratuitous ARPs on the switch or in the Windows 10 operating system. We chose to disable the gratuitous ARP in the Windows 10 operating system.

Additionally, more information may be found using the links below.


Microsoft Windows PowerShell – DHCP Logs

You may use the following Microsoft Windows PowerShell cmdlet to view the last one hundred lines of a Microsoft Windows Server DHCP server log for a particular Internet Protocol (IP) address. This may be useful when you are troubleshooting DHCP errors in Microsoft Windows Server.

Get-Content DhcpSrvLog-Mon.log | Select -Last 100 | Select-String -Pattern “X.X.X.X” -encoding ASCII


Domain Name System – Propagation

I recently decided to test a Domain Name System (DNS) provider expansion with GoDaddy and  ClouDNS (link here) for a proof of concept using the domain name noelalvarez.org. The initial configuration and testing were successful. However, after I made the decision to host all DNS service with GoDaddy (again, it was a proof of concept) I found a large quantify of name server around the globe contained name server (NS) records for noelalvarez.org with entries pointing to ClouDNS name servers (ns21.cloudns.net, ns22.cloudns.net, ns23.cloudns.net, and ns24.cloudns.net) using Whats My DNS? (link here). I found this odd due to the fact that the GoDaddy DNS management interface only contained (2) NS records (ns57.domaincontrol.com and ns58.domaincontrol.com) which are the authoritative for the domain noelalvarez.org and the ClouDNS name servers are no longer hosting zone files or responding to DNS queries for noelalvarez.org. Additionally, the Time to Live (TTL) was a maximum of (1) hours. So, I didn’t expect to find inconsistencies days later.

So, what could be causing the lack of synchronization in the NS records (remember, DNS is a distributed and hierarchial system by nature)? Upon basic troubleshooting I found that the GoDaddy name servers ns57.domaincontrol.com and ns58.domaincontrol.com did not contain the same NS records for noelalvarez.org using the nslookup utility (please see the screen shots below). I have contacted GoDaddy support and they have provided me with assurance that they will manually delete the NS records of ns21.cloudns.net, ns22.cloudns.net, ns23.cloudns.net, and ns24.cloudns.net from ns57.domaincontrol.com.


Microsoft Windows PowerShell – nslookup Configuration

You may use the following commands at a Microsoft Windows PowerShell to configure a default domain name system (DNS) server, for that instance, as well specify the type(s) of DNS records to resolve. This may be used for daily support of DNS.

  1. nslookup
  2. server <<<IP ADDRESS>>>
  3. set type=<<<DNS RECORD>>>
  4. domain.com

For example, if you wanted to configure the nslookup session to utilize a Google public DNS server (google-public-dns-a.google.com) and query the domain google.com for all DNS records you would enter the following commands.

  1. nslookup
  2. server 8.8.8.8
  3. set type=all
  4. google.com

Additionally, more information may be found using this link.


Microsoft Windows Server 2012 R2 – Verify Network Interface Card Status

You may use the Microsoft Windows PowerShell script below to verify the network interface card (NIC) status on servers running the Microsoft Windows Server 2012 R2 operating system. Additionally, the output of the script will be displayed in a graphical user interface (GUI).

<#
.SYNOPSIS
This script will verify the network interface card status of the selected servers.
.DESCRIPTION
This script will automate the process of verifying the network interface card status of the selected servers.
.EXAMPLE
N/A.
.AUTHOR
Written by Noel Enrique Alvarez on Thursday, August 05, 2016.
#>

#Verify the network adapter status of the branch servers
Get-NetAdapter -CimSession (Get-Content “C:\Scripts\Branch Servers.txt”) -Name NIC1, NIC2 | select SystemName, Status, MediaConnectionState | Out-GridView -Title “Network Adapters”

#End of script

 


Telnet – Testing Network Ports

You may use the command below, in the Windows command prompt or Windows PowerShell, to verify network ports are open on a specific host in your network. The example below is verifying that port Transmission Control Protocol (TCP) port 80 is open on Internet Protocol (IP) address 192.168.1.1.

Syntax: telnet <<<HOST>>> <<<PORT>>>
Example: telnet 192.168.1.1 80


Microsoft Windows Server 2012 R2 – Dynamic Host Configuration Protocol (DHCP) Export and Import

You may use the following commands to export and import a Dynamic Host Configuration Protocol (DHCP) configuration for a server utilizing Microsoft Windows Server 2012 R2.

netsh dhcp server dump > dhcpconfig.dmp
netsh exec dhcpconfig.dmp

Enjoy!

 


Microsoft Windows Server 2012 R2 – Configure NIC Teaming

You may use the Microsoft Windows PowerShell (.ps1) script below to configure NIC teaming in Microsoft Windows Server 2012 R2. Additionally, you may modify the script to meet the needs of your specific environment.

<#
.SYNOPSIS
This script will configure NIC1 and NIC2 to (1) Gbps Full Duplex, disable NIC3 and NIC4, create NIC Team 1 and configure NIC Team 1 TCP/IP settings.
.DESCRIPTION
This script will automate the configuration of Microsoft Windows Server 2012 R2 NIC Teaming.
.EXAMPLE
N/A.
.AUTHOR
Written by Noel Enrique Alvarez on Tuesday, November 10, 2015.
#>

#Request the Internet Protocol (IP) address of the server
$IP_Address = Read-Host “What is the Internet Protocol (IP) address of the server?”

#Configure NIC1 and NIC2 to 1 Gbps Full Duplex
Set-NetAdapterAdvancedProperty NIC1 -DisplayName “Speed & Duplex” -DisplayValue “1.0 Gbps Full Duplex”
Set-NetAdapterAdvancedProperty NIC2 -DisplayName “Speed & Duplex” -DisplayValue “1.0 Gbps Full Duplex”

#Disable NIC3 and NIC4
Disable-NetAdapter -Name “NIC3” -Confirm:$false
Disable-NetAdapter -Name “NIC4” -Confirm:$false

#Create NIC Team 1
New-NetLbfoTeam -Name “Team 1” -TeamMembers NIC1,NIC2 -TeamNicName “TEAM 1” -TeamingMode SwitchIndependent -LoadBalancingAlgorithm Dynamic -Confirm:$false

#Configure NIC Team 1 TCP/IP settings
Get-NetAdapter -Name “Team 1” | Set-NetIPInterface -DHCP Disabled
Start-Sleep 5
Get-NetAdapter -Name “Team 1” | New-NetIPAddress -AddressFamily IPv4 -IPAddress $IP_Address -PrefixLength “XX” -Type Unicast -DefaultGateway “X.X.X.X”
Set-DnsClientServerAddress -InterfaceAlias “Team 1” -ServerAddresses “X.X.X.X”, “X.X.X.X”

#End of script


Cisco – Delete All VLANs

You may use the following global configuration command to remove VLANs 2-1001 on a Cisco switch. This range is chosen because VLANS 1, 1002, 1003, 1004 and 1005 cannot be removed from a Cisco switch. This command may be used when a switch’s configuration needs to be deleted, in addition to erase startup-config, for a new deployment.

switch-01(config)#no vlan 2-1001


Microsoft Windows Server 2012 R2 – Network Time Protocol Configuration

You may use the following Microsoft Windows PowerShell commands, as an administrator, to configure the network time protocol (NTP) servers for Windows Server 2012 R2 and sync a Windows client, such as Microsoft Windows 7, to the server. This example is using the well known NTP servers from the NTP Pool Project.

  • Server Configuration:
    • w32tm /config /manualpeerlist:”0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org 3.pool.ntp.org” /syncfromflags:MANUAL
    • Stop-Service w32time
    • Start-Service w32time
  • Client Configuration:
    • w32tm /resync