日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

kvm虛擬機配置NAT端口轉發的實現方法_Kvm

作者:木一明 ? 更新時間: 2022-08-14 編程語言

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自行完成

原文鏈接:https://www.cnblogs.com/liwanliangblog/p/16399199.html

欄目分類
最近更新