LPIC-2 試験勉強メモ その 6

Linux
スポンサーリンク

ネットワークの構成

ネットワーク関連の管理方法には大きく 2 種類の方法がある。

  • CLI: ifconfig, ip
  • GUI: NetworkManager

ネットワークインタフェースの管理

1 つのインタフェースがカーネル内の 1 つの net_device 構造体によって管理されている。 net_device 構造体には瀬設定情報やインタフェースの状態を示すフラグや統計情報が保持される。 統計情報は擬似ファイルシステムである /proc/net/dev に配置される。

ifconfig コマンド

ネットワークインタフェースの設定と表示をする。

表示: ifconfig [-V] [-a] [-s] [インタフェース名]
設定: ifconfig インタフェース名 オプション
  • -a: 停止しているインタフェース名を含め、全てのインタフェースを表示する
  • -s: 短縮系で表示する
  • -V: ifconfig コマンドのバージョンを表示する
  • up: インタフェースを開始する
  • down: インタフェースのを停止する
インタフェースのフラグ
主なフラグ説明
UPインタフェースが開始している
LOOPループバックインタフェースである
BROADCASTブロードキャストアドレスが有効である
RUNNINGデータリンクのリソースが確保されている
MULTICASTマルチキャストを受信する

ip コマンド

ネットワークインタフェースやルーティングなどの設定と表示をする。

インタフェース情報の表示
データリンク情報の表示: ip link show
IP 情報の表示: ip addr show

NetworkManager

GUI によって設定し、NetworkManager デーモンが監視管理する。

起動: chkconfig NetworkManager on
停止: chkconfig NetworkManager off

仮想インタフェース

物理インタフェース名の後ろに : をつけて数字やアルファベットによる識別子をつける。 仮想インタフェースの統計情報は物理インタフェースに集約される。

インタフェースにつけられる IP アドレスの情報は net_device 構造体からリンクされる in_ifaddr 構造体に格納される。 1 つの in_ifaddr 構造体には 1 つの IP アドレスが格納され、仮想インタフェースが設定されている場合は複数の in_ifaddt 構造体が順番にリンクされる。

ifconfig 物理インタフェース名:別名 [IP アドレス]
ip addr add [IP アドレス/プレフィックス] dev 物理インタフェース名
ip addr add [IP アドレス/プレフィックス] dev 物理インタフェース名 label 別名

IPv6 アドレス

IPv6 アドレスの設定方法。

	ip -6 addr add [IPv6 アドレス/プレフィックス] dev 物理インタフェース

IPv6 では ARP の代わりに NDP (Neighbor Discovery Protocol) を使用する。 マルチキャストで近隣要請 (Nieghbor Solicitation) パケットを送信することにより IP アドレスを持つホストが MAC アドレスを近隣広告 (Neighbor Advertisement) パケットで返すことで解決する。 NDP キャッシュは一定時間メモリに保持される。

無線 LAN インタフェース

コマンド説明
iwc無線 LAN インタフェースの詳細な設定と表示
iwconfigifconfig に似たフォーマットで無線 LAN インタフェースの設定と表示
iwlistアクセスポイントのリストなど、無線 LAN インタフェースの詳細情報の表示
iwpriv無線 LAN インタフェースの動作パラメータの設定
iwgetid無線 LAN インタフェースの ID 情報の表示

無線 LAN インタフェースの設定と表示をする。 無線 LAN インタフェースは net_device 構造体に加えて無線 LAN 特有の wireless_dev 構造体などによって管理される。 無線 LAN 特有の統計情報は /proc/net/wireless に配置される。

接続品質

アクセスポイントごとの無線 LAN 接続品質を表示できる。

iwlist インタフェース名 scanning
iwconfig インタフェース名

接続品質は次のフォーマットで表示される。

Link Quality=[現品質]/[最大品質] Signal level=[受信信号レベル] dBm

iw コマンド

Wi-Fi インタフェースの管理コマンドをする。

インタフェースの転送速度や帯域幅などの情報を表示する。

iw dev
iw dev インタフェース名

転送速度や信号レベルなどの詳細情報を表示する。 1 台目のインタフェースが phy0、2 台目のインタフェースが phy1 となっていく。

iw phy
iw phy phy[インデックス番号]

arp コマンド

ARP キャッシュの表示、エントリーの追加と削除を行う。

arp [オプション]
  • -n: 全てのエントリーをIP アドレスで表示する
  • -a [ホスト名|IP アドレス]: 指定したホスト名あるいは IP アドレスのエントリーを表示する
  • -d ホスト名|IP アドレス: 指定したホスト名あるいは IP アドレスのエントリーを削除する (要 root 権限)
  • -f [ファイル名]: 指定したファイル (指定無しの場合は /etc/ethers) から IP アドレスと MAC アドレスのマッピングを読み込んでエントリーを作成する (要 root 権限)
  • -s ホスト名|IP アドレス MAC アドレス: IP アドレスと MAC アドレスのマッピングを指定してエントリを追加する (要 root 権限)

ARP キャッシュ

ARP キャッシュの表示と管理コマンドの基本フォーマット。

ip n
ip neigh
ip neighbor
ARP キャッシュの表示
ip neigh show
ip neigh list
IPv6 の NDP キャッシュの表示
ip -6 neigh show

ping コマンド

ICMP パケットをホストに送信し、その応答を調べることでホスト間の接続性をテストする。

ping [オプション] 送信先ホスト
  • -c count: 送信するパケット個数を指定 (デフォルトはパケットを送信し続ける)
  • -i interval: 送信間隔を秒単位で指定 (デフォルトは 1 秒)

カーネル変数 net.ipv4.icmp_echo_ignore_broadcasts の値が 0 だと ICMP echo reply を返さない。 デフォルトでは 1 に設定されている。

arping コマンド

ARP リクエストを送信する。

arping [オプション] IP アドレス
  • -b: ブロードキャストだけを送信する
  • -c count: 指定した個数のパケットを送信して終了する
  • -D: Duplicate Address Detection (DAD) モード。IP アドレスの重複を検知する
  • -I interface: ARP リクエストを送信するインタフェースを指定する

tcpdump コマンド

ネットワークトラフィックを標準出力にダンプする。

tcpdump [オプション]
  • -c count: count で指定したパケットを受信したら終了する
  • -e: データリンク層のプロトコルヘッダーの情報を表示する
  • -i interface: 指定したネットワークインタフェースをモニターする
  • -l: 標準出力をバッファリングする
  • -n: アドレスを変換せずに数値で表示する
  • -nn: アドレスやポート番号を変換せずに数値で表示する
  • expression: モニターするパケットをフィルタリングする
    • プロトコル: ether, ip, arp, tcp, udp, icmp
    • 送信先/元ホスト: ホスト名

netstat コマンド

擬似ファイルシステム /proc/net/tcp/proc/net/udp/proc/net/unix を参照して表示する。

ss コマンド

NETLINK ソケットを利用して TCP/UDP、UNIX ソケットの状態を表示する。 NETLINK ソケットを利用して直接カーネルからソケット情報を取得するので、netstat よりも高速に動作する。 -r オプションを除いて netstat コマンドとほとんど同じオプションが使える。

nmap コマンド

ネットワーク上ホストのオープンしているポートを調べて状態を表示するポートスキャナー。

	nmap [オプション] [ホスト名|IP アドレス]
  • -sT: TCP ポートのスキャン (デフォルト)
  • -sU: UDP ポートのスキャン (要 root 権限)
  • -p port_ranges: 調べるポート範囲の指定 (例: -p22, -p 1-65535, -p 53,123)
  • -O: OS 検出を行う
  • -T <0 – 5>: タイミングテンプレートの指定

telnet コマンド

ホストとポート番号を指定してリクエストを送る。

telnet ホスト ポート番号

nc コマンド

ホストとポート番号を指定してリクエストを送る。 スクリプトを読み込んでのテストが可能。

nc ホスト ポート番号

ACL

TCP Wrapper の設定ファイルにアクセスを許可または拒否する各サービスを記述する。

  • 許可: /etc/hosts.allow
  • 拒否: /etc/hosts.deny
デーモンリスト:クライアントリスト
  • デーモンリスト: サービスを提供するデーモン名を 1 つ、あるいは複数のデーモン名を空白文字で区切って指定
  • クライアントリスト: クライアントのアドレスパターンを 1 つ、あるいは複数のアドレスパターンを空白文字で区切って指定
アドレスパターン
指定方法説明
ホスト名ホスト名を指定examplehost.mylab.com
ドメイン名. で始まる文字列を指定.mylab.com
ホストアドレスIP アドレスを指定172.16.0.1
ネットワークアドレスIP アドレスのネットワーク部分 . で終わるフォームで指定172.16.
ネットワークアドレスネットワーク/マスクを n.n.n.n/m.m.m.m のフォームで指定172.16.0.0/255.255.0.0
ワイルドカードすべてを対象とする。デーモンリストでも使用可能ALL
アクセス制御の判断順位
  1. /etc/hosts.allow に記述されたホストを許可する
  2. /etc/hosts.deny に記述されたホストを拒否する
  3. どちらにも記述されていないホストを許可する
TCP Wrapper
  • inetd + tcpd: inetd 経由で起動されるサーバーに対するアクセス制御だけ可能
  • xinetd + libwrap: xinetd 経由で起動されるサーバーだけでなく、libwrap をリンクしたサーバーで利用可能

route コマンド

ルートテーブルの管理を行うコマンド。

  • -n: ルートテーブルの表示
ルーティングテーブルの表示
ip route
ip route show
ip route list
ルートエントリーの追加
route add {-net|-host} 宛先 [netmask ネットマスク] gw ゲートウェイアドレス [インターフェイス]
ルートエントリーの削除
route del {-net|-host} 宛先 [netmask ネットマスク] gw ゲートウェイアドレス [インターフェイス]
デフォルトルートエントリーの追加
route add {-net|-host} default gw ゲートウェイアドレス [インターフェイス]
ルーティングテーブルのフィールド
  • Destination: 宛先ネットワークまたは宛先ホスト
  • Gateway: ゲートウェイルーター、なしの場合は 0.0.0.0/0
  • Genmask: 宛先ネットワークのネットマスク
  • Flags: U=経路は有効、H=宛先はホスト、G=ゲートウェイを通過、!=経路を拒否
  • Metric: 宛先までの距離 (小さいものを優先する)
  • Ref: 経路の参照数
  • Use: 経路の参照回数
  • Iface: 経路で使用するインターフェイス

traceroute コマンド

パケットを送信し、宛先への到達性を確認する。 応答はいずれも ICMP エラーパケットとして返答される。

traceroute [オプション] 送信先ホスト
  • -l: ICMP ECHO パケットを送信 (デフォルトは UDP)
  • -f TTL 初期値: TTL の初期値 (デフォルトは 1)

DNS

  • /etc/nsswitch.conf ファイルの hosts: エントリに dns を含める。
  • /etc/resolv.conf ファイルに問い合わせる DNS サーバーの IP アドレスを指定する。

cifsiostat コマンド

CIFS マウントしたファイルシステムに関する統計情報を表示する。

cifsiostat [オプション] [実行間隔 [回数]]

sfsstat コマンド

NFS サーバーおよび NFS クライアントの統計情報を表示する。

nfsstat [オプション]

nfsiostat コマンド

NFS マウントしたファイルシステムに対する read と write に関する統計情報を表示する。

nfsiostat [オプション] [実行間隔 [回数]]

コメント

タイトルとURLをコピーしました