12.ネットワークの設定

Linuxのネットワークの設定に関して

12.1. ポート番号

Linuxにおいてポート番号とサービスとの対応は/etc/servicesに記述される。

番号トランスポート層上位サービス・プロトコル説明
20TCPFTPFTPのデータ転送
21TCP/UDPFTPFTPの制御情報
22TCPSSHSSH
23TCPTelnetTelnet接続
25TCP/UDPSMTP電子メール
53TCP/UDPDNSDNS
80TCPHTTPWeb
110TCPPOP3電子メール(受信)
123UDPNTPNTPサービス
139TCP/UDPNetBIOSMicrosoftネットワーク
143TCPIMAP電子メール(IMAP2/IMAP4)
161UDPSNMPネットワークの監視
162TCP/UDPSNMP Trapネットワークの監視(警告通知等)
389TCP/UDPLDAPディレクトリサービス
443TCP/UDPHTTP over SSL/TLSSSL/TLSによるHTTP接続
465TCPSMTP over SSL/TLSSSL/TLSによるSMTP接続
514UDPSyslogロギングサービス
636TCP/UDPLDAP over SSL/TLSSSL/TLSによるディレクトリサービス
993TCP/UDPIMAP over SSL/TLSSSL/TLSによるIMAP接続
995TCP/UDPPOP3 over SSL/TLSSSL/TLSによるPOP3接続

12.2. ネットワークの基本設定

12.2.1. ネットワーク関連のコマンド

ifconfigコマンド

ネットワークインターフェースの状態を表示したり一時的な設定するコマンド。

ifconfig <ネットワークインターフェース名> <オプション>
オプション説明
IPアドレスネットワークインターフェースへのIPアドレスの割り当て
netmask サブネットマスクサブネットマスクの設定
up指定したインターフェースの起動(有効化)
down指定したインターフェースの停止(無効化)

ifup/ifdownコマンド

指定したネットワークインターフェースを起動(有効化)/停止(無効化)するためのコマンド。

ifup <インターフェイス>
ifdown <インターフェイス>

routeコマンド

Linuxマシン内でルーティングの設定を行えるコマンド。

route <オプション>
オプション説明
-Fカーネルのルーティングテーブルを表示
-Cカーネルのルーティングキャッシュを表示

route addコマンド

ルーティングテーブルに新たなルーティングを追加することができるコマンド。

route add <オプション> <ターゲット>
オプション説明
-netターゲットをネットワークとみなす
-hostターゲットをホストとみなす
netmaskサブネットマスクを指定
gwゲートウェイ(ネクストホップ)を指定

ipコマンド

NIC, ルーティングテーブル、ARPテーブルの管理が行えるコマンド。

ip <操作対象> [サブコマンド] [デバイス]
操作対象説明
linkデータリンク層
addrIPアドレス
routeルーティングテーブル
サブコマンド説明
show表示する
add設定する

12.2.2. ネットワークのトラブルシューティングコマンド

pingコマンド

ip通信の疎通確認コマンド。

ping <オプション> < IPアドレス | ホスト名 >
オプション説明
-c 回数パケットを送信する回数を指定
-i 秒パケットの送信間隔を秒単位で指定

tracerouteコマンド

指定したホストまでのパケットが通過する経路を表示させるコマンド。

traceroute < IPアドレス | ホスト名 >

tracepathコマンド

tracerouteコマンドと同様の機能に加えて、経路のMTUも設定できるコマンド。

tracepath < IPアドレス | ホスト名 >

hostコマンド

DNSサーバを使用して指定したホスト情報を検索するコマンド。

host < ホスト名 >

hostnameコマンド

現在のホスト名を表示とホスト名を変更できるコマンド。

hostname

netstatコマンド

TCP/IPの統計情報、接続状況、ルーティング情報などを調査できるコマンド。 解放ポートの確認によく利用される。

netstat <オプション>
オプション説明
-a接続待ち状態にあるソケットと、接続待ち状態にないソケットを表示
-cステータスを1秒ごとにリアルタイムで表示
-iネットワークインターフェースの状態を表示
-l接続待ち状態にあるソケットのみを表示
-nホスト、ポート、ユーザーなどの名前を解決せず、数値で表示
-p各ソケットが属しているプログラムのPIDと名前を表示
-rルーティングテーブルを表示
-tTCPポートのみを表示
-uUDPポートのみを表示

nc, ncatコマンド

ネットワーク通信の確認を行えるコマンド。

12.2.3. ネットワーク関連の設定ファイル

/etc/hostnameファイル

hostnameを設定するファイル。

/etc/hostsファイル

名前解決を記述するファイル。

/etc/network/interfacesファイル

Debian系でネットワークインタフェースの設定を記述するファイル。

/etc/sysconfig/network-scriptsディレクトリ

RedHat系で様々なネットワークインタフェースの設定ファイルを配置するディレクトリ。

12.2.4. NetworkManagerによる設定

RHEL7のデフォルトのネットワークサービス。 操作はnmcliコマンドで行う。

インストールは以下(RedHat系)

yum install -y NetworkManager

デーモンの起動は以下の通り。

systemctl start NetworkManager
systemctl status NetworkManager

インターフェイスの表示

nmcli connection show

インターフェイスの追加

nmcli connection add ifname [インターフェース名] type [インタフェースのタイプ]

インターフェイスの起動停止

nmcli connection up [インターフェース名]
nmcli connection down [インターフェース名]

12.3. DNSの設定

12.3.1. DNSの設定ファイル

設定ファイル説明
/etc/sysconfig/network,/etc/hostnameLinuxのホスト名の設定が行われる(RedHat系, Debian系)
/etc/hostsホスト名とIPアドレスの対応表
/etc/resolv.confDNSサーバやドメイン名の設定。直接触らずコマンドで設定する
/etc/nsswitch.conf名前解決の問い合わせ順の設定

12.3.2. DNS管理コマンド

hostコマンド

DNSサーバを使ってホストやドメインに関する情報を表示するコマンド。

host localhost

digコマンド

DNSサーバに対して問い合わせを行い、その応答結果を表示するコマンド。

 dig <オプション> <ドメイン名 or ホスト名> <検索タイプ>
オプション説明
-xIPアドレスからホスト名を検索
検索タイプ説明
aIPアドレス
any全ての情報
mxメールサーバの情報
nsネームサーバの情報

whoisコマンド

調べたいドメイン名を指定しwhoisデータベースに問い合わせるコマンド。

whois < ドメイン名 >
最終更新 2025.01.19: Added ss command (683d062)