First you'll probably want to disable named pipes as a protocol, and force connectivity over TCP/IP only.
After that, as you have an instance name specified, you'll need to open two firewall ports up. One for the SQL Browser Service, which tells SQL clients what port instances of SQL are running on, and one for SQL Server itself. The port named instances run on is random by default (hence the need for the browser service which listens on a fixed port), but you can change this to a fixed port.
You also need to make sure the SQL browser service is running in the first place.
You can also stick the port SQL is listening on into your connection string for the server specification, e.g. server\instance,port. This means you dint need the direct connection to the browser service.