How to share a Linux served printer with a Windows 11 client.
IPP
IPP stands for Internet Printer Protocol, it's a protocol we can use to communicate with printers over the internet or the local network using HTTP. It's been around since 1996 so it's pretty solid.
This is also the standard way you can share your printer over the local network if you have a Linux server; in my case I have a OpenSUSE Tumbleweed computer that I use for my daily task (such as writing this blog).
Serve an IPP Printer.
First, you want to connect your USB printer to your OpenSuse machine, the OS should detect it automatically and install it. You should be able to see your printer in the Settings > Printers menu. If you don't then make sure you Add it via the button on the same menu (root password needed). Once that's done, you should be able to visit the IPP control panel which is in localhost:631.
Go ahead and go to http://localhost:631/admin, you will be asked by user and password, in the user, put root and in the password use your root password.
There you have a control panel to manage your pinters, click in your Manage printers, choose your printer and then go into the second drop down menu and choose 'Put as default printer'. Then go back to the /admin page and in the selectable menu on the right, check the Share printer mark, also make sure to mark the 'Broadcast web interface' check.
Now this printer should be shared. To test if this is true, go into your client computer and tryu to browse http://<your_server_ip>:631/admin if the CUPS control panel displays, you're good to go.
Otherwise, make sure you open your port 631 outbound from the server and inbound in the client. To make sure, allow inbound and outbound traffic from this port in both computers.
On the windows side.
Now we want to install the printer on Windows client, to do this, go into the printer installation wizard, but choose the option for "Printer not in list" to go into the manual installation flow; here we will choose the option for Select a shared printer by name, you will very likely not find it if you click Browse, so I recommend you to manually type the ipp adress:
For example : ipp://192.168.101.216:631/printers/L220-Series.
Finally, choose the printer driver that matches your printer model and you should be good to go.