2017-07-13 9 views
0

私はVirshを使ってKVMを使って仮想マシンを管理しています。 httpサービス(ポート80)を持つメインホストと仮想マシンを用意してください。 iptables、firewalld、routeなどのファイアウォールを使わずに、HTTPサービスをインターネットに公開するためのポートフォーワードを設定するには?KVMでポートフォーワードをネイティブに設定する方法は?

実際にiptablesを使用していますが、すべての接続タイプを管理するのは非常に難しいです。

メインホストと仮想マシン間でhttpトラフィックをリダイレクトするようにKVMにルールを設定できますか?VirtualBoxの例では、ネットワーク設定でホスト名、ホストポート、仮想IP、仮想ポート、リスンポートメインホストのlocalhost(0.0.0.0)

ハウツーはこれをKVMで作ったのですか?

私はQEMUのartgumentsでforwadingネイティブポートを使用してXMLを編集しようとしたが動作しません:

# virsh edit demo 
    > <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> 
    > <name>... 
    > ... 
    > <qemu:commandline> 
    >  <qemu:arg value='-redir'/> 
    >  <qemu:arg value='tcp:80::80'/> 
    > </qemu:commandline> 
    > </domain> 
# virsh start demo 
# ps -aux | grep qemu 
root  30119 58.8 2.9 3421616 330084 ?  Sl 15:38 0:07 qemu-system-x86_64 -enable-kvm -name demo -S -machine pc-i440fx-xenial,accel=kvm,usb=off -cpu Haswell -m 2048 -realtime mlock=off -smp 2,sockets=2,cores=1,threads=1 -uuid c996f3b2-5e16-470f-9ad6-e591fc9a2537 -nographic -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain-demo/monitor.sock,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc,driftfix=slew -global kvm-pit.lost_tick_policy=discard -no-hpet -no-shutdown -global PIIX4_PM.disable_s3=1 -global PIIX4_PM.disable_s4=1 -boot strict=on -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x4.0x7 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x4 -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x4.0x1 -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x4.0x2 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x3 -drive file=/var/kvm/images/demo.img,format=qcow2,if=none,id=drive-virtio-disk0 -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -netdev tap,fd=26,id=hostnet0,vhost=on,vhostfd=28 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:43:ed:8d,bus=pci.0,addr=0x2 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev socket,id=charchannel0,path=/var/lib/libvirt/qemu/channel/target/domain-demo/org.qemu.guest_agent.0,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0 -device usb-tablet,id=input0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6 -redir tcp:80::80 -msg timestamp=on 
正常に動作します http://192.168.123.91/ホストからオープン今

、しかしhttp://127.0.0.1/接続しないではなく、qemuのコマンドは-redir tcp:80::80を言います。

どうしたのですか?

答えて

0

インターフェイスの種類は? qemu man pageインターフェイスタイプごとに動作するポート転送はユーザでなければなりません。 like <interface type="user">

関連する問題