I would suspect your firewall rules on the RBM33G to block ssh access and icmp response via the /interface ovpn-client. If you can’t see it there on your own, follow the hint in my automatic signature.
It has nothing to do with your topic but I have to start from this because it is critical. Empty firewall rules on a machine which is connected to internet are a very bad idea (if you don’t get a public IP on your internet uplink, it is just a bad idea). The reason is that Mikrotik’s default handling in /ip firewall filter is accept, so without any firewall rules, access to management is open via all services (not only ssh but also all the other ones, including the plaintext ones with none or ridiculously weak protection of password authentication - telnet and http), and also access to devices on Mikrotik’s LAN is open if the attacker knows or can guess their addresses.
The firewall part of the default configuration is safe against the filth trying to barge in through the WAN door and neatly composed so I recommend you to use it; it follows the philosophy of “zone firewall” where zones are implemented using /interface list. It is also beginner-friendly in terms that whatever comes in via an interface which is NOT on interface list WAN is accepted (which instantly becomes a security hole as soon as you start adding your own WAN interfaces and don’t add them as /interface list member of interface list WAN).
What you have to do depends on how you use the VPN:
if it is some public service providing you with a public IP, so the SSH client is on somewhere else in the internet, you need the OpenVPN tunnel to become the default route of the Mikrotik as soon as it gets up; to do that, you set the add-default-route of the /interface ovpn-client to yes, and also set the default-route-distance in the /interface ppp-client to something higher than 1. But before doing that, you have to add a static route to the VPN server’s IP via the LTE interface, otherwise the OpenVPN’s transport packets would also be routed into the OpenVPN tunnel interface rather than delivered to the server.
In this case, there are two additional points:
most public VPN services block incoming connections to the public IPs they assign to their clients (because it is not their purpose and because they need to recycle the public IPs or even share them among several clients), so you may be unable to SSH to your router for this reason,
if the incoming connections to the public address are permitted, you have to place the interface to the interface list WAN and only permit access to the services in your network which really need to be accessible from outside, such as SSH to the Mikrotik itself by allowing access to TCP port 22 in chain=input of the firewall
if you use the VPN the traditional way, to build a secure link between two private networks, it is enough to add routes to all remote subnets which you need to access via the OpenVPN tunnel. If you have multiple subnets behind the Mikrotik and want to access hosts in these subnets from the server side, you have to inform the OpenVPN server about their availability va that client using the iroute directive in the openvpn configuration file on the server in addition to adding routes to them via openvpn’s tunX interface into the server’s kernel routing table.
But I would expect the client to have a faulty status in that case.
current:
keepalive 10 120
# comp-lzo no
# push "comp-lzo no"
user nobody
group nogroup
previous:
keepalive 10 60
comp-lzo no
push "comp-lzo no"
user myuser
group mygroup
Regarding the firewall rules, you are absolutely right, and gave me some important points.
At the moment I am working on a POC but when it’s done we will definitely harden the board
Glad you’ve found it. However, if this was enough to fix the problem, then you must be connecting to the Mikrotik using SSH from the OpenVPN server itself. An attempt to connect from any other network would have had to fail due to the absence of the at the client. The typical trouble into which people run is that they don’t forget to set up the default route via the VPN tunnel but they forget to set up the individual route to the VPN server.
It’s a question whether the client has a possibility to find out in advance that the server will send lzo-compressed packets.
So you are setting up the POC in a closed network environment, i.e. your ppp-client doesn’t actually connect to an ISP but to some test ppp server?