私は、QEMU VM にパブリック IP を持たせて、同じマシンで複数のサーバーを実行できるようにしたいだけです。これに関連する wiki、ガイド、チュートリアル、フォーラム スレッドなど、さまざまなものを読みましたが、まだ役立つ回答はありません。ブリッジについては既に知っており、ほとんどのチュートリアルで実行されていることはすべて実行しました。
1) iproute2でブリッジを作成する( とするbr0
)
2) TAPインターフェースを作成する( とするtap0
)
3) ブリッジeth0
(私の場合はenp2s0
)tap0
してbr0
しかし、私が持っている唯一のことは(頭痛の種を除いて)VMを内部ネットワーク内の別のマシンとして認識させることですが、私が望んでいるのは、外部ネットワークが、ルーターに接続されている他の物理マシンと同じではなく、独自のパブリック IP アドレスを持つマシンを認識することです。
私が調べたページ:
-https://wiki.archlinux.org/index.php/QEMU#ネットワーク
-https://wiki.archlinux.org/index.php/ネットワークブリッジ
-KVM - ブリッジ経由でパブリック IP を追加する
-http://blog.elastocloud.org/2015/07/qemukvm-bridged-network-with-tap.html
-https://wiki.qemu.org/ドキュメント/ネットワーク
-http://nairobi-embedded.org/a_qemu_tap_networking_setup.html
-https://en.wikibooks.org/wiki/QEMU/ネットワーク
私の QEMU コマンド引数:
qemu-system-x86_64 \
-monitor stdio \
-soundhw ac97 \
-k es \
-machine accel=kvm \
-m 2024 \
-hda /mnt/hdd/Desarrollo_Eficiente_HDA.img \
-boot once=c,menu=on \
-net nic,vlan=0,macaddr=00:c6:cd:1a:5e:83,model=virtio \
-net tap,vlan=0,ifname=tap0,script=no \
-rtc base=localtime \
その他のコマンド出力:
$ brctl show
bridge name bridge id STP enabled interfaces
br0 8000.003067a647ca no enp2s0
tap0
$ ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000
link/ether 00:30:67:a6:47:ca brd ff:ff:ff:ff:ff:ff
inet6 fe80::da85:a46d:3e50:2642/64 scope link
valid_lft forever preferred_lft forever
9: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:30:67:a6:47:ca brd ff:ff:ff:ff:ff:ff
inet 192.168.0.3/24 brd 192.168.0.255 scope global noprefixroute br0
valid_lft forever preferred_lft forever
inet 192.168.50.14/24 brd 192.168.50.255 scope global noprefixroute br0
valid_lft forever preferred_lft forever
inet6 fe80::230:67ff:fea6:47ca/64 scope link noprefixroute
valid_lft forever preferred_lft forever
10: tap0: <NO-CARRIER,BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc pfifo_fast master br0 state DOWN group default qlen 100
link/ether 16:51:80:cd:dd:6b brd ff:ff:ff:ff:ff:ff
inet6 fe80::1451:80ff:fecd:dd6b/64 scope link
valid_lft forever preferred_lft forever
ホストシステム情報:
- OS: Parabola GNU/Linux-libre (Arch ベース)
- アーキテクチャ: x86_64
何か見落としているのでしょうか? iptables ルールでしょうか? sysctl コマンドでしょうか? ご協力ありがとうございます。