Which IP address do I use to access my server?
Your router's address, 10.242.x.x
, is also in a private-address range (all of 10.0.0.0/8
is reserved for LANs). This usually means your ISP implemented CGNAT and is sharing the same public 106.51.x.x
address between several customers. (Just like your home router does, but at a broader scope.)
In this situation, you don't actually have a public address and cannot access your network from the outside directly.
Your first option is to set up a VPN connection to some external server, which has its own public IP address and can forward connections back to your home network (via the VPN).
As a side note, even though Samba is less risky than Windows, it's still not a very good idea to expose SMB to the public Internet. Older protocol versions don't support encryption (SMBv3 does, but it requires Samba 4.7 or Windows 8), so you would risk revealing your passwords and file data.
If you go with the VPN approach, I would recommend to use the VPN not just for the main server↔home link, but also when you're accessing the server itself from public 4G/Wi-Fi. (There are mobile apps for strongSwan, OpenVPN, OpenConnect...) That way you'll have a secure connection and won't need any port-forwarding.