Solution
To communicate with a CompactRIO (depending on what you application needs to do) you must open the following ports :
- MAX Hardware Identification - UDP 44515, UDP 44525, TCP 44516
- Ethernet Target Device Discover - UDP 44525, UDP 5353
- LabVIEW RT TCP front panel connections - TCP 3079
- NI Service Locator - TCP 3580
- Using LabVIEW Web Server - TCP 8080
- NI VISA Server - TCP 3537
- FTP server - TCP 20, TCP 21
- Synchronization (NTP, SNTP) - TCP 123
- Network Shared Variables and Network Stream - TCP 2343, UDP 6000-6010, TCP 59110 and above (one port for each application running on the server)
- NI-RIO server for remote FPGA communication - uses dynamic port by default. The port can be checked on http://<cRIO IP address>:3580/dumpinfo on the NI-RIO row under the "mappings" token. This will change with every server restart or reboot. To set an static port, you can modify the file /var/lib/nirio/ini/nirio.ini (by default this file does not exist, you can create it under the ini directory)and add the following token:
[General]
RpcServerPort=yourPortNumber
It's possible to collect this information from this guide
Configuring Software and Hardware Firewalls to Support NI Products