This is what the nmap docs say about the filtered state

filtered Nmap cannot determine whether the port is open because packet filtering prevents its probes from reaching the port. The filtering could be from a dedicated firewall device, router rules, or host-based firewall software...

The only way to find out what is doing the filtering is to know what 'machines' are between you and the remote target.

This can be achieved using a route trace utility, which attempts to determine hosts between you and the target using special TCP packets. In your case the command might look something like:

traceroute 10.1.1.1

Once you know the machines between you and the target, you investigate the configuration of each to find out if it is filtering and if so how.