The reports are sent to the dashboard by the puppet master, not by the agent.
Make sure the Master can access 192.168.1.101:3000 (is there a firewall)?
Make sure you haven't overridden anything important (such as the report option) at environment level in your puppet.conf
Make sure the Dashboard upload web service is running on port 3000.
Check the puppet server auth.conf to make sure you have
path /report
auth yes
method save
allow *
If you have added authentication to your dashboard HTTP server on port 3000, then the report upload will fail (as you cannot configure authentication for the report uploads). In this case, you need to change the reporturl to (EG) port 3001, then add a separate HTTP virtualhost for this port that is restricted to just the puppetmaster(s).
puppet.conf example:
reporturl = http://puprepprd01.its.auckland.ac.nz:3001/reports/upload
Apache example:
Listen 3001
<VirtualHost *:3001>
ServerName puprepprd01.its.auckland.ac.nz
DocumentRoot /usr/share/puppet-dashboard/public/
<Directory /usr/share/puppet-dashboard/public/>
Options None
AllowOverride AuthConfig
Order allow,deny
allow from pupappprd01.its.auckland.ac.nz
allow from pupappprd02.its.auckland.ac.nz
allow from pupappdev01.its.auckland.ac.nz
deny from all
</Directory>
LogLevel warn
ErrorLog /var/log/httpd/dashboard_error.log
CustomLog /var/log/httpd/dashboard_access.log combined
ServerSignature On
</VirtualHost>
If still having issues, check the logs on your puppetmaster and dashboard servers; both the puppet logs and the http logs. Are connections coming in and being rejected?