設定方法:IPアドレスの固定化

設定方法:IPアドレスの固定化

この章の内容

Linux基礎1では、ネットワークへの接続方法について
意識せずに、CentOSの利用を行ってきました。
本来、ネットワークへ接続するためにはIPアドレスを
割り当てる必要がありますが、DHCPにより自動で
IPアドレスが割り当てられているため、意識することなくCentOSを介してインターネットを利用することができていました。
この章では、手動でネットワークを接続方法を確認することで、LINUXにおけるネットワークの知識を深めていきます。

手順

  1. 事前準備(ネットワークアダプタの変更)
  2. 使用インターフェースの確認
  3. ネットワークの設定状況(IPアドレス)の確認
  4. ネットワークの設定
  5. ネットワークの再起動
  6. ネットワークの変更状況の確認

0. 事前準備(ネットワークアダプタの変更)

CentOSのネットワークの状況について…

今回、CentOS(ゲストOS)は、Windows OS(ホストOS)を介して起動しているため、当然、Windowsが接続しているネットワークをCentOSのネットワークとして接続します。

ネットワークアダプタとは?

ネットワークアダプタとは、コンピュータなどの機器をネットワーク
(インターネット)に接続するための装置です。

通常、この装置を介してネットワークを接続しますが、ゲストOS(CentOS)をネットワークに接続させるためにも、
VMwareを介して専用のネットワークアダプタを設定する必要があります。

VMwareのような仮想マシンでは、 ゲストOSのネットワークアダプタと
してNATとブリッジ接続の二つがあります。

NAT

NAT(Network Address Translation)は、IPアドレスを別のIPアドレスに変換するための機能です。

ゲストOS(CentOS)のネットワークアダプタとしてNATを適用すると、

ホストOS(WindowsOS)がゲストOSのNAT(=ゲストOSのIPを変換するもの)として機能するので、
ホストOS(Windows)を経由してゲストOSがネットワークに接続することになります。

この時、ホストOSとゲストOSは直接、通信(データのやり取り)を行うことができません。
デフォルトではNAT接続が適用されています。

ブリッジ接続

一方、ブリッジ接続は、ホストOS(Windows)から独立してゲストOS(CentOS)にIPアドレスが割り当てられるので、
同じPC内に存在するにも関わらず、ゲストOSとホストOSがネットワーク上に独立して存在するかのような動きをします。

今回、ブリッジ接続を適用させるための設定を行います。

1. 使用インターフェースの確認

ゲストOS(CentOS)のIPアドレスが割り当てられるインターフェース(デバイス)を確認します。

nmcli device

現在有効のインターフェース(デバイス)を確認することができます。

[root@localhost ~]#nmcli device
DEVICE  TYPE      STATE     CONNECTION
ens33   ethernet  接続済み  ens33
lo      loopback  管理無し  --

2. ネットワークの設定状況(IPアドレス)の確認

先ほど調べた、ゲストOS(CentOS)のインターフェース(デバイス)に現在、割り当てられているIPアドレスなど
ネットワークの設定情報を確認していきましょう。

ゲストOSのネットワークの設定情報を確認する: ip a または ip addr show

「ip a(または ip addr show)」によって、ゲストOS(CentOS)の各インターフェース(デバイス)に割当てられた
IPアドレス(ipv4、ipv6両方)などの情報が確認できます。

[root@localhost ~]#ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
~~省略~~
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:c2:a0:d4 brd ff:ff:ff:ff:ff:ff
    inet 192.168.201.133/24 brd 192.168.201.255 scope global noprefixroute dynamic ens33
       valid_lft 1768sec preferred_lft 1768sec
    inet6 fe80::e223:d5b:892f:be0c/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

ホストOS(WindowsOS)のネットワークの設定状況を確認する

続いてWindowsOSのネットワークの設定状況を確認します。

1. WindowsOSからコマンドプロンプトを開く

WindowsOSからコマンドプロンプトを開く
スタートメニュー > 「cmd」と記入 > 「コマンドプロンプト」をクリック

2. 「ipconfig」と入力する
3. デフォルトゲートの情報をメモする

表示された結果の中から、「IPアドレス」「サブネットマスク」「デフォルトゲートウェイ」の情報をメモしてください。

また無線LANを利用中の場合は「Wireless LAN adapter Wi-Fi」、有線(LANケーブル)を利用中の場合は、
「イーサネット アダプター~」と表示されます。

3. ネットワークの設定

先ほど特定したゲストOS(CentOS)のインターフェース(デバイス)に今度は任意のIPアドレスの割り当てを行っていきましょう。

実際に特定のインターフェースをネットワークに接続させるためには、

  • IPアドレスに加え
  • デフォルトゲートウェイ
  • DNSサーバ

の情報を設定する必要があります。

設定するIPアドレスについて

またCentOSに設定するIPアドレスについて「ホストOS(WindowsOS)のネットワークの設定状況を確認する」で
確認した内容を元に以下の通りに決めます。

IPアドレス

WindowsOSと同じネットワーク内の任意のIPアドレス

デフォルトゲートウェイ

WindowsOSのデフォルトゲートと同じIPアドレス

※ デフォルトゲートウェイは、所属しているネットワークの出入り口(外部のネットワークとの接続するネットワーク機器)を意味し、自宅や社内では、ルータがその役割を担っているので、WindowsOSのデフォルトゲートウェイと同じIPアドレスになります。

DNSサーバ

デフォルトゲートと同じIPアドレス

まとめ

3. ネットワークの設定

では実際にCentOSにIPアドレスを設定する方法を確認していきましょう。

コンフィグ(設定ファイル)に設定する場合

CentOSではネットワークに接続する各デバイス(インターフェース)のネットワークに関する
コンフィグ(設定ファイル)が用意されています。
この各デバイスのネットワークに関する設定ファイルは、以下のパスに用意されています。

設定ファイル(コンフィグ)の格納場所

/etc/sysconfig/network-scripts/ifcfg-デバイス名
※ls コマンドを使ってnetwork-scriptsディレクトリ下にあるファイル名を確認してみましょう。

コンフィグ(設定ファイル)に設定する場合

① 設定ファイルの編集する

Vi コマンドを使用して編集して以下の通りに編集していきましょう。

[root@localhost ~]#vi /etc/sysconfig/network-scripts/ifcfg-ens33
設定内容の意味①:DHCPについて

DHCPは自動でIPアドレスを自動で割り当てる機能であり、デフォルトだとDHCPが有効になっています。
今回、固定でIPアドレスを割り当てるためDHCPを無効に設定する必要があります。

設定内容の意味②:IPアドレスの設定

以下内容は、該当のインターフェースにIPアドレスを設定するためのものです。

変更後
IPADDR=192.168.0.4 
NETMASK=255.255.255.0
設定内容の意味③:デフォルトゲートウェイの設定

以下内容は、デフォルトゲートウェイの(IPアドレスの)指定をするためのものです。

変更後
GATEWAY=192.168.0.1
設定内容の意味④:DNSサーバの設定

以下内容は、DNSサーバの(IPアドレスの)指定をするためのものです。

変更後
DNS1=192.168.0.1

続いてコマンドを使ってCentOSにIPアドレスを設定する方法を確認していきましょう。

コマンドで設定する場合

① 特定のインターフェースの有効化

先ほど調べたインターフェースを指定します。無効化されていると通信できないため有効化します。

書式
#nmcli c modify デバイス名 connection.autoconnect yes
実行
[root@localhost ~]#nmcli c modify ens33 connection.autoconnect yes
② IPアドレスの設定

続いて対象のインターフェースにIPアドレスを設定します。

書式
# nmcli c modify デバイス名 ipv4.addresses IPアドレス/サブネットマスク
実行
[root@localhost ~]# nmcli c modify ens33 ipv4.addresses 192.168.0.4/24
③ デフォルトゲートウェイの設定

続いて対象のデフォルトゲートウェイの設定(デフォルトゲートウェイのIPアドレスを指定)します。

書式
#nmcli c modify デバイス名 ipv4.gateway ゲートウェイのIPアドレス
実行
[root@localhost ~]#nmcli c modify ens33 ipv4.gateway 192.168.0.1
④ DHCPの無効化

DHCPは自動でIPアドレスを自動で割り当てる機能であり、デフォルトだとDHCPが有効になっています。
今回、固定でIPアドレスを割り当てるためDHCPを無効に設定する必要があります。

書式
# nmcli c modify デバイス名 ipv4.method manual
実行
[root@localhost ~]#nmcli c modify ens33 ipv4.method manual
⑤ DNSサーバの設定

対象のDNSサーバのIPアドレスを指定します。

書式
#nmcli c modify デバイス名 ipv4.dns DNSサーバのIPアドレス
実行
[root@localhost ~]# nmcli c modify ens33 ipv4.dns 192.168.0.1
⑥ コンフィグ(設定ファイル)の内容を確認する

実際に設定が反映されているかコンフィグの内容を確認していみましょう。

実行
[root@localhost ~]#cat /etc/sysconfig/network-scripts/ifcfg-ens33
~~一部省略~~
ONBOOT=yes
BOOTPROTO= static
IPADDR=192.168.0.4 
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=192.168.0.1

4. ネットワークの再起動

これまでに設定したネットワークの設定内容を適用させるために、CentOSのネットワークのアプリケーションを再起動させていきます。

実行

[root@localhost ~]#systemctl restart NetworkManager
[root@localhost ~]# systemctl restart network

5. ネットワークの変更状況の確認

実際に設定したIPアドレスが反映されているのかを確認するために、以下のコマンドを実行して確認していきます。

実行

[root@localhost ~]#ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
~~省略~~
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:c2:a0:d4 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.4/24 brd 192.168.201.255 scope global noprefixroute dynamic ens33
       valid_lft 1768sec preferred_lft 1768sec
    inet6 fe80::e223:d5b:892f:be0c/64 scope link noprefixroute
       valid_lft forever preferred_lft forever


NEXT>> DNS/メールサーバ構築前の事前準備