網站首頁 編程語言 正文
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
相關推薦
- 2022-04-22 mac安裝oh-my-zsh出現command not found: npm問題解決
- 2022-04-28 python實用的快捷語法技巧大全_python
- 2022-11-23 jQuery?validate(submitHandler函數)驗證通過發送Ajax(實例詳解)_j
- 2022-09-04 Python推導式數據處理方式_python
- 2022-06-06 PyTorch?device與cuda.device用法介紹_python
- 2023-02-02 goland中npm無法使用的問題及解決_Golang
- 2022-09-30 Python3中map()、reduce()、filter()的用法詳解_python
- 2022-10-24 visual?studio?2022?編譯出來的文件被刪除并監視目錄中的文件變更(示例詳解)_C 語
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支