Keeping the source IP intact means you'll have troubles routing back the traffic through host B.
Basically host A won't be able to access the internet without going through B, which could not be what you want.
Here's how it works:
On host A:
add a /32 route to host B public IP through your local ISP gateway (eg. 192.168.1.1)
setup a wireguard tunnel between A and B
host A: 172.17.0.1/30
host B: 172.17.0.2/30
add a default route to host B wireguard IP
On host B:
setup wireguard (same config)
add PAT rules to the firewall so to DNAT incoming requests on the ports you need to 172.17.0.1
add an SNAT masquerade rule so all outbound request from 172.17.0.1 are NATed with host B public address.
This should do what you need.
However, if I may comment it out, I'd say you should give up on carrying the source IP address down to host A. This setup I described is clunky and can fail in many ways. Also I can see no benefits of doing that besides having "pretty logs" on host A. If you really need good logs, I'd suggest setting up a good reverse proxy on host B and forwarding it's logs to a collector on host A.
OpenBSD is the most pleasing expérience I've had with an OS. It's fully contained and has all the tools you need without needing to install anything (eg a DNS, HTTP, SMTP servers, a proxy, a good firewall).
All config files look alike and use the same keywords for the same things, making it straightforward to configure everything.
And regarding RAID 1, I've never done it myself, but it totally works out of the box (as well as full disk encryption).
The thing is, this layout moves symbols to places that are much easier to remember (~ is altgr+n, ç is altgr+c, $ is altgr+d, parenthesis/brackets are next to each other, etc...)
I got used to it very quickly because the new placement makes sense, and the fact you only have to remember symbols and not alphanum chars helps a lot.
Definitely worth trying IMO.
Did you know about the New AZERTY ? I've been using it for a few years now and it's definitely a great improvement, while remaining compatible enough with the standard one so you are not lost when you use a colleague's setup.
I used arch for a couple years, then crux for over 10 years, so I though Void would be a great distro when the systemd drama occured.
Tried that, and noped the hell out of it...
creating/maintaining packages is a pain
the dev team was awful with newcomers
system couldn't handle more than a couple weeks without updates
it's an arch wannabe that doesn't admit it, making it a worse alternative
Looks like you shouldn't ask for anything at all, given that you cannot take a single answer without being a condescending jerk.
I'm not affiliated to cyberia.is in any mean by the way just proposing a service that you could use to solve your problem if you were not too busy being a douchebag.
Keep in mind that using your own VPS as a VPN doesn't bring anonymity. You're simply replacing one IP tied to your name (your ISP) with another one (your VPS).
You hide your traffic from your ISP, and delegate it to your VPS provider.
This will be the same for your DNS. If you want true anonymity regarding DNS, you should use someone else's service, preferably over encrypted channels, eg. cyberia.is DoT.
I personally use it as a forwarder from a box inside my home (along with others), and use this box as the local DNS when I'm home. This way I know that all DNS traffic is encrypted, and doesn't leak anything to my ISP or VPS or whatever.
Do you set the wallpaper from your profile ?
I've only tried 9 on a remote system but image handling was painfully slow so I gave up on setting the wallpaper from the Rio theme. Maybe that's faster locally on bare metal ?
I tried but got an error:
Is it expected ? Did I type something wrong ? I'm confused...