There are many ways to interpret "...one with FreeBSd and one with Windows and HP business inkjet 300" so I will ask, again, about your local network.
How is the printer connected to your network? Through a USB connection on the Windows workstation? Via an Ethernet connection to the D-Link router? Please clarify. If the latter, the device will have an IP address on your local network, and if the printer is assigned address 192.168.0.100, you have opened access to your printer from the Internet. I say this because your "Virtual Server as is described in the manuals" appears to me to be port forwarding, and TCP port 9100 is used by HP on their network attached printers for
JetDirect services.
I cannot tell, from what you have posted so far, if this is true, of course. What I actually know for certain, now, is that NAT is being used, as I'd assumed would be the case. That, unfortunately, is all I actually know. More information about your LAN and its configuration, related to the printer, would be helpful.