kvm のポート転送経由でホスト (fedora) からゲスト OS (openBSD) に ssh 接続できない

kvm のポート転送経由でホスト (fedora) からゲスト OS (openBSD) に ssh 接続できない

ゲストOSはIPアドレス192.168.122.217で実行されています。このIPアドレス経由でマシンにSSH接続できます。

[kabira@linux ~]$ ssh  [email protected] 
[email protected]'s password:

しかし、ポート 4567 を 192.168.122.217:22 に転送すると、どのファイアウォール ルールを適用しても接続できません。次の操作を実行しました。

  • openBSDのファイアウォールをオフにしました
  • ファイアウォールに次のルールを追加しました --- 4567 を 192.168.122.217 に転送します (tcp と udp の両方) --- 192.168.122.217 と 192.168.0.183 からのすべてのポートを許可します"

list-all コマンドで以下のように表示されます。

FedoraServer (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources: 
  services: cockpit dhcpv6-client mdns ssh
  ports: 5901/tcp
  protocols: 
  forward: yes
  masquerade: no
  forward-ports: 
        port=4567:proto=tcp:toport=22:toaddr=192.168.122.217
        port=4567:proto=udp:toport=22:toaddr=192.168.122.217
  source-ports: 
  icmp-blocks: 
  rich rules: 
        rule family="ipv4" source address="192.168.0.183" port port="4567" protocol="tcp" accept
        rule family="ipv4" source address="192.168.0.183" accept
        rule family="ipv4" source address="192.168.122.217" accept
        rule family="ipv4" source address="192.168.0.183" port port="4567" protocol="udp" accept
        rule family="ipv4" source address="192.168.0.107" port port="5432" protocol="tcp" accept
        rule family="ipv4" source address="192.168.0.1/24" port port="4567" protocol="tcp" accept

ポート 4567 の 192.168.0.183 に接続しようとすると、すぐに接続が拒否されます。

iptables ルールも追加しましたが、これも機能しませんでした。

答え1

ゲストOSでサービスを実行している場合、NATを使用するのは最善の策ではありません。ブリッジネットワークを使用するのが最善です。ただし、設定がはるかに困難です。ブリッジネットワークを使用すると、ゲストOSのIPがLAN上で利用可能になります。私はこれを見つけました。https://linuxconfig.org/how-to-use-bridged-networking-with-libvirt-and-kvmこれに関する最も包括的なステップバイステップのガイドになります。

関連情報