仮想マシンにリモートアクセスするには、ホストPCとのブリッジ接続にしたり、TailscaleでVPNを構築する方法がありますが、NAT内で動作している仮想マシンもホストPCとは通信できるので、一時的に試すだけなら、ホストPCへのリモートアクセスを、仮想マシンへ転送するという手があります。
転送するルールを設定する
たとえば、下記の例では仮想マシンのIPアドレスが192.168.122.214の場合の例です。またポート番号も空いている番号なら何でもよいのですが、ここでは分かりやすいように13389番としています。
ホストの13389番をゲストの3389番へ転送
NATルールとFORWARDルールを追加します。
sudo iptables -t nat -A PREROUTING -p tcp --dport 13389 -j DNAT --to-destination 192.168.122.214:3389
sudo iptables -I FORWARD -m state --state NEW -m tcp -p tcp -d 192.168.122.214 --dport 3389 -j ACCEPT
これで、リモートデスクトップアプリなどでホストPC:13389へアクセスすれば、仮想マシンに接続出来るはずです。

設定を保存する
iptablesコマンドで実行した変更は、再起動すると消えてしまいます。一時的に試すだけなら、これが便利でしょう。もし、今後も永続的に設定を行うなら次のコマンドを実施します。
sudo netfilter-persistent save
設定したルールの確認方法
まずは、ルールが正しく適用されているか確認します。iptables はテーブル(-t)ごとに管理されているため、NATとFORWARDの両方を確認する必要があります。
NATテーブルの確認(PREROUTING)
sudo iptables -t nat -L PREROUTING -n -v --line-numbers
FILTERテーブルの確認(FORWARD)
sudo iptables -L FORWARD -n -v --line-numbers
-n: IPアドレスやポートを名前解決せず数字で表示(速い)。-v: パケット数などの詳細を表示。--line-numbers: 重要。 削除時に使う「行番号」を表示します。
ルールの削除方法
削除には2つの方法があります。
方法1:行番号を指定して削除
確認コマンドで表示された行番号(num)を使って削除します。これが最も確実です。
NATルール(13389番ポート)を消す場合(例:行番号が1番だった時)
sudo iptables -t nat -D PREROUTING 1
FORWARDルールを消す場合(例:行番号が1番だった時)
sudo iptables -D FORWARD 1
方法2:コマンドラインで直接指定して削除
追加した時のコマンドの -A や -I を -D (Delete) に置き換える方法です。
sudo iptables -t nat -D PREROUTING -p tcp --dport 13389 -j DNAT --to-destination 192.168.122.214:3389
sudo iptables -D FORWARD -m state --state NEW -m tcp -p tcp -d 192.168.122.214 --dport 3389 -j ACCEPT
