KVM等を使ってサーバ上に仮想マシンを搭載する場合、
サーバ上で仮想ネットワーク設定を行う場合があるので、簡単に備忘録を残す。
仮想ルータ
netnsはネットワークに名前をつけることで、
同一NICに対し複数のNW設定を入れることができる。
■ip netnsのユースケース例
- NIC-AとNIC-Bが、相互に干渉しあわない別々の切り離されたネットワークを持ちたい場合
- 仮想マシンなどで、仮想NICが物理NICのルーティング影響を受けないようにしたい場合に使う。
Linuxマシン内で仮想ネットワークを構築する際は、netnsが仮想ルータ的な位置づけとなる。
■ip netnsの主なコマンド
生成 |
ip netns add Namespace名 |
コマンド実行 |
ip netns exec Namespace名 コマンド(ping,ip等色々実行できる) |
仮想ブリッジ
|
Openvswitchを利用した作成方法 |
LinuxBridgeを利用した作成方法 |
ip route2を使用した作成方法 |
状態確認 |
ovs-vsctl show |
brctl show |
bridge link show |
仮想ブリッジの一覧表示 |
ovs-vsctl list-br |
|
|
仮想ブリッジの作成 |
ovs-vsctl add-br |
brctl addbr |
ip link add ブリッジ名 type bridge |
仮想ブリッジの削除 |
ovs-vsctl del-br |
brctl delbr |
ip link del ブリッジ名 type bridge |
仮想ブリッジに紐づくポート一覧表示 |
ovs-vsctl list-ifaces |
brctl show ブリッジ名 |
ip link show master ブリッジ名 |
ポートに紐づく仮想ブリッジ一覧表示 |
ovs-vsctl iface-to-br |
|
|
仮想ブリッジにポート追加 |
ovs-vsctl add-port |
brctl addif |
ip link set dev IF名 master ブリッジ名 |
仮想ブリッジにポート削除 |
ovs-vsctl del-port |
brctl delif |
ip link set dev IF名 nomaster |
仮想リンクケーブル
vethとはネームスペース同士を接続するのに使われる仕組みで、
vethは仮想ケーブル、veth-peerは仮想ポートと言った感じがイメージ近い。
概要 |
コマンド |
備考 |
veth-peerセット作成 |
ip link add name [veth-peer名1] type veth peer name [veth-peer名2] |
仮想ポートと仮想ケーブルができるイメージ |
veth-peerを仮想ルータに接続 |
ip link set [veth-peer名] netns [Namespace名] |
veth-peerはNamespace管理下に入るので、単にip aでは見えず、ip netns [Namespace名]exec ip aで見えるようになる |
veth-peerを仮想ブリッジに接続 |
ip link set dev [veth-peer名] master 仮想ブリッジ名 |
仮想ブリッジのポート追加の容量でveth-peerをつなぐことができる |
最終更新:2020年11月06日 22:06