LPIC-1 試験勉強メモ その 8

LPIC-1 試験勉強メモ その 8
目次

ネットワーク

ポート番号

サービスで利用するポートは /etc/services に記載される。

サービス名 ポート番号 / プロトコル 別名

netstat コマンド

TCP と UDP のサービスポートの状態を表示する。 UNIX ドメインソケット状態、ルーティング情報なども表示する。

netstat [オプション]
  • -a, –all: LISTEN も含めてすべてのプロトコル (TCP, UDP, UNIX ソケット) を表示
  • -l, –listening: 接続待ちのソケットを表示
  • -n, –numeric: ホスト、ポート、ユーザーなどを名前解決せず数字のアドレスで表示
  • -p, –program: ソケット、ポートをオープンしているプログラムの PID と名前を表示
  • -s, –statistics: 統計情報を表示
  • -r, –route: ルーティングテーブルを表示
  • -t, –tcp: TCP ソケットを表示
  • -u, –udp: UDP ソケットを表示
  • -x, –unix: UNIX ソケットを表示
netstat の表示項目
  • Proto: 使用するプロトコル
  • Recv-Q: プロセスに渡されなかったデータのバイト数
  • Send-Q: リモートが受け付けなかったデータのバイト数
  • Local Address: ローカルの IP アドレスとポート
  • Foreign Address: リモートの IP アドレスとポート
  • State: ソケット状態 (ESTABLISHED, LISTEN, CLOSE_WAIT)

ping コマンド

ping [オプション] 送信先ホスト
  • -c 回数: 送信するパケット数の個数を指定
  • -i 間隔: 送信間隔 (秒) を指定

traceroute コマンド

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

lsof コマンド

プロセスがアクセスしているファイルを表示する。オプションを指定しない場合は全ユーザープロセスがオープンしているファイルを表示する。

lsof [オプション] [ファイル名]
  • -i: オープンしているポートとプロセスを表示
  • -p プロセス ID: 指定したプロセスがオープンしているファイルを表示
  • -P: ポート番号をサービス名に変換せず、数字で表示
  • +f フォルダ名: フォルダを指定
  • -f ファイル名: 単一のファイルを指定
  • –: オプションの終わりであることを示す

ifconfig コマンド

ifconfig [インターフェイス] [アドレス]

ip コマンド

インターフェイスの Up/Down
ip link set {up|down} dev インターフェイス名
IP アドレスの追加や削除
ip addr {add|del} [IP アドレス/プレフィックス] dev インターフェイス名
ネットワークインターフェイスの IP アドレスを表示
ip addr show インターフェイス名
ルーティングテーブルのエントリーの追加と削除
ip route {add|del} 宛先アドレス via ゲートウェイアドレス
ルーティングテーブルのエントリーの追加と削除
ip route add default via ゲートウェイアドレス
ip route del default

route コマンド

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

  • -n: ルートテーブルの表示
ルートエントリーの追加
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: 経路で使用するインターフェイス

IP 転送を許可する

/proc/sys/net/ipv4/ip_forward で設定する。

  • 0: 拒否
  • 1: 許可

Network Manager

ネットワーク関連のモジュールを自動で管理する。

nmcli コマンド

nmcli [オプション] {general|device|connection|networking} [コマンド] [引数]

hostname コマンド

ホスト名の設定変更する。

DNS サーバー

DNS サーバーの設定ファイル

/etc/resolv.conf

  • domain: ローカルドメイン名
  • search: 検索ドメイン 1、検索ドメイン 2
  • nameserver: DNS サーバーの IP アドレス

名前解決の設定ファイル

  • /etc/nsswitch.conf
  • hosts files dns

hosts コマンド

hosts [オプション] [-t 問い合わせタイプ] ドメイン名 [DNS サーバー]

dig コマンド

dig [@DNS サーバー] ドメイン [問い合わせタイプ]
問い合わせタイプ
  • A: Address
  • NS: Name Server
  • SOA: Start of Authority
  • MX: Mail Exchange

メールシステム

  • MTA (Mail Transfer Agent): メール配送を行うプログラム。(Exim, Postfix, Sendmail, など)
  • MDA (Mail Delivery Agent): MTA が受信したメールをローカルのユーザーに配信する
  • MUA (Mail User Agent): ユーザーがメール送受信のために使うプログラム

sendmail コマンド

  • -bi: 別名データベースの更新
  • -bp: maliq と同じ動作

newalias コマンド

エイリアスデータベースを更新する。

メールスプール

  • Sendmail: /var/spool/mail
  • Exim, Postfix: /var/mail

オープンリレー

制限なくメールを他のドメインへ転送する動作。 セキュリティの問題となるので対策をとる。

  • 外部からのメールはローカルドメインのみ受け取る
  • 内部ネットワークからのメールだけ他のドメインへ送る

メール転送失敗

queue_run_deny で指定した時間だけキューをチェックし、再送を続ける。 それでも失敗したらキューへ送る。

  • sendmail: /var/spool/mqueue
  • Exim: /var/spool/exim/input
  • Postfix: /etc/spool/postfix/deferred

セキュリティ

コマンド実行権限

su コマンド

別のユーザーで新たにシェルを起動する。

su [オプション] [-] ユーザー名

sudo コマンド

特定ユーザーの権限でコマンドを実行する。 省略すると root ユーザーになる。

sudo [オプション] [-u ユーザー名] コマンド

次のファイルで実行可能なユーザーとコマンドを設定する。 /etc/sudoers

  • ユーザー: ユーザー名 ホスト名=(実効ユーザー名) コマンド
  • グループ: %グループ名 ホスト名=(実効ユーザー名) コマンド

リモートからの操作

xinetd: ネットワークからのリクエストを受け付ける。 only_from オプションで特定のホストからのみ受け付ける。

TCP Wrapper

通信を許可する。

  • 許可: /etc/hosts.allow
  • 拒否: /etc/hosts.deny

SSH

  • .ssh/known_hosts: サーバーのホスト名、IP アドレス、公開鍵を記録
  • .ssh/ssh_known_hosts: システムのすべてのユーザーが使えるホスト情報
  • .ssh/config: ssh コマンド実行時のユーザー名、ポート番号、プロトコル

PermitRootLogin: root ユーザーの権限で ssh アクセス許可があるか。

ssh-keygen コマンド

SSH 公開鍵を生成する。

ssh-keygen -t キータイプ

ssh-agent コマンド

複合された秘密鍵をメモリに保持する。

find コマンド

  • -uid ユーザ ID: ファイルの所有者のユーザー ID を指定
  • -user ユーザー名: ファイルの所有者のユーザー名またはユーザー ID を指定
  • -perm パーミッション: ファオルのパーミッションを指定
find [検索ディレクトリ] [検索オプション]

GPG (GNU Privacy Guard)

gpg コマンド

~/.gnupg 配下に設定。

  • -e, –encrypt: 暗号化
  • -r, –recipient: 受信者アドレスを指定
  • –edit-key: 鍵を管理

last コマンド

最近ログインしたユーザーのリストを表示する (/var/log/wtmp)。 現在ログインしているユーザーを表示する (/var/log/utmp)。

ulimit コマンド

プロセスのリソースを制限する。

  • -a: 現在のすべての設定を表示
  • -c: コアダンプで生成される core ファイルの最大サイズを制限する
  • -n: オープンできるファイル (ファイル記述子) の最大個数を制限する
  • -v: プロセスの仮想メモリの最大サイズを制限する