はじめに
- 前回からの続き(しつこくてすいません)
- バージョンアップ(
lxc 0.9tolxc 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のトラブルシューティングについて学ぶことが出来て良かった