2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Hyper-Vの仮想スイッチでOpenWrt~にハマったことと解決策

Posted at

注意

本環境は仮想スイッチを利用した前提の構成であり、DAA(PCIパススルー)は利用していません。
多分DAAなら発生しないと思います。

Hyper-Vで動かすための前準備と手順

必要なもの

  • OpenWrt x86のimgデータ
    • generic-squashfs-combined-efi.img.gzだと更新やリセットが楽
    • 事前に落として.img.gzから解凍して.imgにしておくこと
  • qemu-img
    • ダウンロードしたimgをvhdxにしたり、拡張したりするのに使う

手順

  1. qemu-imgを解凍した中身とOpenWrtのimgデータを一つのフォルダにまとめる
  2. cmdを立ち上げ、次のコマンドを順番に実行する
  3. qemu-img resize -f raw ***.img 1G
    1Gに拡張する、必要に応じて増やしても減らしてもOK。
  4. qemu-img convert ***.img -O vhdx ***.vhdx
    imgからvhdxにコンバートしてHyper-Vのディスクとして使えるようにする。
  5. コンバートしたディスクをHyper-Vの仮想マシンにセットする
    • セキュアブート無効
    • メモリ1GB(動的でも固定でもOK)
    • プロセッサは1~2くらい
    • あとはお好みで
  6. 起動したらこれにしたがってディスクの拡張を実施(実行完了後、VMは自動で再起動する)

以上!

フレッツ光のONUとつながらない

これは実NICと仮想スイッチ間のMACアドレスが異なることが原因っぽいです。

解決方法

OpenWrtにNICを追加した際に実際のNICのMACアドレスと同じになるように静的に割り振ってあげる必要があります。
また、MACアドレスのスプーフィング(偽装)も許可してあげると良いです。知らんけど。

VLANが通らない

MACアドレスのスプーフィングを許可しているのにVLANが通りません。
普通のパケットは通ります。なんでや。

解決方法①

NICに対してVLANが1つだけ紐づく場合は、仮想VLANIDを有効にするにチェックを入れ、VLANIDを指定することで通すことができます。
image.png

解決方法②

トランクポートなど、複数のVLANが通ることを前提とする場合は、Set-VMNetworkAdapterVlanを使用してVMに対して許可するVLANを設定することが可能です。
めんどくさいので全部許可してしまえ~!な場合は下記の通り設定してみてください。

PS C:\Users\Administrator> Set-VMNetworkAdapterVlan OpenWrt -Trunk -AllowedVlanIdList 1-4094 -NativeVlanId 0
PS C:\Users\Administrator> Get-VMNetworkAdapterVlan OpenWrt

VMName  VMNetworkAdapterName    Mode  VlanList
------  --------------------    ----  --------
OpenWrt ネットワーク アダプター Trunk 0,1-4094
OpenWrt ネットワーク アダプター Trunk 0,1-4094
OpenWrt ネットワーク アダプター Trunk 0,1-4094
OpenWrt ネットワーク アダプター Trunk 0,1-4094
OpenWrt ネットワーク アダプター Trunk 0,1-4094

ちなみにNICを指定したい場合は-VMNetworkAdapterNameで指定してやることで、特定NICだけ通すみたいなことも出来るっぽいです。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?