Check the NAT for a Stolen Gateway IP First
The Ignition device status sits at ReconnectWait. RSLinx on your desk PC browses the same CompactLogix through the same Moxa NAT-102 without trouble. Neither the Ignition logs nor the Moxa logs show anything useful.
Start here. Open the NAT-102 IP configuration and look for a secondary IP on the public side. In the confirmed case, the NAT had created a secondary IP that matched the Ignition gateway server's own address. Removing that entry brought the connection up right away.
The NAT translation itself was working. The driver settings were correct. The fault was an IP conflict.
Read the Symptoms Before Touching the Driver
Reference installation:
- PLC:
1769-L30ER, firmwarev32.11 - NAT: Moxa
NAT-102, firmware1.00 - Private (PLC) network:
10.10.10.x. PLC at10.10.10.5 - Public (shopfloor) network:
10.0.49.x. PLC translated to10.0.49.128 - Ignition Allen-Bradley Logix Driver pointed at
10.0.49.128, all other settings default, port44818 - Gateway and NAT on the same subnet and VLAN
- Other L3x PLCs behind units on the same network work fine with the same driver settings
| Symptom | Likely cause | First check |
|---|---|---|
RSLinx connects from one PC. Ignition stuck in ReconnectWait
|
Problem is specific to the gateway's source IP: an IP conflict or a NAT filter on that address | Search the NAT config for the gateway IP |
No host on the public side reaches 10.0.49.128
|
1:1 NAT mapping wrong, or the PLC default gateway is not the NAT private IP | Ping the translated IP from any public host |
Ping works, TCP 44818 fails from the gateway only |
Firewall rule on the NAT, or return traffic diverted | Port test plus packet capture on the gateway |
| Gateway server loses other connections intermittently | Duplicate IP: another device answering ARP for the server address | ARP table on a neighbour host |
Ignition entered the private IP 10.10.10.5
|
Wrong side of the NAT | Use the translated public IP |
The first row is the pattern to recognize. If one client works and another does not, and the driver config matches known-good units, stop editing the driver. That is not the fault.
Understand Why RSLinx Works and Ignition Does Not
RSLinx and the Logix Driver both open an EtherNet/IP session on TCP 44818. On the wire they look the same except for the source IP. So a failure that follows one client points at that client's address, not at the protocol.
Here is the traffic path:
- The gateway sends a TCP SYN to
10.0.49.128:44818. - The NAT-102 rewrites the destination to
10.10.10.5and forwards it to the PLC. - The PLC replies. The NAT rewrites the source back to
10.0.49.128and must deliver the SYN-ACK to the gateway's IP on the public segment.
If the NAT also holds the gateway's IP as a secondary address, step 3 breaks. The NAT treats the reply as addressed to itself. It may also answer ARP for that IP, so the switch and other hosts send gateway-bound frames to the NAT's MAC. Either way the SYN-ACK never reaches the Ignition server.
The driver sees a connect timeout, drops to ReconnectWait, retries, and fails again in a loop. No session is ever established, so nothing application-level gets logged. The NAT also logs nothing, because it is not dropping the traffic as a firewall event. It is consuming it as its own.
Your desk PC is unaffected because the NAT never claimed its address.
Run the Diagnostic and Fix Sequence
Work in this order. The early steps take minutes and separate path problems from address problems.
-
Prove reachability from the gateway host itself, not your desk. Ping
10.0.49.128from the Ignition server. Then test TCP44818: on Windows useTest-NetConnection 10.0.49.128 -Port 44818, on Linux usenc -vz 10.0.49.128 44818. A failed or erratic result here while your desk PC succeeds confirms a source-specific fault. -
Check ARP from a neighbour host. On another machine in
10.0.49.x, ping the Ignition server, then runarp -a. Compare the MAC listed for the gateway IP with the gateway's real NIC MAC. If it resolves to the Moxa's public-side MAC, you have found the conflict. -
Check ARP on the gateway. Run
arp -aon the Ignition server and confirm that10.0.49.128resolves to the NAT-102's public MAC. Also look for a duplicate-address warning in the server OS event log. - Inspect the NAT-102 IP settings. In the web console, list every IP assigned to the public interface: primary, secondary or alias, and any NAT or virtual IP entries. Any address other than the NAT's own IP and the intended translated IPs is suspect. An entry equal to the Ignition gateway IP is the fault.
-
Capture if steps 2-4 are inconclusive. Run Wireshark on the gateway with filter
tcp.port == 44818. Outbound SYNs with no SYN-ACK back point to a diverted return path. A SYN followed by an RST points to a filter rule on the NAT. - Remove the rogue secondary IP. Delete the entry, then save and apply the NAT configuration.
-
Flush stale ARP. Run
arp -d *(elevated) on the gateway and affected hosts, or wait for the ARP entries to age out. Clear the MAC table on the switch port if the switch holds the old binding. - Restart the device connection. Disable and re-enable the device in the Ignition gateway so it opens a fresh session rather than waiting out its retry timer.
Verify the Connection Holds
- Device status in Ignition changes from
ReconnectWaitto connected, and tags from the1769-L30ERreturn good quality. -
arp -aon a neighbour host shows the gateway IP bound to the gateway's own NIC MAC. - The port test to
10.0.49.128:44818succeeds from the gateway host. - RSLinx from the desk PC still connects. Both clients hold sessions at the same time.
- Power-cycle the NAT-102 and check the IP list again. If the secondary IP comes back after reboot, the fix did not stick and the unit is regenerating it.
Avoid the Fixes That Waste Time
-
Tweaking Logix Driver settings. Default settings on port
44818work for L3x controllers. Driver settings that match working installs rule out the driver. -
Entering the private IP in Ignition. The gateway lives on the public side, so it must target the translated address (
10.0.49.128), never10.10.10.5. - Trusting "same subnet and VLAN." Sharing a subnet guarantees nothing if another device answers for your IP. Verify the MAC, not just the subnet.
- Hunting in the logs. An IP conflict produces no Ignition device errors beyond the retry state and no NAT firewall entries. Go to ARP and packet capture instead.
- Copying a NATR config line by line. Different NAT products manage public-side addresses differently. Audit the Moxa's full IP list on its own terms.
- Leaving addressing undocumented. Record every public IP the NAT owns, including the translated PLC addresses, in your IP plan, and exclude them from any DHCP scope. This prevents the reverse conflict, where a server takes an address the NAT already claims.
-
Running the NAT on its initial firmware. The unit here ran
1.00. Check Moxa's download page for later NAT-102 firmware and its release notes before you commission more units.
Stop and escalate to Moxa technical support if the secondary IP reappears after deletion and reboot, or if you cannot find any setting that explains why it was created. Send them the configuration export, the firmware version, and your ARP and packet-capture evidence.
FAQ
What happens if a Moxa NAT-102 has a secondary IP matching the Ignition gateway?
The NAT consumes or diverts return traffic addressed to the gateway, so the TCP 44818 handshake never completes. The Logix Driver cycles in ReconnectWait, while clients at other IPs, such as an RSLinx PC, keep connecting normally.
What happens if I enter the private PLC IP instead of the translated IP in Ignition?
The connection fails, because a gateway on the public network (10.0.49.x in this case) has no route into the private 10.10.10.x side. Point the driver at the 1:1 translated address, for example 10.0.49.128.
What happens if the rogue secondary IP returns after a NAT-102 reboot?
The conflict and the ReconnectWait loop come back as soon as ARP caches refresh. Capture the configuration export and your ARP evidence, check for newer firmware than 1.00, and open a case with Moxa technical support.