はじめに
- 前回からの続き(しつこくてすいません)
- バージョンアップ(
lxc 0.9
tolxc 1.0.0
)に伴う挙動の変化について - パケットキャプチャして様子を見てみた
環境
ホスト | ホスト OS バージョン | lxc-version | コンテナ OS バージョン |
---|---|---|---|
ThinkPad X1 Carbon | Ubuntu 13.10 | lxc 1.0.0.alpha2 | Debian 6.0.7 |
VM on VirtualBox | Ubuntu 13.04 | lxc 0.9.0 | Debian 6.0.7 |
メモ
以下のコマンドにてパケットキャプチャを行った。
sudo tcpdump -n -vv -i lxcbr0 port bootps or port bootpc
キャプチャの内容は長いので gist に貼った。
lxc 1.0.0.alpha2
transmit checksum オフロード処理は有効
この状態ではコンテナの IP
アドレスの取得は失敗する。(デフォルト)
transmit checksum オフロード処理を無効
この状態で IP
アドレスの取得は成功する。
lxc 0.9.0
IP
アドレスの取得は成功する。
考察
パケットキャプチャから解ったこと
06:58:44.105376 IP (tos 0xc0, ttl 64, id 4241, offset 0, flags [none], proto UDP (17), length 328) 10.0.3.1.67 > 10.0.3.32.68: [bad udp cksum 0x1b66 -> 0x5d2a!] BOOTP/DHCP, Reply, length 300, xid 0xb9727512, Flags [none] (0x0000) Your-IP 10.0.3.32 Server-IP 10.0.3.1 Client-Ethernet-Address 5a:42:46:28:18:63 Vendor-rfc1048 Extensions Magic Cookie 0x63825363 DHCP-Message Option 53, length 1: ACK Server-ID Option 54, length 4: 10.0.3.1 Lease-Time Option 51, length 4: 3600 RN Option 58, length 4: 1800 RB Option 59, length 4: 3150 Subnet-Mask Option 1, length 4: 255.255.255.0 BR Option 28, length 4: 10.0.3.255 Default-Gateway Option 3, length 4: 10.0.3.1 Domain-Name-Server Option 6, length 4: 10.0.3.1
上記は lxc 0.9.0
での DHCP
が ACK
の状態。既に IP
が付与されている状態ではあるが、チェックサムの計算では [bad udp cksum 0x1b66 -> 0x5d2a!]
となっていることが解った。
また、下記は lxc 1.0.0.alpha2
で DHCP
が ACK
の状態をキャプチャしたもの。
07:06:10.010361 IP (tos 0xc0, ttl 64, id 38208, offset 0, flags [none], proto UDP (17), length 328) 10.0.3.1.67 > 10.0.3.243.68: [udp sum ok] BOOTP/DHCP, Reply, length 300, xid 0x8d36d50e, Flags [none] (0x0000) Your-IP 10.0.3.243 Server-IP 10.0.3.1 Client-Ethernet-Address 4a:39:b1:ef:92:77 Vendor-rfc1048 Extensions Magic Cookie 0x63825363 DHCP-Message Option 53, length 1: ACK Server-ID Option 54, length 4: 10.0.3.1 Lease-Time Option 51, length 4: 3600 RN Option 58, length 4: 1800 RB Option 59, length 4: 3150 Subnet-Mask Option 1, length 4: 255.255.255.0 BR Option 28, length 4: 10.0.3.255 Default-Gateway Option 3, length 4: 10.0.3.1 Domain-Name-Server Option 6, length 4: 10.0.3.1
DHCP
が ACK
の状態でもチェックサムの計算は成功している。
ということは...
- そもそも
lxc 0.9.0
ではDHCP
のチェックサムの計算結果に基づいてIP
アドレスの付与はされていなかったか、無理くりIP
を付与していたのかもしれない lxc 1.0.0
になってからこの辺りが改善されたのかもしれない- でも、
DHCP
のレベルの話なのでlxc
は関係無いような気がするが...
最後に
lxc
を通してDHCP
のトラブルシューティングについて学ぶことが出来て良かった