質問: 1 ###### #ゲスト(仮想マシン)側 ・IPアドレス、ゲートウェイ、DNS設定 IPアドレス:200.xxx.xx.70 ゲートウェイ:152.xxx.xx.1 (ホスト側で設定したのと同じもの) DNS:ホスト側で設定したのと同じもの ・macvtap(ブリッジ)でホスト側macvlanインターフェース(vmac0)と接続 設定内容は以下 ``` ``` ### 発生している問題 仮想マシンから外部への接続、外部から仮想マシンへの接続ができません。 ping にて仮想マシンから8.8.8.8へ疎通確認をしたところ、ICMP echo replyが物理側NIC(eno1)まで届いたことは確認しましたが、ICMP host 200.xxx.xx.70 unreachable が8.8.8.8へ返されています。 外部から仮想マシンへpingすると、Destination Host Unreachableとなります。 以下内容です。 **ping ゲストから8.8.8.8** ■ゲスト(仮想マシン)(200.xxx.xx.70) ``` #ping -c 3 8.8.8.8 PING 8.8.8.8(8.8.8.8) 56(84) byts of data. --- 8.8.8.8 ping statistics --- 3 packets transmitted, 0 received, 100% packet loss, time 2000ms ``` ■ホスト側(152.xxx.xx.10) tcpdump 抜粋 ``` #tcpdump -e -n -i eno1 host 8.8.8.8 or 200.xxx.xx.70 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eno1, link-type EN10MB (Ethernet), capture size 262144 bytes 16:19:06.762863 52:50:00:aa:xx:20 > 00:00:5e:00:01:bb, ethertype IPv4 (0x0800), length 98: 200.xxx.xx.70 > 8.8.8.8: ICMP echo request, id 2988, seq 1, length 64 16:19:06.763862 74:8e:f8:60:fa:xx > 91:1b:0e:d2:ec:xx, ethertype IPv4 (0x0800), length 98: 8.8.8.8 > 200.xxx.xx.70: ICMP echo reply, id 2988, seq 1, length 64 16:19:06.763894 91:1b:0e:d2:ec:xx > Broadcast, ethertype ARP (0x0806), length 42: Request who-has 200.xxx.xx.70 tell 200.xxx.xx.66, length 28 : 16:19:09.769126 91:1b:0e:d2:ec:xx > 00:00:5e:00:01:bb, ethertype IPv4 (0x0800), length 126: 152.xxx.xx.10 > 8.8.8.8: ICMP host 200.xxx.xx.70 unreachable, length 92 ``` **ping 外部から仮想マシン** ``` # ping -c 3 200.xxx.xx.70 PING 200.xxx.xx.70 (200.xxx.xx.70) 56(84) bytes of data. From 152.xxx.xx.10 icmp_seq=1 Destination Host Unreachable From 152.xxx.xx.10 icmp_seq=2 Destination Host Unreachable From 152.xxx.xx.10 icmp_seq=3 Destination Host Unreachable --- 200.xxx.xx.70 ping statistics --- 3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 3022ms ``` ### 試したこと ・ネットワークマネージャを停止 →状況かわらず ・ホスト物理NIC(eno1)の追加IP(200.xxx.xx.66)を外す →外部から仮想ホストへのpingがTime to live exceededとなる。 (ゲートウェイ⇔ホスト間をTTLが切れるまで往復している) ・ゲストのGWを変えてみる 152.xxx.xx.1から200.xxx.xx.66 →pingを仮想マシンから外部へ打つとtcpdumpで見ると、ARPしか飛んでいない ``` #tcpdump 抜粋(eno1) ※macvtap,vmac0でも同じ 16:19:06.763894 52:50:00:aa:xx:20 > Broadcast, ethertype ARP (0x0806), length 42: Request who-has 200.xxx.xx.66 tell 200.xxx.xx.70, length 28 ``` ### 気づいたこと 仮想マシン200.xxx.xx.70へのARPリクエストに対して解決できていない気がします。 物理マシン→仮想マシンの接続がうまくいっていません。 物理マシンが仮想マシンを認識できていないのか、macvtapではできないのか、 その辺は不明です。 ### 補足情報 ルーティングテーブル・ARPテーブル ``` # ip r default via 152.xxx.xx.1 dev eno1 152.xxx.xx.0/24 dev eno1 proto kernel scope link src 152.xxx.xx.10 192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 200.xxx.xx.64/28 dev eno1 proto kernel scope link src 200.xxx.xx.66 #ip nei : 200.xxx.xx.70 dev eno1 FAILED : ``` ###### ネットワーク構成図 ![構成図](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/f43ce168dcc293833df67c986ad5171c.png) ### 追加で確認した事項 **ホストとゲストをmacvtapで接続する** ホスト側eno1とゲストマシンをmacvtap接続設定を行う。 インターフェース設定は以下 ``` ``` ip addres show(ホスト側) ``` 2: eno1: mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 91:1b:0e:d2:ec:xx brd ff:ff:ff:ff:ff:ff inet 152.xxx.xx.10/24 scope global eno1 valid_lft forever preferred_lft forever inet 200.xxx.xx.66/28 scope global eno1 valid_lft forever preferred_lft forever inet6 2001:e42:103:3:153:xxx:aa:xx/64 scope global noprefixroute valid_lft forever preferred_lft forever inet6 fe80::921b:eff:xxxx:xxxx/64 scope link noprefixroute valid_lft forever preferred_lft forever : : 23: macvtap0@eno1: mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 500 link/ether 52:50:00:aa:xx:20 brd ff:ff:ff:ff:ff:ff inet6 fe80::5054:ff:xxxx:xxxx/64 scope link valid_lft forever preferred_lft forever ``` **疎通確認(ゲストから8.8.8.8へping)** 前回と状況は変わりませんでした。 ・eno1のtcpdumpの内容 ``` # tcpdump -n -e -i eno1 host 200.xxx.xx.70 or 8.8.8.8 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eno1, link-type EN10MB (Ethernet), capture size 262144 bytes 09:24:06.740146 52:50:00:aa:xx:20 > 00:00:5e:00:01:bb, ethertype IPv4 (0x0800), length 98: 200.xxx.xx.70 > 8.8.8.8: ICMP echo request, id 2787, seq 1, length 64 09:24:06.741053 74:8e:f8:60:fa:xx > 91:1b:0e:d2:ec:xx, ethertype IPv4 (0x0800), length 98: 8.8.8.8 > 200.xxx.xx.70: ICMP echo reply, id 2787, seq 1, length 64 09:24:06.741099 91:1b:0e:d2:ec:xx > Broadcast, ethertype ARP (0x0806), length 42: Request who-has 200.xxx.xx.70 tell 200.xxx.xx.66, length 28 09:24:07.743113 91:1b:0e:d2:ec:xx > Broadcast, ethertype ARP (0x0806), length 42: Request who-has 200.xxx.xx.70 tell 200.xxx.xx.66, length 28 09:24:08.745103 91:1b:0e:d2:ec:xx > Broadcast, ethertype ARP (0x0806), length 42: Request who-has 200.xxx.xx.70 tell 200.xxx.xx.66, length 28 09:24:09.747111 91:1b:0e:d2:ec:xx > 00:00:5e:00:01:bb, ethertype IPv4 (0x0800), length 126: 152.xxx.xx.10 > 8.8.8.8: ICMP host 200.xxx.xx.70 unreachable, length 92 ``` ・ゲスト側ping結果 1 packets transmitted, 0 received, +3 errors, 100% packet loss, time 0ms
回答: いったん他の方法を検討してみようと思います。 ご回答ありがとうございました!