ネットワーク構築の流れ
• IPアドレスの取得
• ドメイン名の取得
• ネットワークの設計と実装
• ネットワーク機器の設定
• ネームサーバの設置
• 各種サーバの設置
IPアドレス割当の実際
• プロバイダから必要なIPアドレスを取得
– 必要なIPアドレスをプロバイダに申請 – プロバイダはCIDRブロックから割当• JPNICから直接割り当ててもらう
– IPアドレス管理指定事業者になる必要あり – この場合は、「割り振り」という用語が用いられる• 手数料:1件につき4500円
– プロバイダが代理で徴収することもあり – 代行手数料を取られることもありドメイン名の申請
• 基本的に早い者勝ち
– ドメイン名に関する紛争を調停する組織あり
• 利用されていないかどうかを調べる
[方法1] whoisコマンドを利用して調べる
[方法2] JPNICのウェブで調べる
http://www.nic.ad.jp/cgi-bin/whois_gw
• 直接申請と代理申請
直接申請
① 登録手数料:2万円を振り込む
② 電子メールで登録依頼
③ JPNICからの登録受理連絡
④ 必要書類を郵送
⑤ 登録承認の連絡受理
⑥ ドメイン登録情報の公開と
ネームサーバの設定
代理申請
① 代理申請依頼を出す
仲介業者が作業を行う
② ドメイン登録情報の公開と
ネームサーバの設定
登録手数料と 申請手数料が発生汎用JPドメイン名
• 接続承認を廃止した新しいドメイン登録
• JPNICが行っていた登録受付を委託
– JPRS(JaPan Registry Service)
– JPRS認定の指定事業者が作業を行う
– 手数料や維持費は事業者ごとに異なる
日本語ドメイン名
• ドメイン名の国際化
– まだ実験的な意味合いが強い
将来的に使えるかもしれない
使えないかもしれない
• 基本的に早い者勝ち
– おさえておくと良いかも…
さて、TCP/IPシステム設定
-
Unixシステムの設定-(1) ネットワークサービスの概要
(2) 基本設定
(3) インターフェースの設定
(4) ルーティングの設定
(5) DNSサーバの設定
(6) ネットワークサーバの設定
(7) WWWサーバの設定
(8) セキュリティー 機能の設定
ネットワークサービスに必要な
環境設定
• NameとIP Addressの設定 ;
ifconfig
• NameとIP AddressのDNSサーバへの登録
• Host Table (
/etc/hosts
)
• DNSサービス(
/etc/resolv.conf
);
named
• メールサービス ;
sendmail
• DHCPサービス ;
dhcpc
,
dhcpd
ネットワークサービスに必要な
環境設定
• Mail server
• Mail relay
• Print server
• File server
• Hostname
• IP address
• Subnetmask
• Default gateway
• Broadcast address
• Domain name
• Name servers
• Routing protocol
TCP/IPシステム設定
(1) ネットワークサービスの概要
(2) 基本設定
(3) インターフェースの設定
(4) ルーティングの設定
(5) DNSサーバの設定
(6) ネットワークサーバの設定
(7) WWWサーバの設定
(8) セキュリティー 機能の設定
カーネルの再構築
・ kernel configuration fileの編集
例; BSD UNIX kernel
/usr/src/sys/i386/conf/GENERIC
# config GENERIC # cd /usr/src/sys/compile/GENERIC # make depend # make # make installTCP/IPシステム設定
(1) ネットワークサービスの概要
(2) 基本設定
(3) インターフェースの設定
(4) ルーティングの設定
(5) DNSサーバの設定
(6) ネットワークサーバの設定
(7) WWWサーバの設定
(8) セキュリティー 機能の設定
Interface Configuration
ifconfig
interface-name IP-address netmaskex.
ifconfig le0 172.16.12.123 netmask 255.255.255.0(1) interface-name
(2) IP-Address
(3) netmask
Interface Configuration
• 指定したインターフェイスの設定確認
% ifconfig le0 le0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST> mtu 1500inet 172.16.12.2 netmask ffff0000 broadcast 172.16.255.255
• すべてのインターフェイスの設定確認
Interface Configuration
・ コンフィギュレーションの確認 ; netstat -i
- Name ; interface name
- Mtu ; link MTU size
- Net/Dest ; Network Address
(注) p2pリンクでは自分自身のIPアドレス
- Address ; assigned IP address
- Ipkts ; received packets
- Ierrs ; error packets to be received
- Opkts ; output packets
- Oerrs ; error packets to be sent
- Collis ; Ethernet collision
Interface Configuration
% netstat -ni
Name Mtu Net/Dest Address Ipkts Ierrs Opkts Oerrs Collis Queue le0 1500 172.16.0.0 172.16.12.2 1547 1 1126 0 135 0
lo0 1536 127.0.0.0 172.0.0.1 133 0 133 0 0 0 ppp0 1006 172.16.15.26 172.16.15.3 112 0 112 0 0 0
TCP/IPシステム設定
(1) ネットワークサービスの概要
(2) 基本設定
(3) インターフェースの設定
(4) ルーティングの設定
(5) DNSサーバの設定
(6) ネットワークサーバの設定
(7) WWWサーバの設定
(8)セキュリティー 機能の設定
ルーティングの設定
(1) ルーティングなし
→ 自分自身のIPアドレスと Loop-Backア
ドレスのみ。
(2) 静的ルーティング(static routing)
固定的にGateway(router)を指定する
(3) 動的ルーティング(dynamic routing)
動的にGateway(router)を探す
IGPとEGP
ルータ ルータ ルータ ルータ ルータ ルータ ルータ ルータ ルータ ルータ ルータ ルータ Routing Domain - A Routing Domain間で経路 お互いの持つ経路を交換 するプロトコルをEGPと呼ぶ Border Router 同一Routing Domain内の 経路を制御するプロトコルをIGPと呼ぶ Routing Domain - B
Routing Domain - C
• IGP = Interior Gateway Protocol • EGP = Exterior Gateway Protocol
経路制御ソフトのインストールと起動
• Zebra
–
http://www.zebra.org/
– ソースをダウンロードしコンパイル
• FreeBSD/NetBSD
– ports/packageからインストール
• zebrad, ripngd, ospf6dの起動
• 設定はCisco ライク
TCP/IPシステム設定
(1) ネットワークサービスの概要
(2) 基本設定
(3) インターフェースの設定
(4) ルーティングの設定
(5) DNSサーバの設定
(6) ネットワークサーバの設定
(7) WWWサーバの設定
(8)セキュリティー 機能の設定
DNS named configuration files
・ /etc/named.boot ; domain DBなどの情報
・ /etc/named.ca ; root name server情報
(/etc/named.root, /etc/root.ca)
・ /etc/named.local ; 自分自身のname/domain情報
・ /etc/named.hosts ; zone file (正引き)
TCP/IPシステム設定
(1) ネットワークサービスの概要
(2) 基本設定
(3) インターフェースの設定
(4) ルーティングの設定
(5) DNSサーバの設定
(6) ネットワークサーバの設定
(i) DHCP
(ii) Mail
(iii) FTP
(iv) SAMBA
(7) WWWサーバの設定
(8)セキュリティー 機能の設定
DHCPとは
• 基本はアドレスの自動割り当て方法
• アドレス割り当ての他に、DNSサーバのア
ドレス等の情報を配る
• DHCPサーバは、ホスト(クライアント)にア
ドレスを割り当てる
• アドレスの節約
• セキュリティー対策としてのアドレス変更
TCP/IPシステム設定
(1) ネットワークサービスの概要
(2) 基本設定
(3) インターフェースの設定
(4) ルーティングの設定
(5) DNSサーバの設定
(6) ネットワークサーバの設定
(i) DHCP
(ii) Mail
(iii) FTP
(iv) SAMBA
(7) セキュリティー 機能の設定
(8) WWWサーバの設定
メイルサービス
• メイルの送信・受信
– SMTP (Sendmail etc.)
• メイルサーバからクライアントへの送信
– POP
– IMAP
メイルサービス
SMTP サーバ サーバ POP/IMAP SMTP ホストsendmail
・ sendmailの取得
- http://www.sendmail.org/・sendmailのインストール
# gzip -d sendmail.8.8.8.tar.gz # tar -xvf sendmail.8.8.8.tar # cd sendmail-8.8.8 # sh makesendmailConfiguration: os=Linux, rel=2.0.30, rbase=2, rroot=2.0, arch=i486, sfx=
Creating obj.inux.2.0.30.i486 using makefile.Linux (省略)
groff -Tascii -mandoc sendmail.8 > sendmail.0 # cd obj.linux.2.0.30.i486
# mkdir /var/spool/mqueue
sendmail設定ファイルの作成
• sendmailの設定ファイル(sendmail.cf)を人
手で書くのは大変
• sendmail.cfを生成するツールを使う
– cf : sendmailに付属
– CF :
ftp://ftp.kyoto.wide.ad.jp/pub/mail/CF/Mail Service
POP/IMAP
-・ /etc/inetd.conf
pop3 stream tcp nowait root /etc/pop3d pop3d imap stream tcp nowait root /usr/sbin/imapd imapd
・ /etc/services
pop3 110/tcp # Post Office Version 3
TCP/IPシステム設定
(1) ネットワークサービスの概要
(2) 基本設定
(3) インターフェースの設定
(4) ルーティングの設定
(5) DNSサーバの設定
(6) ネットワークサーバの設定
(i) DHCP
(ii) Mail
(iii) FTP
(iv) SAMBA
(7) セキュリティー 機能の設定
(8) WWWサーバの設定
FTPサービス
・ FTPサービス
(i) anonymous
(ii) user oriented
・ TCP Port Number = 21
・ /etc/inetd.config
ftp stream tcp nowait root /usr/etc/ftpd ftpd -X (*) -X
-l ; ログを行う
-d ; syslogにログを書きこむ
-t seconds ; 休止期間を秒で設定
TCP/IPシステム設定
(1) ネットワークサービスの概要
(2) 基本設定
(3) インターフェースの設定
(4) ルーティングの設定
(5) DNSサーバの設定
(6) ネットワークサーバの設定
(i) DHCP
(ii) Mail
(iii) FTP
(iv) SAMBA
(7) WWWサーバの設定
(8)セキュリティー 機能の設定
TCP/IPシステム設定
(1) ネットワークサービスの概要
(2) 基本設定
(3) インターフェースの設定
(4) ルーティングの設定
(5) DNSサーバの設定
(6) ネットワークサーバの設定
(7) WWWサーバの設定
(8)セキュリティー 機能の設定
WWWサーバ
• WWW(World-wide Web)
• HTTP(Hyper Text Transfer Protocol)
• apacheによるWWWサーバの構築
http://www.apache.org/• 設定ファイル
– httpd.conf
– srm.conf
– access.conf
TCP/IPシステム設定
(1) ネットワークサービスの概要
(2) 基本設定
(3) インターフェースの設定
(4) ルーティングの設定
(5) DNSサーバの設定
(6) ネットワークサーバの設定
(7) WWWサーバの設定
(8)セキュリティー 機能の設定
セキュリティインシデントの分類
• システムのサービス・弱点の探査 – ポートスキャン、プローブ • システムへの侵入 – パスワード推測・破り、パケット盗聴、バッファあふれの利用 • 踏み台・中継に利用 – 電子メールやネットワークニュースの不正中継 – Webプロキシー悪用、匿名FTP悪用、パケットの増幅(smurfing) • 運用妨害・業務妨害 – パケット大量送信、電子メール爆撃、電子メール偽造 – Webチャット潰し、ネットワークニュースのコントロールメッセージ狙われやすいサービス
• Web – CGI プログラム – プロキシ不正利用 – ページ書き換え – 運用妨害 • finger • telnet • NFS (statd) • DNS (named) • FTP – ディレクトリ不正使用 • 電子メール – 不正中継 • ネットワークニュース – 不正なポスト – コントロールメッセージ • ルータ – 侵入、設定変更、踏み台 • and moreシステムへの侵入の典型的手口
① Portscan で(不用意に開いてる)サービスを見つけ ② アプリケーションのセキュリティホールを利用し
(sendmail, INN, phf, imap, pop, statd, named...)
③ 不正なコマンドを実行させてアクセス権限を得たり、 ④ /etc/passwd などのファイルを入手し、パスワードクラック でアカウントを破って ⑤ OSのセキュリティホールをついてroot権限を取り ⑥ 足跡を消したり・バックドアのトロイの木馬をしこんだり ⑦ パケット盗聴プログラムをしかけたりする ⑧ 次のターゲットとなるホストを物色する
Buffer Overflow 攻撃の仕組み
• プログラムが(ネットワー クから)データを読むこむ ために用意するメモリ領 域 = バッファー • データのサイズがバッファー のサイズ以下であること をチェックしていないと、 バッファーが溢れる • スタック上に取られたバッ ファーを溢れさせると、戻 りアドレス等を上書きでき 引数 戻りアドレス 局所変数の バッファー スタックの 成長方向 バッファーサイズを越える データが送り込まれると バッファーが溢れて 戻りアドレスが上書きされる2000/5 LOVE LETTER Virus
• VBS (Visual Basic Script) のスクリプトファイルをメールに 添付 • この添付ファイルをうっかり開くと、VBS のプログラムが 起動する – 画像・音声の拡張子のファイルをVBSのスクリプトに 置き換える(元のファイルは破壊される) – Outlook を使っている場合、そのアドレス帳に登録さ れているアドレスにウィルス付きメールを再送 • 技術的には全然高度なものではない • 世界中で多大な被害 (推定100億ドルを越える)
メールで増殖するウィルスの仕組み
ウィルス 添付ファイル 付きのメール 添付ファイルを開くことによりプ ログラム(マクロ、スクリプト)が 感染被害が拡大するLOVE LETTER Virus 対策
• 出入り口での対策 – ウィルス対策ゲートウェイは早期に対応 • パターンファイルのアップデートは毎日しましょう – 特定の Subject を持つメールのフィルタリング – .VBS 拡張子を持つメールのフィルタリング • クライアント側での対策 – Virus対策ソフトウェア – 素性のはっきりしない添付ファイルを開かない – Microsoft もようやく Outlook のセキュリティを強化 Outlook 2000 (SR1) では、VBS などの添付ファイルは 警告メッセージが表示され、開くことはできない2001/7 “Code Red” Worm
• Windows NT/2000 上の IIS + Index Server
/Services の「Index Server ISAPI エクステン
ションのバッファー・オーバーフロー」の脆弱性を
利用して伝播するワーム
• 複数のバージョンが存在
– オリジナルの “Code Red” – 一部改変されたその「変種」
– 同一コンセプトで独立に作成された “Code Red II”
Code Red (II) の攻撃リクエスト
• Code Red GET /default.ida?NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN%u9090%u685 8%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u 9090%u9090%u8190%u00c3%u0003%u8b00%u531b%u53ff%u0078%u0000%u00=a • Code Red II GET /default.ida?XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX%u9090%u685 8%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u 9090%u9090%u8190%u00c3%u0003%u8b00%u531b%u53ff%u0078%u0000%u00=aCode Red の振る舞い
• Index Server(Services)のバッファーオーバフロー
の脆弱性を攻撃して、サーバーに侵入
• 侵入に成功すると、メモリ上に常駐
– ファイルシステムには書き込みをしないので発
見しづらい、またrebootすると一旦消える
• ランダムなIPアドレスに対しScan、侵入を繰返す
– 乱数の初期値が固定のため、同じIPアドレスに攻撃 が繰り返される傾向あり• Webページを改竄 (日本語版Windowsでは不発)
Code Red (感染期=1日∼19日)
"Code Red" Wormの攻撃
①port 80番に接続し ②IISのbuufer over-flowのセキュリティホー ルを攻撃 ③コードを感染させる ランダムにターゲットを選んで 攻撃を繰り返し、感染を広げる ランダムにターゲットを選んで 攻撃を繰り返し、感染を広げる IIS IIS IIS IIS IIS
#Software: Microsoft Internet Information Services 5.0 #Version: 1.0
#Date: 2001-08-22 05:55:55
#Fields: time c-ip cs-method cs-uri-stem sc-status
05:55:55 10.1.1.1 GET /default.ida?XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u 6858%ucbd3%u7801%u9090%u9090%u8190%u00c3%u0003%u8b00%u531b%u53ff %u0078%u0000%u00=a IISのbuffer overflow を利用し て、%u以下のCPUの命令コード が送り込まれる
1) 内部からの脅威
• 典型的に、Worm 等の内部感染の脅威
• どうする?
– 内部をIDS等で監視
• 異常を発見したら、端末を特定し切り離し– 端末のセキュリティを強化
• サーバーと違い、数が多いのでパッチ適用なども 大変 • ウィルスではやっている • 集中管理の仕組みが必要資料ソース:
NETWORLD+INTEROP T201 ネットワークセキュリティ技術
大学・研究機関で起りうる問題
• サーバが不正侵入され、データが書き換えられたり破壊 されたりする • サーバが不正侵入され、外部に対する攻撃の「踏み台」 に使われる • サーバが SPAM メールの不正な中継に使われる • 内部の人間が、内部から外部に対して不正行為を行う • 内部の人間が、内部のサーバ上で不適切な情報発信を 行う • 内部のネットワークに、権限を持っていない人間がコン ピュータを接続して悪用する大学・研究機関の特殊条件
• ポリシーをトップダウンで決めることが困難 • サーバは分散(独立)管理されている • サーバが簡単に(安易に)立てられる • 内から外へはあまりきつい制限はできない • 外部からのアクセスも、ほぼ必須要件• UNIX, Windows, Macintosh … のサポートが必要となる • ユーザの技術レベルに大きな差がある
• 高速なネットワーク環境
大学・研究機関の特殊性(1)
• 現状の把握が困難 – 誰が何のアプリケーションを使っているかわからない • セキュリティポリシーの策定・合意が困難 – 多くの場合、管理者は権限者ではない • わがままなユーザ – 見切り発車すると、クレーム続出 • 既存環境の変更が困難 – 研究室単位にサーバが運用されているため – 設定・利用の変更の周知徹底が困難大学・研究機関の特殊性(2)
• 「××のアプリケーションが使えなくなった」 – 導入後にいろいろ変更が必要になる場合が多い • 「内部から外部へは全部通す」設定にしてくれ – あらゆるアプリケーションに対応できる 魔法のファイアウォールは存在しない – NAT箱の方が設定は楽なことは多い • 問題になりやすいアプリケーション – H.323などマルチメディア系、ICQ、…大学・研究機関の特殊性(3)
• 高速なネットワーク環境への対応が求められる – ∼1Gbps に対応できるファイアウォールやIDSがあるか? • 外部(インターネット)からのアクセスが必須 • Windows より簡単になった Linux – 危ないサーバがますます増える • <情報コンセント>に接続される機器の管理 • ユーザ認証に基づくネットワークへの接続・利用 • 悪いことをする子供の問題、「教育」の必要性 • 危機管理体制インターネットから内部へのアクセス
• リモートログインなら SSH
– UNIXは○, Windows は○、Macintosh が△ • Remote Access VPN (IPsec) は透過的で良いが
– VPN製品 IPsec クライアント → Windows は○、Macintosh 対応は少数 – OS の IPsec 標準対応増えてくる → 相互接続性はいいま1歩 • メールだけなら – APOP、SSL-POP/SSL-IMAP
Approaching a Problem
TIPS;
- 詳細情報の正確な収集
- 可能なら同じ状態を別なシステムで再現
- どのレベルで障害が発生しているか?
+ 特定のApplication ?
+ 特定のホスト?
+ 特定のネットワークセグメント?
- 先入観を持たない
- 問題の切り分けを順次行う
Approaching a Problem (続)
TIPS;
- セキュリティー機能(Firewall)が理由かも
しれない. ping, traceroute, ICMP_error
は通らない。
- Error Messageを細かく解析する。
- 障害例を公知にする(e.g., FAQ)
- 障害の原因は極めて単純な場合が多い。
(e.g., cable, plug)
Diagnostic Tools
・ ケーブルテスター
・ Lap-Top PCを使った診断
- ifconfig; Interface Configuration
- arp; ARP-table information
- netstat ; routing information
- ping ; reachability/connectivity
- nslookup ; DNS information
- dig ; DNS information
Troubleshooting & Monitoring
(1) Diagnostic Tools
(2) Testing Basic Connectivity
(3) Troubleshooting Network Access
(4) Checking Routing and Name Service
(5) Analyzing Protocol Problem
Connectivity Check ; ping
・ ping host [packet_size] [count]
- Unknown host ; DNS問題
→ nslookup, dig
- Network unreachable ; Routing Protocol問題
→ traceroute, netstat
- No Answer ; Routing Protocol 問題、Interface問題
→ traceroute, netstat, ifconfig
Connectivity Check ; ping
・ ping host [packet_size] [count]
# ping -s ns.uu.net 56 5
PING ns.uu.net: 56 data bytes
64 bytes from ns.uu.net (137.39.1.3): icmp_seq=0. Time=32.8 ms 64 bytes from ns.uu.net (137.39.1.3): icmp_seq=1. Time=15.3 ms 64 bytes from ns.uu.net (137.39.1.3): icmp_seq=2. Time=13.1 ms 64 bytes from ns.uu.net (137.39.1.3): icmp_seq=3. Time=32.4 ms 64 bytes from ns.uu.net (137.39.1.3): icmp_seq=4. Time=28.1 ms
----ns.uu.net PING
Statistic----5 packets transmitted, Statistic----5 packets received, 0% packet loss round-trip (ms) min/avg/max = 13.1/24.3/32.8
Troubleshooting & Monitoring
(1) Diagnostic Tools
(2) Testing Basic Connectivity
(3) Troubleshooting Network Access
(4) Checking Routing and Name Service
(5) Analyzing Protocol Problem
Troubleshooting Network Access
・ ifconfig command
# ifconfig le0
le0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING, MULTICAST> mtu 1500 inet 172.16.55.105 netmask ffffff00 broadcast 172.16.55.255
・ arp command
# arp -aNet to Media Table
Device IP Address Mask Flags Phys Addr --- - --- --- ---le0 peanut.nut.com 255.255.255.255 08:00:20:05:21:33 le0 pecan.nut.com 255.255.255.255 00:00:0c:e0:80:b1 le0 almond.nut.com 255.255.255.255 SP 08:00:20:22:fd:51 le0 BASE-ADDRESS.MCAST.NET 240.0.0.0 SM 01:00:5e:00:00:00
Troubleshooting Network Access
・ 例;
IP_Address と MAC_Address のマッピングの
不一致
=> ARPキャッシュ(20分程度)
→ # arp -d host_name
Troubleshooting Network Access
・ netstat command
# netstar -iName Mtu Net/Dest Address Ipkts Ierrs Opkts Oerrs Collis Queue le0 1500 nuts.com almond 442697 2 633424 2 50679 0 le0 1536 loopback localhost 53040 0 53040 0 0 0 → Too many Collisions
→ Dividing Ethernet
(i) Switchの導入 (ii) Routerの導入
Troubleshooting & Monitoring
(1) Diagnostic Tools
(2) Testing Basic Connectivity
(3) Troubleshooting Network Access
(4) Checking Routing and Name Service
(5) Analyzing Protocol Problem
Checking Routing
・ netstat command (-rn option)
% netstat -rn Routing tables
Destination Gateway Flags Refcnt Use Interface 127.0.0.1 127.0.0.1 UH 1 766 lo0 default 172.16.12.1 UG 2 2955 172.16.12.0 172.16.12.2 U 40 11239 le0 172.16.2.0 172.16.12.3 UG 4 1179 le0 172.16.1.0 172.16.12.3 UG 10 2344 le0 172.16.3.0 172.16.12.3 UG 2 1279 le0 % netstat -rn | grep ‘172¥.16¥.1¥.0¥’ 172.16.1.0 172.16.12.3 UG 10 2344 le0
Checking Routing (例)
% ping -s sunsite.une.edu 56 2 (*) sunsite.une.edu=152.2.254.81
PING sunsite.unc.edu: 56 data bytes sendto: Network is unreachable
ping: wrote sunsite.une.edu 64 chars, ret=-1 sendto: Network is unreachable
ping: wrote sunsite.une.edu 64 chars, ret=-1 ----sunsite.une.edu PING
Statistics----2 packets transmitted, 0 packet received, 100% packet loss
% netstat -rn | grep ‘152¥.2¥.0¥.0¥’ <= check route for 152.2.0.0
% (*) no response...
% netstat -rn | grep def <= check default route
% default 172.16.12.1 UG 0 101277 le0
Checking Routing (例)
・ Static route ; route add
% route add 152.2.0.0 172.16.12.3
・ Dynamic route ; routing process check % ps ‘cat /etc/gated.pid’
PID TT STAT TIME COMMAND
Checking Routing; traceroute
・ traceroute command % traceroute da.internic.net
traceroute to ds.internic.net (198.49.45.10),30 hops max, 40 bytes packtes 1 gw-55.nuts.com (172.16.55.200) 0.95ms 0.91ms 0.91ms 2 172.16.230.254 (172.16.230.254) 1.51ms 1.33ms 1.29ms 3 gw225.nuts.com (172.16.2.252) 4.13ms 1.94ms 2.20ms 4 192.221.253.2 (192.221.253.2) 52.90ms 81.19ms 58.09ms 5 washdc1-br2.bbnplanet.net (4.0.36.17) 6.5ms 5.8ms 5.88ms 6 nyc1-br1.bbnplanet.net (4.0.1.114) 13.24ms 12.71ms 12.96ms 7 nyc1-br2.bbnplanet.net (4.0.1.178) 14.64ms 13.32ms 12.21ms 8 cambridge1-br1.bbnplanet.net (4.0.2.86) 28.84ms 27.78ms 23.56ms 9 cambridge1-crl4.bbnplanet.net (199.94.205.14) 19.9ms 24.7ms 22.3ms 10 attbcstoll.bbnplanet.net (206.34.99.38) 34.31ms 36.63ms 32.32ms 11 ds0.internic.net (198.49.45.10) 33.19ms 33.34ms * ・ 応答なし ... 9 * * * 10 * * * ・ 経路のループ 6 nyc1-br1.bbnplanet.net (4.0.1.114) 13.24ms 12.71ms 12.96ms
Checking Name Service
・ nslookup / dig Command
- Remote domain の Authoritative Server による検索 - Remote host の検索
- Remote zone の検索 % nslookup
Default Server: almond nuts.com Address: 172.16.12.1
> set type=NS > foo.edu.
Server: almond.nuts.com Address: 172.16.12.1
foo.edu nameserver = gerbil.foo.edu foo.edu nameserver = red.big.com foo.edu nameserver = shrew.foo.edu gerbil.foo.edu inet address = 198.97.99.2 red.big.com inet address = 184.6.16.2 shrew.foo.edu inet address = 198.97.99.1 > set type=ANY
> server gerbil.foo.edu
Default Server: gerbil.foo.edu Address: 198.97.99.2
Checking Name Service (続)
> hamster.foo.edu
Server: gerbil.foo.edu Address: 198.97.99.2
hamster.foo.edu inet address = 198.97.99.8 > server red.big.com
Default Server: red.big.com Address: 184.6.16.2
> hamster.foo.edu Server: red.big.com Address: 184.6.16.2
*** red.big.com can’t find hamster.foo.edu: Non-existant domain
・ “hamster.foo.edu”(198.97.99.8)
- “gerbil.foo.edu”は解決可能。
Checking Name Service (続)
> server red.big.com
Default Server: red.big.com Address: 184.6.16.2
> set type=SOA > foo.edu
Server: red.big.com Address: 194.6.16.2
foo.edu origin = gerbil.foo.edu
mail addr = amanda.gerbil.foo.edu serial=10164, refresh=43200, retry=3600, expire=3600000, min=2592000
> server gerbil.foo.edu
Default Server: gerbil.foo.edu Address: 198.97.99.2
> foo.edu
Server: gerbil.foo.edu Address: 198.97.99.2
foo.edu origin = gerbil.foo.edu
mail addr = amanda.gerbil.foo.edu serial=10164, refresh=43200, retry=3600, expire=3600000, min=2592000
> exit
Zone-fileのversionは
同じ(同一serial番号)
Troubleshooting & Monitoring
(1) Diagnostic Tools
(2) Testing Basic Connectivity
(3) Troubleshooting Network Access
(4) Checking Routing and Name Service
(5) Analyzing Protocol Problem
→ tcpdump
tcpdump
・ Van Jacobson, Craig Leres, Steven McCanne
(LBL; Lawrence Berkeley Lab.,UCB)
・ BSD Packet Filter (BPF) を利用している。
・ 詳細は、man tcpdump, man bpf。
(1) Port=25のTCPパケットのDump % tcpdump tcp port 25
(2) ICMP=0,8(echo request/reply)以外のICMPメッセージのDump % tcpdump “icmp[0] != 8 icmp[0] != 0’
tcpdump Implentation
TCP, UDP
IP, ICMP, IGMP
Device Driver BPF driver
filter filter filter
< kernel >
copy of received pckts copy of transmitted pckts
81
1 (0.0 ) solaris.33016 > slip.discard: S 1:1(0) win 8760 <mss 1460> (DF) 2 (0.1016) slip.discard > solaris.33016: S 1:1(0) ack 1
win 4096 <mss 512>
3 (0.5290) solaris.33016 > slip.discard: P 1:513(512) ack 1 win 4096 <mss 512>
4 (0.0038) bsdi > solaris: icmp: slip unreachable - need to frag, mtu = 296 (DF)
5 (0.0259) solaris.33016 > slip.discard: F 513:513(0) ack 1 win 9216 (DF)
6 (0.0923) slip.discard > solaris.33016: . ack 1 win 4096 7 (0.3577) solaris.33016 > slip.discard: P 1:257(256) ack 1
win 9216 (DF)
8 (0.3290) slip.doscard > solaris.33016: . ack 257 win 3840
9 (0.3308) solaris.33016 > slip.discard: FP 257:513(256) ack 1 win 9216 (DF)
10 (0.3208) slip.discard > solaris.33016: . ack win 3840
11 (0.0422) slip.discard > solaris.33016: F 1:1(0) ack 514 win4096 12 (0.1719) slip.discard > splaris.33016: . ack 2 win 9216 (DF)
<mss 1460> <mss 296>
solaris bsdi slip
512 B (DF)
Troubleshooting & Monitoring
(1) Diagnostic Tools
(2) Testing Basic Connectivity
(3) Troubleshooting Network Access
(4) Checking Routing and Name Service
(5) Analyzing Protocol Problem
SNMP ; RFC1157
Simple Network Management Protcol
・ UDP port 161 / 162
・ Client/Server protocol
- manager (client) @ device being managed
- agent (server) @ NMS
(Network Management Center)・ Request / Response protocol
- requesting ; manager
- responding ; agent
・ Request Types
- polling
SNMP Operation
SNMP agent SNMP manager get-request get-next-request set-request UDP port 161 UDP port 161 UDP port 161 UDP port 162 get-response get-response get-response trapSNMP SMI
・ SMI (Structure of Management Information) ; RFC1155 / 1065
- Managed object ; object identifier - Global unique name
- Hierarchical name structure
- ISO’s ANS.1 (Abstract Syntax Notation One) format (*) ISO 8824
- MIB (Management Information Base)
= individual database of management information (i) Network maps
(ii) Tabular data displays (iii) Filters
SMI Object Identifiers
root
ccitt(0) iso(1) joint-iso-ccit(2)
org(3)
dod(6)
internet(1) <= 1.3.6.1
directory(1) mgmt(2) experimental(3) private(4)
SNMP ANS.1
・例;
(1) udp (1.3.6.1.2.1.7) の IpAddress の表現方法
IpAddress ::=
[APPLICATION 0] in network-byte order --IMPLICIT OCTET STRING (SIZE(4))
(2) udp (1.3.6.1.2.1.7) の udpNoPorts の表現方法 udpNoPorts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION
“The total number of received UDP datagrams for which there was no application at the destination port.”