![端口转发 - KVM 主机将端口 23 转发到运行 ssh 服务的客户机的端口 22](https://linux22.com/image/741786/%E7%AB%AF%E5%8F%A3%E8%BD%AC%E5%8F%91%20-%20KVM%20%E4%B8%BB%E6%9C%BA%E5%B0%86%E7%AB%AF%E5%8F%A3%2023%20%E8%BD%AC%E5%8F%91%E5%88%B0%E8%BF%90%E8%A1%8C%20ssh%20%E6%9C%8D%E5%8A%A1%E7%9A%84%E5%AE%A2%E6%88%B7%E6%9C%BA%E7%9A%84%E7%AB%AF%E5%8F%A3%2022.png)
我有一个带有多个虚拟机(客户机)的 KVM 服务器(主机)。
我的目标是将主机的端口 23 转发到运行 ssh 服务的客户机的端口 22。
命令示例...
ssh root@[HOST_IP] -p 23
注意:这是我在主机上用来进行端口转发的命令......
firewall-cmd --permanent --add-forward-port=port=23:proto=tcp:toaddr=[GUEST_IP]:toport=22
firewall-cmd --reload
注二:我知道 ssh 本身提供了实现这一点的方法,但我真的希望这个过程对用户来说是“透明的”,以便直接访问客户机。
注三:我需要对其他端口(例如 389)执行类似的过程,以便寻找在其他类似情况下有效的过程。
谢谢!=D
更新一:
目前...
ssh root@[HOST_IP] -p 23
...命令返回以下错误...
ssh:连接到主机 172.16.13.8 端口 23:连接被拒绝
更新二:
答案1
使用 KVM (libvirt) 和“默认网络”(virbr0) 进行端口转发的“唯一”方法是使用 @Antony Nguyen 告知的 hack/workaround。或者更简单地说,你可以使用libvirt-hook-qemu。
这个线程完整地解释了如何使用 libvirt-hook-qemu 解决 CentOS 7(当然还有其他发行版)的这个问题:https://superuser.com/a/1475915/195840。