Port 80 is for web servers, port 631 is CUPS' web server, and port 646 has nothing to do with Printing that i'm aware of. i.e., none of these are going to allow you to forward a printer through a firewall.
Try forwarding Port 9100 and mapping the printer as a JetDirect device. Brother's have supported JetDirect for quite some time (I map mine that way).
In Windows, adding is different:
Add Printer -> Local Printer Attached...
(Uncheck auto detect) -> Select Create New Port
, choose Standard TCP/IP Port
-> Enter hostname, Port Name
is abstract and can be anything (within reason) -> Select proper printer driver -> Done, Profit. Everything else should be standard options.
As long as you're forwarding 9100, in theory that should work...
If you're trying to get Windows printer sharing to work through NAT and a typical ISP, you're just opening yourself up to leagues of problems.
Just tested this with my Brother 2070 and a friend a couple of hundred miles away, worked great for us with just Port 9100 going through the firewall to the printer. YMMV.
Im currently at home while trying it. I just do not use the local IP but the dynamic DNS entry. – RoflcoptrException – 2011-09-06T19:07:22.213
Are you still appending the port to the request, i.e. mydomain.com:631 ? – Joshua – 2011-09-06T19:37:03.057
1Due to abuses when Windows 98 was out most ISPs block file and printer sharing, but you can still try, you may get lucky. – Scott Chamberlain – 2011-09-06T20:43:21.360
@Josh yes I do @ Scott Chamberlain Ah I see, but isn't there a way to cirumstance it? – RoflcoptrException – 2011-09-07T18:33:41.660
@Roflcoptr - in answer to your "circumvent" question, see my answer updated. – Joshua – 2011-09-07T19:12:30.303
1>
ping
ports. you can ping addresses, and you can test ports using telnet, you can use nmap to scan for them, etc., but you don't ping them. 2) ISPs don't routinely filter traffic. It is prohibitive for them to enact firewalls on anything other than their private, internal systems. Even if they did, none of the ports the OP mentioned were file and printer sharing ports.@peelman - agreed. I use the term "ping" rather loosely. Good answer btw - you went the distance (I pun :)) and even tested it! – Joshua – 2011-09-08T02:28:26.690
colloquially, I use it loosely too ("I sent him a ping", referring to pretty much any form of contact). but when depicting something technical I'm picky, especially here where you never really know people's knowledge level, not just the OP but those who come later via searches. – peelman – 2011-09-08T03:25:37.110