%20%E3%81%8B%E3%82%89%E3%82%B2%E3%82%B9%E3%83%88%20OS%20(openBSD)%20%E3%81%AB%20ssh%20%E6%8E%A5%E7%B6%9A%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84.png)
ゲスト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これに関する最も包括的なステップバイステップのガイドになります。