設定方法:IPアドレスの固定化
設定方法:IPアドレスの固定化
この章の内容
Linux基礎1では、ネットワークへの接続方法について
意識せずに、CentOSの利用を行ってきました。
本来、ネットワークへ接続するためにはIPアドレスを
割り当てる必要がありますが、DHCPにより自動で
IPアドレスが割り当てられているため、意識することなくCentOSを介してインターネットを利用することができていました。
この章では、手動でネットワークを接続方法を確認することで、LINUXにおけるネットワークの知識を深めていきます。
手順
- 事前準備(ネットワークアダプタの変更)
- 使用インターフェースの確認
- ネットワークの設定状況(IPアドレス)の確認
- ネットワークの設定
- ネットワークの再起動
- ネットワークの変更状況の確認
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