Oracle LinuxでIPアドレスを確認する方法|最速でネットワーク情報を把握!

Linux

Oracle Linuxを使っていて「このサーバ、いまどのIPアドレスで動いてるんだっけ?」と確認したいことはよくあります。

特に初期設定やSSH接続の時は必須ですよね。

この記事では:

  • Oracle LinuxでIPアドレスを確認する定番コマンド
  • バージョンによって違うipifconfigの使い分け
  • ネットワーク情報を効率的に取得するテクニック
  • トラブルシューティングに役立つ高度な確認方法

をわかりやすく解説します。これを読めば、すぐに自分のサーバのIPを確認できるようになりますよ!

スポンサーリンク

Oracle Linuxの基本ネットワークコマンド

ipコマンドが現在の標準

Oracle Linux 7以降では、iproute2パッケージに含まれるipコマンドが標準的なネットワーク管理ツールです。従来のnet-toolsパッケージ(ifconfigなど)に代わる新しいツールセットとして位置づけられています。

基本的なIPアドレス確認

全インターフェースの表示

ip addr show

または短縮形:

ip a

出力例

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo

2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:3e:f1:2c brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic ens192
    inet6 fe80::20c:29ff:fe3e:f12c/64 scope link

この出力で重要なのは:

  • inet 192.168.1.100/24の部分がIPv4アドレス
  • /24はサブネットマスク(255.255.255.0と同じ)
  • ens192がネットワークインターフェース名

特定のインターフェースの確認

単一インターフェースの詳細表示

ip addr show ens192

IPv4アドレスのみ表示

ip -4 addr show ens192

IPv6アドレスのみ表示

ip -6 addr show ens192

Oracle Linuxのバージョン別対応

Oracle Linux 8/9での推奨方法

  • 標準ipコマンド(デフォルトでインストール済み)
  • パッケージiproute2(システム標準)

Oracle Linux 7での対応

  • 推奨ipコマンド
  • 従来互換ifconfig(要追加インストール)

Oracle Linux 6以前での対応

  • 標準ifconfigコマンド
  • 新方式ipコマンド(追加インストール可能)

レガシーコマンド(ifconfig)の使用方法

ifconfigの基本使用法

Oracle Linuxの新しいバージョンではifconfigはデフォルトでインストールされていませんが、古いスクリプトや手順書との互換性のために必要な場合があります。

net-toolsのインストール

Oracle Linux 7/8/9

sudo yum install net-tools

または

sudo dnf install net-tools

ifconfigの基本的な使用

全インターフェースの表示

ifconfig

出力例

ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.100  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::20c:29ff:fe3e:f12c  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:3e:f1:2c  txqueuelen 1000  (Ethernet)
        RX packets 1450  bytes 156789 (153.1 KiB)
        TX packets 892   bytes 87234 (85.1 KiB)

特定インターフェースの確認

ifconfig ens192

ipとifconfigの比較

機能ip コマンドifconfig コマンド
パッケージiproute2(標準)net-tools(要インストール)
IPv6対応完全対応限定的対応
将来性推奨・継続開発非推奨・開発終了
表示形式構造化された出力従来の見慣れた形式
学習コストやや高い低い(馴染み深い)

効率的なIPアドレス取得テクニック

簡潔なIP取得方法

hostname コマンドの活用

全IPアドレスの一覧表示

hostname -I

出力例

192.168.1.100 172.17.0.1

スペース区切りでアクティブなIPアドレスがすべて表示されます。

ホスト名とIPの組み合わせ表示

hostname -i

ルーティング情報からのIP取得

デフォルトゲートウェイまでの経路確認

ip route get 8.8.8.8

出力例

8.8.8.8 via 192.168.1.1 dev ens192 src 192.168.1.100 uid 1000

このsrcの値が送信元IPアドレス(自分のIP)です。

デフォルトルートの確認

ip route show default

シェルスクリプト向けのIP抽出

特定の形式でIPアドレスを抽出

メインのIPアドレスのみ取得

ip route get 1.1.1.1 | awk '{print $7}' | head -1

特定インターフェースのIPアドレス抽出

ip addr show ens192 | grep "inet " | awk '{print $2}' | cut -d'/' -f1

すべてのIPv4アドレスをリスト形式で取得

ip -4 addr | grep -oP '(?<=inet\s)\d+(\.\d+){3}'

高度なネットワーク情報確認

ネットワーク接続状態の詳細確認

アクティブな接続の表示

TCPポートの確認

ss -tuln

出力例

State    Recv-Q   Send-Q   Local Address:Port   Peer Address:Port
LISTEN   0        128      0.0.0.0:22           0.0.0.0:*
LISTEN   0        128      [::]:22              [::]:*

特定ポートのリスニング状況

ss -tuln | grep :22

ネットワークインターフェース統計

インターフェース統計情報

ip -s link show

出力例

2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:3e:f1:2c brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast
    1234567    8901     0       0       0       45
    TX: bytes  packets  errors  dropped carrier collsns
    567890     4567     0       0       0       0

ルーティングテーブルの詳細確認

IPv4ルーティングテーブル

簡潔な表示

ip route

詳細な表示

ip route show table all

IPv6ルーティングテーブル

ip -6 route

ネットワーク設定ファイルの確認

Oracle Linuxの設定ファイル場所

NetworkManager使用時(Oracle Linux 7以降)

設定ファイルの場所

ls /etc/sysconfig/network-scripts/

主要ファイル

  • ifcfg-ens192:インターフェース設定
  • ifcfg-lo:ループバック設定

設定内容の確認

cat /etc/sysconfig/network-scripts/ifcfg-ens192

設定例

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=ens192
UUID=12345678-1234-5678-9abc-123456789abc
DEVICE=ens192
ONBOOT=yes

systemd-networkd使用時

設定ファイルの場所

ls /etc/systemd/network/

DNS設定の確認

DNSサーバー設定

resolv.confの確認

cat /etc/resolv.conf

systemd-resolvedの状態確認

systemctl status systemd-resolved

NetworkManagerでのDNS確認

nmcli dev show | grep DNS

トラブルシューティング

よくある問題と対処法

IPアドレスが表示されない場合

インターフェースの状態確認

ip link show

インターフェースをアップにする

sudo ip link set ens192 up

DHCPクライアントの状態確認

sudo systemctl status dhclient
sudo systemctl status NetworkManager

ネットワーク接続のテスト

ローカルネットワークの疎通確認

ping -c 4 192.168.1.1  # デフォルトゲートウェイ

外部ネットワークの疎通確認

ping -c 4 8.8.8.8      # Google DNS
ping -c 4 google.com   # DNS解決テスト

ルーティングの確認

traceroute 8.8.8.8

ネットワークサービスの管理

NetworkManagerの制御

サービス状態の確認

sudo systemctl status NetworkManager

ネットワーク接続の再起動

sudo systemctl restart NetworkManager

特定インターフェースの再起動

sudo nmcli connection down ens192
sudo nmcli connection up ens192

従来のnetworkサービス(Oracle Linux 6以前)

サービス状態の確認

sudo service network status

ネットワークの再起動

sudo service network restart

実践的なシナリオ別対応

SSH接続時のIP確認

リモートからの接続IP確認

SSH接続元の確認

who am i
last | head -5

現在のSSHセッション情報

echo $SSH_CLIENT
echo $SSH_CONNECTION

サーバのSSH待受IP確認

ss -tlnp | grep :22
netstat -tlnp | grep :22  # net-tools使用時

仮想環境での特殊な確認

VMware環境での確認

VMware Toolsのネットワーク情報

vmware-toolbox-cmd stat hosttime
vmware-toolbox-cmd info ipaddress

クラウド環境(Oracle Cloud Infrastructure)

メタデータサービスからの情報取得

curl -s http://169.254.169.254/opc/v1/instance/metadata/ | jq

パブリックIPアドレスの確認

curl -s https://ipinfo.io/ip
curl -s https://icanhazip.com

セキュリティを考慮した確認方法

ファイアウォール設定の確認

firewalldの状態確認(Oracle Linux 7以降)

サービス状態

sudo systemctl status firewalld

アクティブなゾーンと設定

sudo firewall-cmd --get-active-zones
sudo firewall-cmd --list-all

iptablesの確認(従来方式)

sudo iptables -L -n
sudo iptables -t nat -L -n

ネットワークスキャンによる確認

同一ネットワーク内の機器確認

nmap使用時

nmap -sn 192.168.1.0/24  # Ping scan

arpテーブルの確認

arp -a
ip neigh show

まとめ

Oracle LinuxでIPアドレスを確認する方法は、バージョンや環境によって最適な選択肢が異なります。重要なポイントを整理すると:

基本的なアプローチ

  • Oracle Linux 7以降ip addr showが標準
  • レガシー環境ifconfig(要net-toolsインストール)
  • 簡潔な確認hostname -Iでクイック表示

推奨コマンドの使い分け

日常的な確認作業

ip a                    # 全体的な状況把握
ip addr show ens192     # 特定インターフェースの詳細
hostname -I             # IPアドレスのみを素早く確認

トラブルシューティング

ip route                # ルーティング確認
ss -tuln               # ポート使用状況
ping -c 4 8.8.8.8      # 外部接続テスト

スクリプト組み込み用

ip route get 1.1.1.1 | awk '{print $7}' | head -1  # メインIP取得
ip -4 addr | grep -oP '(?<=inet\s)\d+(\.\d+){3}'    # 全IPv4アドレス

バージョン別推奨事項

Oracle Linux 8/9(最新環境)

  • ipコマンドを中心に使用
  • NetworkManager活用
  • systemd-resolved対応

Oracle Linux 7(広く使用中)

  • ipコマンド推奨、ifconfigも選択肢
  • NetworkManagerとlegacy networkの混在対応
  • firewalld設定の確認

Oracle Linux 6以前(レガシー環境)

  • ifconfigがメイン、ipも利用可能
  • chkconfig、serviceコマンド使用
  • iptables設定の確認

効率的な作業フロー

  1. 現状把握ip aで全体確認
  2. 詳細調査:特定インターフェースの詳細確認
  3. 接続テスト:ping、tracerouteで疎通確認
  4. 設定確認:必要に応じて設定ファイル確認

コメント

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