0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Linux】Network Name Space 学習まとめ

Last updated at Posted at 2020-12-05

NameSpace

プロトコルの階層構造は下に行くほど中傷度が低くより具象的(電気やら光やら)になる

$ sudo ip netns exec ns1 tcpdump -tnel -i ns1-veth0 icmp or arp

ARP経過を確認するため- or arpを入れて確認

00:00:5e:00:53:01 > …
ethertype ARP (0x0806), length 42 : Request who-has 192.0.2.2 tell 192.0.2.1, length 28…

ARPがやりとりされている様子が見れる
ARPで192.0.2.2というIPアドレスを持った機器のMACアドレスを192.0.2.1に教えて欲しいとのコード
これがARPリクエスト
次の行で192.0.2.2というIPアドレスは00:00:00:33:03:00:00:というMACアドレスを持っている
というARPリプライを送っている

一番最初などのff:ff:ff:ff:ff:ffと言ったMACアドレスに送信をしているが
これはブロードキャストアドレスという
特殊なMACアドレス
「このフレームが届く限りの範囲で全ての聞きに聞いて欲しい」という意味
通信したIPアドレスのMACアドレスが分からないから教えてという発信

イーサネット観察

状態をupにさせてns1ns2vethで繋ぐ一連の流れは一緒
その後の追加手順
MACアドレスを変更することができる
vethインターフェースのMACアドレスはデフォだとランダムに割り振られている

$ sudo ip netns exec ns1 ip link set dev ns1-veth0 address 00:00:5E:00:53:01
$ sudo ip netns exec ns2 ip link set dev ns2-veth0 address 00:00:5E:00:53:02

これでns1-veth0ns2-veth2MACアドレスが変更される

$ sudo ip netns exec ns1 ip link show | grep link/ether
 link/ether 00:00:5e:00:53:01 brd ff:ff:ff:ff:ff:ff link-netnsid 1 

$ ip link showでインターフェースのMACアドレスを確認できる

$ sudo ip netns exec ns1 tcpdump -tnel -i ns1-veth0 icmp
    tcpdump : verbose output suppressed, use -v pr -vv for full protocol decode
    listening on ns1-veth0, link-tyoe EN10MB (Ethernet), capture size 262144 bytes

パケットキャプチャの用意コマンドtcpdump
ここでns1vethインターフェースを観察する

$ sudo ip netns exec ns1 ping -c 3 192.0.2.2 -I 192.0.2.1

準備ができたのでns1からns2に向けてPingを打つ
コマンド実行が終わったらtcpdumpを実行したターミナルに戻って確認

$ sudo ip netns exec ns1 tcpdump -tnel -i ns1-veth0 icmp
    tcpdump : verbose output suppressed, use -v or -vv for full protocol decode
    listening on ns1-veth0, link-type EN10MB (Ethernet), capture size 262144 bytes
    00:00:5e:00:53:01 > 00:00:5e:00:53:02, ethertype IPv4 (0x0800),
    length 98: 192.0.2.1 > 192.0.2.2: ICMP echo request, id 23582, seq 1, length 64
    00:00:5e:00:53:02 > 00:00:5e:00:53:01, ethertype IPv4 (0x0800),
    length 98: 192.0.2.2 > 192.0.2.1: ICMP echo reply, id 23582, seq 1, length 64

オプションをつける(-e)とイーサネットを見ることができる
先程の設定をしたMACアドレスに送信元と送信先に表示されている
(上記のtcpdumpで上からMACアドレス、IPアドレスと表示されているのは
レイア3.2.1と順番になっているように表示されている構造なのかもしれない)
(イーサネットはレイア2、IPはレイア3のプロトコルなのでフォーマット機略図もそのように書かれているのかも)

はまった件

(名前を間違えて作ってしまったので…)試しに作成したvethを消そうと思ったが

error…
cannot remove namespace file Permission denied

permissionは何らかの権限が絡んでいる可能性があるらしく

sudoコマンドを加えて実行したところ削除ができた

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?