kvm虚拟机配置NAT端口转发的实现方法

 更新时间:2022年06月22日 09:22:25   作者:木一明  
为了避免虚拟机的IP地址和内网网段冲突,kvm采用的是NAT模式,而非桥接模式,而kvm的转发,需要使用Linux的iptables工具来实现,下面通过本文给大家介绍kvm虚拟机配置NAT端口转发的实现方法,感兴趣的朋友一起看看吧

1. 概述

在内网一台物理机部署了kvm虚拟化环境。为了避免虚拟机的IP地址和内网网段冲突,kvm采用的是NAT模式,而非桥接模式。因此在本地访问kvm虚拟机时,必须用物理机来实现转发,才能登录到虚拟机。而kvm的转发,需要使用Linux的iptables工具来实现

2. iptables创建规则

先创建虚拟机,比如创建一台虚拟机node98,其ip地址是192.168.80.98,我想在本地访问node98的22端口,是无法实现的。所以需要进行以下操作:

iptables -t nat -A PREROUTING -p tcp --destination 192.168.212.93 --dport 2298 -j DNAT --to-destination 192.168.80.98:22
iptables -t nat -A POSTROUTING -p tcp --dport 22 -d 192.168.80.98 -j SNAT --to 192.168.212.93
iptables -D FORWARD 5 -t filter
iptables -D FORWARD 4 -t filter

上述使用iptables配置了物理机192.168.212.93到其内部kvm虚拟机node98的22端口转发。需要注意的是:

iptables -D FORWARD 5 -t filter
iptables -D FORWARD 4 -t filter

这两条需要操作,否则转发不成功,登录失败

3. 查看和清除

物理机创建的虚拟机多了,端口转发规则多了起来。使用以下命令查看当前的转发规则

iptables -nL -v --line-numbers -t nat

会在Chain PREROUTING Chain POSTROUTING 看到对应的条目。

清除当前规则:

iptables -t nat -F PREROUTING
iptables -t nat -F POSTROUTING

4. 一些别的问题

  • 清理规则后,建议重启libvirtd和虚拟机,否则会存在虚拟机无法ping通外网的情况
  • 每次添加转发规则时,应该都需要执行iptables -D FORWARD的操作,否则无法登录
  • 如果在虚拟机部署了Java开发环境,使用vscode远程开发时,配置Tomcat的端口转发,不需要在物理机和虚拟机再操作,一切由vscode自行完成

到此这篇关于kvm虚拟机配置NAT端口转发的文章就介绍到这了,更多相关kvm NAT端口转发内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • KVM 介绍及作用详解

    KVM 介绍及作用详解

    KVM 全称是基于内核的虚拟机(Kernel-based Virtual Machine),它是Linux 的一个内核模块,今天通过本文给大家介绍KVM的基本知识,感兴趣的朋友一起看看吧
    2022-03-03
  • 在CentOS7搭建KVM虚拟化平台(三种方式)

    在CentOS7搭建KVM虚拟化平台(三种方式)

    这篇文章主要介绍了在CentOS7搭建KVM虚拟化平台(三种方式),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • 详细介绍kvm虚拟机静态和动态迁移(图文介绍)

    详细介绍kvm虚拟机静态和动态迁移(图文介绍)

    本篇文章主要详细介绍kvm虚拟机静态和动态迁移,具有一定的参考价值,有需要的可以了解一下。
    2016-11-11
  • Centos7下搭建KVM虚拟机的方法

    Centos7下搭建KVM虚拟机的方法

    本篇文章主要介绍了Centos7下搭建KVM虚拟机的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧。
    2017-03-03
  • kvm中使用console命令记录的方法

    kvm中使用console命令记录的方法

    这篇文章主要给大家介绍了在kvm中如何使用console命令记录的方法,文中通过图文介绍的很详细,相信对大家的理解和学习具有一定的参考借鉴价值,有需要的朋友们可以参考借鉴,下面感兴趣的朋友们一起来学习学习吧。
    2016-11-11
  • KVM虚拟化Linux Bridge环境部署的方法步骤

    KVM虚拟化Linux Bridge环境部署的方法步骤

    本文主要介绍了KVM虚拟化Linux Bridge环境部署的方法步骤,使虚拟机连接到网络,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • kvm虚拟机的创建与克隆操作方法

    kvm虚拟机的创建与克隆操作方法

    不知道大家有没有感觉每次搭一台虚拟机很麻烦,尤其是你可能需要重复搭建很多台具有同样服务的服务器!如果有同样的感觉,那么通过下面这篇文章就给大家分享了kvm虚拟机的创建与克隆的操作方法,有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-11-11
  • kvm虚拟机配置NAT端口转发的实现方法

    kvm虚拟机配置NAT端口转发的实现方法

    为了避免虚拟机的IP地址和内网网段冲突,kvm采用的是NAT模式,而非桥接模式,而kvm的转发,需要使用Linux的iptables工具来实现,下面通过本文给大家介绍kvm虚拟机配置NAT端口转发的实现方法,感兴趣的朋友一起看看吧
    2022-06-06
  • centos 6.6 安装 KVM 虚拟机的方法

    centos 6.6 安装 KVM 虚拟机的方法

    这篇文章主要介绍了centos 6.6 安装 KVM 虚拟机的方法,需要的朋友可以参考下
    2016-10-10
  • CentOS 8 安装调试KVM的详细步骤

    CentOS 8 安装调试KVM的详细步骤

    这篇文章主要介绍了CentOS 8 KVM 的安装调试,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04

最新评论