CentOS7 IPアドレスを固定する

# 目的

- IPの固定方法をまとめる

# 前提情報

- CentOS言語設定は日本語である

# 概要

1. コネクション情報の確認
1. MACアドレスとサブネットマスクの確認
1. デフォルトゲートウエイとDNSサーバのアドレスの確認
1. ネットワーク設定ファイルのコピーと編集

# 詳細

1. コネクション情報の確認
    1. 下記コマンドを実行して現在ネットワークに接続しているコネクション名を確認する。

        ```terminal
        $ nmcli device
        ```
    1. 先のコマンドを実行することにより下記の様に現在使用しているコネクション名が出力される。

        ```terminal
        DEVICE  TYPE      STATE     CONNECTION 
        enp8s0  ethernet  接続済み  コネクション名     
        wlp4s0  wifi      切断済み  --         
        lo      loopback  管理無し  -- 
        ```
    1. STATEが「接続済み」となっているCONNECTIONが現在ネットワークに接続しているコネクション名なのでメモしておく。
1. サブネットマスクの確認
    1. 下記コマンドを実行してネットワーク情報を出力する。

        ```terminal
        $ ifconfig
        ```
    1. 先に確認した現在ネットワークに接続しているコネクション名の「ether」に続く部分がMACアドレスであり「netmask」に続く部分がサブネットマスクとなるので両方メモしておく。

        ![Visual_Studio_Code.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306417/73d9a6c2-5b51-514e-2f2d-9a722d2863ea.png)

1. デフォルトゲートウエイとDNSサーバのアドレスの確認
    1. BUFFALOのルータをお使いのみなさんは下記の方法で上記の情報がわかる。
        - [よくある質問](https://www.buffalo.jp/support/faq/detail/1000.html)

            ![Wi-Fiルーターの設定画面が表示できません___バッファロー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306417/c331ddba-b301-ef2e-23a4-8f400ef3b963.png)

1. ネットワーク設定ファイルのコピーと編集
    1. 下記コマンドを実行してデフォルト状態のネットワーク設定ファイルのバックアップを取っておく。

        ```terminal
        $ sudo cp /etc/sysconfig/network-scripts/ifcfg-コネクション名 /etc/sysconfig/network-scripts/ifcfg-コネクション名_org
        ```
    1. 下記コマンドを実行してネットワーク設定ファイルを開く。

        ```terminal
        $ sudo vi /etc/sysconfig/network-scripts/ifcfg-コネクション名
        ```
    1. 下記の情報を修正、追記する。

        ```/etc/sysconfig/network-scripts/ifcfg-コネクション名
        BOOTPROTO=none
        
        HWADDR=MACアドレス
        IPADDR=固定したいIPアドレス
        NETMASK=サブネットマスクのアドレス
        GATEWAY=デフォルトゲートウエイのアドレス
        DNS1=DNSサーバのアドレス
        ```
    1. 修正したあとのネットワーク設定ファイルの内容を下記に記載する。

        ```/etc/sysconfig/network-scripts/ifcfg-コネクション名
        TYPE=Ethernet
        PROXY_METHOD=none
        BROWSER_ONLY=no
        BOOTPROTO=none
        DEFROUTE=yes
        IPV4_FAILURE_FATAL=no
        IPV6INIT=yes
        IPV6_AUTOCONF=yes
        IPV6_DEFROUTE=yes
        IPV6_FAILURE_FATAL=no
        IPV6_ADDR_GEN_MODE=stable-privacy
        NAME=enp8s0
        UUID=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
        ONBOOT=yes
        IPV6_PRIVACY=no
        
        HWADDR=MACアドレス
        IPADDR=固定したいIPアドレス
        NETMASK=サブネットマスクのアドレス
        GATEWAY=デフォルトゲートウエイのアドレス
        DNS1=DNSサーバのアドレス
        ```
    1. 保存して閉じる。
    1. 下記コマンドを実行してネットワーク設定ファイルを反映する。(sshを用いて作業をしている場合`$ systemctl restart network`を実行後一旦接続が切れるので注意する。ssh configファイルを用いて接続する場合はhost_nameを固定IPに変更してからsshで再接続する。)

        ```terminal
        $ systemctl restart NetworkManager
        $ systemctl restart network
        ```
1. 確認
    1. 下記コマンドを実行してIPアドレスが変更されていることを確認する。

        ```terminal
        $ ifconfig
        ```

# 参考文献

- [デフォルトゲートウェイの設定 routeコマンド](https://centos.bungu-do.jp/archives/11)
- [ifconfig コマンドによるインタフェース構成の監視](https://docs.oracle.com/cd/E19253-01/819-0380/ipconfig-141/index.html)
- [ifconfig　～（IP）ネットワーク環境の確認／設定を行う](https://www.atmarkit.co.jp/ait/articles/0109/29/news004.html)
- [CentOS7でのネットワーク設定(固定IP設定)](http://web-technical.hatenablog.com/entry/2017/06/01/193116)
- [よくある質問 Wi-Fiルーターの設定画面が表示できません](https://www.buffalo.jp/support/faq/detail/1000.html)
- [パソコンのIPアドレスを手動で設定する方法](https://www.buffalo.jp/support/faq/detail/15257.html)