KVM虛擬機器使用NAT iptables做埠對映

2021-09-24 15:08:53 字數 1556 閱讀 9874

今天乙個網友諮詢了我乙個問題,情況是這樣的。

他有乙個kvm宿主機,乙個外網ip繫結在了宿主伺服器上,但是希望直接用ssh訪問上面的所有虛擬機器,還想虛擬機器提供外網服務,解決方法如下:

環境為rhel6.3,外網ip為115.183.0.1

1.網路方式使用nat連線,配置檔案為/etc/libvirt/qemu/networks/default.xml;

檢視網路配置檔案,下面的是預設情況

# brctl show 

bridge name     bridge id               stp enabled     inte***ces 

virbr0          8000.5254005aa781       yes             virbr0-nic 

如果需要修改的話,可以直接修改或者建立新的檔案,然後使用下面命令來建立新的網路

virsh net-define  【filename】 

2.安裝vm

virt-install --name linux-nat --ram 2048 --disk /data/linux.nat.raw  --graphics \

vnc,port=5902  --network network=default,model=virtio

--vcpus=8

--os-variant=rhel6

--import 

# /data/linux.nat.raw  這個是做好的linux系統模版

3.檢視宿主伺服器virbr0的網絡卡資訊

ifconfig virbr0 

virbr0: <

broadcast,multicast,up,lower_up> mtu 1500 qdisc noqueue      state unknown  

link/ether 52:54:00:5a:a7:81 brd ff:ff:ff:ff:ff:ff 

inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 

進入虛擬機器中,修改ip為192.168.122.2,閘道器為192.168.122.1

4.配置iptables,實現的原理是使用者訪問宿主ip的8000埠,然後iptables**這個包到虛擬機器的22埠上

# iptables -a input -p tcp --dport 8000 -j accept

#  iptables -t nat -a prerouting -d 115.183.0.1 -p tcp -m tcp --dport 8000 -j dnat --to-destination 192.168.122.2:22               

#  iptables -t nat -a postrouting -s 192.168.122.0/255.255.255.0 -d 192.168.122.2 -p tcp -m tcp --dport 22 -j snat --to-source 192.168.122.1 

KVM複製虛擬機器,KVM轉殖虛擬機器

1.關閉要轉殖的虛擬機器 2.語法 virt clone o 原虛擬機器 n 新虛擬機器 f 新虛擬機器存放的路徑 virt clone o centos7.0 n xuegod110 f var lib libvirt images xuegod110.img qcow2格式 virt clone...

KVM虛擬機器

一 kvm虛擬機器簡介 kernel based virtual machine的簡稱,是乙個開源的 系統虛擬化模組,自linux 2.6.20之後整合在linux的各個主要發行版本中。它使用linux自身的排程器進行管理,所以相對於xen,其核心原始碼很少。kvm目前已成為學術界的主流vmm之一。...

debian虛擬機器安裝kvm虛擬機器

一 概念介紹 1 libvirt是linux上的虛擬化庫,是長期穩定的c語言api,支援kvm qemu xen lxc等主流虛擬化方案。virsh是libvirt對應的shell命令。2 kvm,即kernel basedvirtual machine的簡稱,是乙個開源的系統虛擬化模組,自linu...