Linux初心者でエンジニアってありですか?

自宅にNAS(SAMBA)を立てられれば大体満足している。

LinuxでIPアドレスを固定化したい(CentOS7.5、Ubuntu18.04)

前置き

クラウド系を勉強して高単価エンジニアを目指そう!とAWS頑張ってきましたが問題が…

圧倒的に純粋なOSやアプリ/ミドルウェア側の知識が足りてない!!

というわけで心機一転、一からLAMP/Mail/Proxyサーバーやネットワークについて勉強していこうと思っています。正直オンプレの知識がそれなりに深くないとクラウドどころじゃないです。

前置きが長くなりましたが、2つの巨大Linux distributionであるRedhat系(CentOS)とUbuntuで比較しながら色々やっていこうと思います。ちなみにあくまで備忘録です、あしからず

CentOS7.5でのIP固定

基本的にConfigファイルを直接設定はご法度!nmcli(CLI操作)やnmtui(GUI操作)コマンドで各パラメーターを設定していきます。
ちなみに参考にしたサイトの中でもおススメはこちら

CentOS 7 : 初期設定 : ネットワークの設定 : Server World

見ての通りですが、コマンド操作の場合は以下のように行います。

# nmcli connection modify <インターフェース名> <パラメーター>=<設定値>

ちなみに一つ一つ設定入れる前に管理しやすいように一行コマンドを書いてシェルにして保存しておくと楽です。 私の環境だと

#!/bin/bash

nmcli connection modify <インターフェース名> \        
    connection.autoconnect yes \        #インタフェースの自動起動
    ipv4.method manual \                #固定IPに設定
    ipv4.address 192.168.0.101/24 \     #IPアドレス
    ipv4.gateway 192.168.0.1 \          #デフォルトゲートウェイ
    ipv4.dns 192.168.0.1                #DNSサーバーアドレス

こんな感じ(コメント箇所無し)
あとはインタフェースを再起動するかOS再起動します。

# nmcli connection down <インターフェース名>; nmcli connection up <インターフェース名>

または

# reboot

最後にIPアドレスの設定状況を確認

$ ip addr
~~~~
    2: <インターフェース名>: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
~~~~
    inet 192.168.0.101/24 brd 192.168.0.255 scope global noprefixroute ens192

とちゃんと設定されていることが確認できました。また全パラメーター確認するのであれば以下

$ nmcli connection show <インターフェース名>

パラメーターシートとか作成するときには使うかなと思います。

Ubuntu18.04でのIP固定

参考にさせていただいたサイトはこちら

【Ubuntu 18.04 LTS Server】ネットワーク設定を固定IPに変更 | The modern stone age.

正直これ以上言うことも書くことも無いし、非常に簡単
/etc/network/interfaceを使わなくなりましたよ!という話(Ubuntu17.10から)

書いてある通りではあるのですが、やっていきます。 まずはインタフェース名を確認

$ ip addr

または

$ ifconfig -a

50-cloud-init.yamlのファイルを開きインタフェースのIP設定を以下のようにします。

$ sudo vi /etc/netplan/50-cloud-init.yaml
# This file is generated from information provided by
# the datasource.  Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    ethernets:
        <インタフェース名>:
            dhcp4: no
            addresses:
            - 192.168.0.102/24
            gateway4: 192.168.0.1
            nameservers:
                addresses:
                - 192.168.0.1
                search: []
            optional: true
    version: 2

最後にIPアドレスの反映

$ sudo netplan apply

インタフェースにIPアドレスが反映されているか確認

$ ip addr
~~~~
2: <インタフェース名>: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
~~~~
    inet 192.168.0.102/24 brd 192.168.0.255 scope global ens160

と無事反映されていることが確認できました。しかも他の方のブログに書いてある通り再起動は不要!!!
いいですねぇ♪ちなみにnmcliをインストールしてCentOSと同じようにすることも可能です。
Networkmanager自体は同じってことですかね。

では