Изменение политики DMZ и открытие портов обычно ДЕЙСТВИТЕЛЬНО сложно. Возможно, вы добьетесь большего успеха, выполнив то, что я сделал: выставьте службу WCF внутри сети и обменивайтесь данными с ней по HTTP через порт 80.
Нулевое трение с людьми из локальной сети, и я просто имитирую тот же точный (хотя и дрянной) API, который дает нам .NET:)
Изменить: чтобы уточнить, это означает, что у меня есть RemoteRoleProvider, который настроен следующим образом:
<roleManager enabled="true" defaultProvider="RemoteRoleProvider">
<providers>
<add name="RemoteRoleProvider" type="MyCorp.RemoteRoleProvider, MyCorp" serviceUrl="http://some_internal_url/RoleProviderService.svc" />
</providers>
</roleManager>