みなさんこんばんわ、mitsuです。今回はIPアドレスの設定方法について紹介していきたいと思います。
Linuxディストリビューションによって設定方法が変わったりするので是非覚えていきましょう!
本記事でわかること
本記事では下記のようなことがわかります。
・ubuntu20.04とcentos8.4のIPアドレス設定方法がわかります。
・コマンド、GUI、設定ファイルでの設定方法がわかります。
・実行例を交えて設定するので、 やるべきことが明確です。
そのため手軽に変更してみたいという方はぜひ最後まで見ていってください!
それでは以下紹介していきます。
IPアドレスとは
ネットワーク上機器同士の所在を明らかにするためのアドレスです。これをIPアドレスと呼ばれます。
設定方法
設定方法は多岐にわたりますが、今回の記事では「コマンド」「GUI操作」「設定ファイル」の3つをお送りします。
今回はubuntu20.04とcentos8.4での実行例を紹介していきます。
それではまずコマンドから紹介していきます。
ifconfig
ネットワーク環境の確認と設定を行うコマンドです。
今ではメインで使用が推奨されていないため、最新版のLinux等ではインストールされていません。
ifconfigインストールされていない場合
必要であればインストールする必要があります。OSによりパッケージ管理システムが違うためコマンドが変わります。
下記がコマンドになります。
ubuntu20
ubuntuの場合apt-getパッケージシステムを利用し、下記コマンドを入力します。
$apt-get install net-tools
centos8
centosではyumパッケージシステムを利用し下記コマンドを入力します。
$yum install net-tools
書式
書式は下記となります。
$ifconfig [オプション] [インタフェース] 操作オプション
オプション
操作オプション | |
オプション | 説明 |
up | インタフェースを起動します |
down | インタフェースを停止します |
add | インタフェースにIPアドレスを追加します |
del | インタフェースからIPアドレスを削除します |
metric 値 | インタフェースのメトリック値を設定します |
mtu 値 | インタフェースの最大転送単位(MTU)を設定します |
netmask アドレス | インタフェースのネットマスクを設定します |
tunnel アドレス | IPv6 over IPv4トンネルを作成します |
hw ether アドレス | MACアドレスを設定します |
確認オプション | |
-a | 停止(down)しているものを含め、全てのインタフェースを表示します |
-s | インタフェースの通信状況を簡潔に表示します |
実行例
オプションが多数存在しますが、IPアドレス変更に関わる箇所を抜粋して紹介していきます。
表示結果の見方
項目 | 項目意味 | 説明 |
---|---|---|
ens33 | インターフェース名 | インターフェースの名称です。 |
flags | インターフェースの状態 | インターフェースの状態フラグです。 |
4163 | フラグの数値表示 | 括弧の中の状態フラグを数値化したものです。 |
UP | インターフェースの起動状態 | インターフェイスの起動状態です。 |
BROADCAST | ブロードキャストの状態 | インターフェースがブロードキャストを利用できるときに表示されます。 |
RUNNING | 転送の状態 | システムがパケットをインターフェース経由で転送しているかによって表示されます。 |
MULTICAST | マルチキャストの状態 | インタフェースがマルチキャスト転送を利用できるかによって表示されます。 |
mtu 1500 | 最大転送単位 | 送信最大値(Maximum Transmission Unit)です。 |
Metric | メトリック値(送信先までの経路の距離を表す指標) | メトリック値(送信先までの経路の距離を表す指標)です。 |
RX | packets: errors: dropped: overruns: |
packets:受信パケット数です。 errors:エラーパケット数です。 dropped:破棄したパケット数です。 overruns:処理が遅延したパケット数です。 |
TX | 送信パケット数 | 送信パケット数です。 |
carrier | キャリア数 | キャリア数です。 |
collisions | 衝突が発生した回数 | 衝突が発生した回数です。 |
ipアドレス設定
IPアドレスを「192.168.1.2」に変更します。
IPアドレス追加
「192.168.1.1」と「192.168.1.2」のアドレスを「ens」のインターフェイスに追加しています。
IPアドレス削除
「192.168.1.1」と「192.168.1.2」のアドレスを「ens」から削除しています。
このような入力で簡単に設定できます。
ip
ネットワークデバイスのネットワーク設定情報の確認とsystemdを操作するコマンドで、サービスの起動や停止、状態確認などを行うことが出来ます。
従来は、ifconfigコマンドやnetstatコマンド、routeコマンドなど、net-toolsパッケージに収録されているコマンド群を使用していました。現在は、いずれもipコマンドへの移行が進んでおります。
書式
書式は以下になります。
$ip [オプション] オブジェクト [サブコマンド]
オブジェクト
オブジェクト | 別名 | 説明 |
link | l | ネットワークデバイス |
addr | a,address | ネットワークデバイスのIPアドレス |
addrlabel | addrl | アドレスラベル |
route | r | ルーティングテーブルのエントリー |
rule | rul | ルーティングポリシーデータベースに登録されているルール |
neigh | n,neighbour | 近傍キャッシュエントリ |
ntable | nt,ntb | 近傍キャッシュの管理テーブル |
tunnel | t | IPトンネル |
tuntap | tu | トンネルデバイス |
maddr | m,ma,mad | マルチキャストアドレス |
mroute | mr | マルチキャストルーティングのキャッシュエントリ |
mrule | mru | マルチキャストルーティングポリシーデータベースに登録されているルール |
monitor | mon | ネットリンクメッセージの監視 |
xfrm | x,xf | IPsecポリシー |
netns | net | ネットワーク名前空間 |
l2tp | l2 | l2TPv3(レイヤー2トンネリングプロトコル) |
tcp_metrics | tcp_m,top_metrics,tcpm | TCPメトリック |
token | tok | トークン |
オプション
オプション | 説明 |
-f プロトコル | 使用するプロトコルファミリーをinet,inet6,bridge,ipx,dnet,linkから指定します。 |
-4 | ipv4を使用 |
-6 | ipv6を使用 |
-B | ブリッジを使用 |
-D | DECnetを使用 |
-I | IPXを使用 |
-0 | データリンクプロトコルを使用 |
-I 回数 | 「ip addr flush」の試行回数 |
-b ファイル | ファイルからコマンドを読み込む |
-force | バッチモード、エラーで停止しない |
-s -stalts,-statistics | 情報を詳しく表示します。 |
-o (-oneline) | 出力を1行にする(改行が”¥”に置き換えられる) |
-r(--resolve) | アドレスの代わりにDNS名を表示する |
サブコマンド
サブコマンド | 説明 |
add | 指定したIPアドレスを付加します |
change | 指定したIPアドレスの設定を変更します |
replace | 指定したIPアドレスの設定を書き換えます |
del | 指定したIPアドレスを削除します |
list,show | 設定されているIPアドレスを表示します(デフォルト) |
save | 設定を保存します(バイナリで出力されるのでリダイレクトで保存する) |
flush | デバイスに設定されているすべてのIPアドレスを消去します |
実行例
IPアドレスの設定方法について抜粋して紹介します。
ネットワークデバイスにIPアドレスを追加したい場合は「add」を使い、「ip addr add IPアドレス dev デバイス名」とします。IPアドレスを削除するときは、「del」を使って同様に「ip addr del IPアドレス dev デバイス名」と指定します。
IPアドレスの追加
インターフェイスである「ens33」に対してipアドレス「192.168.1.1」と「192.168.1.2」を追加しています。
IPアドレスの削除
インターフェイスである「ens33」に対してipアドレス「192.168.1.1」と「192.168.1.2」を削除しています。
nmcli
nmtuiと同様にNMと通信を行いネットワークの設定を行うツールです。nmcliは、NetworkManagerの機能にコマンドラインからアクセスできます。
書式
書式は以下になります。
$nmcli [オプション] オブジェクト
オプション
オプション | 説明 |
-f | 簡潔な形式で出力する |
-p | 読みやすい形式で出力する |
-m | 出力モードを変更する |
-f | 出力フィールドを指定する |
-e | コラムセバレーターをエスケープする |
-n | NetworkManager及びnmcliのバージョンチェックを行わない |
-a | パラメータが足りない場合問い合わせる |
-w | 動作完了までのタイムアウトを設定する |
オブジェクト
オブジェクト | 各オブジェクトの説明 | 説明 |
connection | NetworkManagerの接続状況 | |
show | NetworkManagerの接続状況を表示する | |
up(down) | 指定した回線を有効化(無効化)する | |
add | 新しいネットワークデバイスを追加する | |
edit | 既存のネットワークデバイスを編集する(インタラクティブ) | |
modify | 既存のネットワークデバイスを編集する | |
delete | 既存のネットワークデバイスを削除する | |
reload | すべての接続をディスクから読み直す | |
load | ファイルから接続設定を読み取る | |
device | NetworkManagerで管理しているデバイス | |
status | ネットワークバイスの状態を表示する | |
show | ネットワークデバイスの詳細情報を表示する | |
connect | ネットワークデバイスを接続する | |
disconnect | ネットワークデバイスの接続を解除する | |
wifi | 有効なwifiアクセスポイントを一覧する | |
wimax | WIMAXの接続事業者を一覧する | |
general | NetworkManagerの全般的な状態と動作 | |
status | NetworkManagerの設定項目をすべて表示する | |
hostname | ホスト名を表示する/設定する | |
permissions | NetworkManagerの各種スイッチを表示する | |
logging | ログを表示/取得範囲を設定する | |
networking | ネットワーク制御に関する全般 | |
on(off) | 指定した海鮮を有効化(無効化)する | |
connectivity | 接続ステータスを表示する | |
radio | NetworkManagerラジオスイッチ | |
all | radioオブジェクトの全スイッチの状況を表示する | |
wifi | NetworkManagerが管理する無線LANの項目を表示する/設定する | |
wwan | モバイルブロードバンド海鮮をオン/オフする | |
wimax | WIMAX回線をオン/オフする |
実行例
ネットワークデバイス情報の確認
「nmcli con」でネットワークデバイスである「ens33」の情報を表示してくれます。
NAME UUID TYPE DEVICE
ens33 d31c794a-3188-4574-9ec4-0d56fa904432 ethernet enp0s3
mitsu@mitsu:~$
※ネットワークデバイス名は環境により変わります。
IPアドレス変更
変更にあたり必要なコマンドを下記に記載します。IPアドレスを「192.168.1.5」に変更しています。
#IPアドレスを手動で設定するようにします。
nmcli con mod ens33 ipv4.method manual
#IPアドレスを「192.168.1.5」に設定します
nmcli con mod ens33 ipv4.addresses 192.168.1.5/24
#設定情報を設定ファイルにロードします。
nmcli con reload
#設定ファイルの情報をもとにネットワークデバイスを停止して、その後起動します。
nmcli con down ens33 && nmcli con up ens33
nmcli con show
現状のネットワークデバイスである「ens33」の各種設定情報を詳細に表示してくれます。
nmtui
Network Managerと通信を行い、GUIでネットワークを設定・管理するサービスです。今回はIPアドレスの設定を行います。
利用しやすいので、ぜひ覚えておきたいコマンドです。
DHCPによる自動割当の設定
それでは紹介していきます。
端末を起動し、nmtuiを入力します。
接続の編集を選択して、Enterを押します。
環境によりそれぞれですが、「Ethernet 接続 1」というインターフェイス名を選択して、「編集」を選択してEnterを押します。
デフォルトのIPv4のIPアドレスは「自動」になっています。IPアドレスを固定化する必要がない場合はこのままで問題ないです。
他に設定する必要がない場合はOKを選択してnmtuiを終了します。その後再起動すると設定が反映されています。
IPアドレスの固定
以下の内容では、固定のIPアドレスを設定する手順を紹介します。
右端にある「<表示する>」を選択します。
すると、IPアドレスやDNSサーバなどのネットワークの接続に必要な入力欄が出てきます。今回はIPアドレスとして「192.168.0.1」をアドレスに記載しています。
そして、OKを選択してnmtuiを終了します。その後再起動すると設定が反映されています。
GUIでIPアドレスを変更
ここではコマンドではなく、マウスカーソルの操作でIPアドレスの変更をしていきます。
ubuntu
電源ボタンの右にある三角マークをクリックします。そうすると以下のような画面が出てきます。そこで、「Wired Connected」を選択します。
Wiredのプラスマークの下の歯車ボタンをクリックします。
そうする設定画面が出てきます。IPv4をクリックしてせってしていきます。
固定化の場合はManualを選択して、IPアドレスを入力します。DHCP(自動割当)を希望の場合はAutomatic(DHCP)を選択して右上のApplyをクリックします。設定画面を閉じて再起動をします。その後IPアドレスが変わっています。
centos8
電源ボタンの右にある三角マークをクリックします。そうすると以下のような画面が出てきます。そこで、「Wired Setting」を選択します。
Wiredのプラスマークの下の歯車ボタンをクリックします。
Wired設定画面がでてきたら、Ipv4タブを選択します。
固定化の場合はManualを選択して、IPアドレスを入力します。DHCP(自動割当)を希望の場合はAutomatic(DHCP)を選択して右上のApplyをクリックします。設定画面を閉じて再起動をします。その後IPアドレスが変わっています。
設定ファイルでのIPアドレス固定の設定
ubuntuとcentos8の設定ファイル記述について紹介していきます。
今回は記述内容は簡潔に記載致します。
ubuntu
/etc/netplan/00-installer-config.yamlファイルにアクセスします。
「ens33」と「IPアドレス」以外の箇所は決まった形で記載します。
IPアドレスを「192.168.1.3」に変更するために値を変更します。
「netplan --debug generate」コマンドにより編集した設定ファイルにエラーがあるかチェックします。
問題なければ設定反映コマンド「netplan apply」を実施します。
centos8
IPアドレス自動割当設定
デフォルトのBOOTPROTOは「dhcp」となっています。なのでこのまま再起動すればDHCPの設定により自動的にIPアドレスが割り振られます、
IPアドレス固定化設定
「/etc/sysconfig/network-script/ifcfg-ens33」のファイルで「BOOTPROTO」を「static」に設定。「IPADDR」と「NETMASK」を追記します。
再起動して、「ifconfig」コマンドを利用してipアドレスを確認すると上記で指定した「192.168.1.3」に変わっております。
まとめ
以上となります。まとめは以下になります。
・IPアドレス設定方法は、コマンド、GUIでの操作、設定ファイルの変更が主な手段となります。
・ifconfig,ip,nmcli,nmtuiコマンドはオプションが豊富で、覚えるのが大変だが、目的を絞れば簡単に扱えます。
・設定ファイルでの変更もバージョンの違いによって変わってきます。
以上となります。
当ブログではLinuxに関する記事も執筆しておりますので、ぜひご参考にいただけますと幸いです。