Home » Program » Cisco Catalyst 2960S – ip device tracking (Part 1) (Tag: )

先日、Drive Network サービスで提供する基本環境の大半を FreeBSD 7.1-RELEASE i386 -> FreeBSD 9.1-RELEASE amd64 に移行しましたが、この過程で /ver/log/messages に気になるメッセージが頻出しました。

arplookup 0.0.0.0 failed: host is not on local network

良く見ると、7.1-RELEASE では頻出していますが、9.1-RELEASE ではまったく出て来ません。出て来る頻度は 1 – 2 秒単位で始終出続けています。また、同じ秒に複数行に渡ることもあります。

最初は、FreeBSD に関するトピックとして検索を開始しました。7.1-RELEASE i386 では、/sys/netinet/if_ether.c の 1025 – 1026 行目にこのログを出力する個所があります。

        if (why) {
#define ISDYNCLONE(_rt) \
        (((_rt)->rt_flags & (RTF_STATIC | RTF_WASCLONED)) == RTF_WASCLONED)
                if (create)
                        log(LOG_DEBUG, "arplookup %s failed: %s\n",
                            inet_ntoa(sin.sin_addr), why);
                /*
                 * If there are no references to this Layer 2 route,
                 * and it is a cloned route, and not static, and
                 * arplookup() is creating the route, then purge
                 * it from the routing table as it is probably bogus.
                 */
                if (rt->rt_refcnt == 1 && ISDYNCLONE(rt))
                        rtexpunge(rt);
                RTFREE_LOCKED(rt);
                return (0);
#undef ISDYNCLONE

ここをコメントアウトして kernel 再構築する案もあれば、ipfw で 0.0.0.0 に関する処理をする案もありました。

kernel 再構築は厭いませんが、明らかにそれまでと異なる現象がネットワーク内に発生しているからこそ出現しているので、コメントアウト -> kernel 再構築による案はアプローチが消極的過ぎます。

なお、ipfw は一応試しましたが、うまく動作しませんでした。また、9.1-RELEASE amd64 では、arplookup の debug 出力に関する個所は見当たらないことまでも確認しました。

一旦保留し、ネットワークレイヤでアプローチすべく、tcpdump を採取することにしました。

tcpdump -e -n 'host 0.0.0.0'

確かにいくつかの MAC アドレスから該当ホストに確認している様子が見られました。

これらの MAC アドレスが L3 スイッチの show arp で 48bit すべて一致するケースが見当たりませんでしたが、前半 24bit を Hardware Address (MAC Address) Lookup で確認すると、Cisco であることが分かりました。

L2, L3 スイッチのいずれかの polling 的な動作が引き起こしている可能性を考え始めた時に、Cisco Catalyst 2960S IOS Update (Part 4) で初期化後に config を再投入した時、過去のバージョンには存在しない ip device tracking という行が存在したことを思い出しました。(続く)

Random Select

浜比嘉大橋 (3)
沖縄本島 (No. 39 – タコス屋 <Tacos-ya> ふたたび) の続きです。09/19 ? 09/24 の 5 泊 6 日の旅程で、宿泊最終日の今日 09/23 は午
WordPress Logo
WordPress をインストール後、記事の投稿や必要なプラグインを追加した後、どうしても気になり始めました。HTML ソースの汚さが。Drive Network のホームページ・オンラインサインアッ
揚げずにからあげ (鮭) + 釜揚しらす
揚げずにからあげ (鮭 Part 1) の続きです。今回の調理に用意したかの様にちょうど良いサイズのフライパンがありました。小さじ 2 杯程のサラダ油を引いて熱した後、いよいよ焼き始めます。並べる前に
Drive Network Core (WS-C3750E-48TD-E)
現在の Drive Network のスタイルを 2004/01 から担当。Drive the Future のキャッチコピーの元、お客様のビジネスを支援する IT サービスの提供を続けています。舞台
BLT サンドセット
沖縄本島 (No. 40 – 目利きの銀次 新都心店) の続きです。5 泊 6 日の最終日、ついに東京に帰る日となりました。旅の〆、最後の悪あがきに今回も那覇空港内の A&W OK
辺戸岬 (伊是名島・伊平屋島)
沖縄出張 (No. 32 – ワルミ大橋 〜 古宇利島) を後にして、次はどこに行くか少々迷いました。以前訪れた北部の滝が ター滝 なのか、フンガー滝 だったか記憶が怪しいことが分かり、ど
冷たいおそば (ざる)
ゆで太郎 錦町店 (かきあげ) で ゆで太郎 には初めて入りました。その帰り際に気になった"特もり" を改めて良く眺めると、普通サイズの 3 倍と書かれていました。方や ゆで太郎
タコライス + オニオンリング
沖縄本島 (No. 38 – 肴家あうん) の続きです。翌日のランチは、沖縄本島 (No. 19 – タコス屋 <Tacos-ya>) 以来、5 ヶ月ぶりに タコス
iPhone 6 Plus (Gold)
iPhone 6 Plus (自動大文字入力・自動修正 オフ) の続きです。ARROWS X F-10D (No. 1) では消しても消してもよみがえるゾンビアプリが多いので、頻繁にアプリ (プロセス
FreeBSD Logo
FreeBSD kernel compile でも紹介した通り、常に kernel 再構築によりカスタムカーネルで稼動させています。私はカスタムカーネルの名称を `hostname -s` にする習慣
Valid HTML5 Valid CSS3 Another HTML Lint