LinuxでIPアドレスを固定化したい(CentOS7.5、Ubuntu18.04)
前置き
クラウド系を勉強して高単価エンジニアを目指そう!とAWS頑張ってきましたが問題が…
圧倒的に純粋なOSやアプリ/ミドルウェア側の知識が足りてない!!
というわけで心機一転、一からLAMP/Mail/Proxyサーバーやネットワークについて勉強していこうと思っています。正直オンプレの知識がそれなりに深くないとクラウドどころじゃないです。
前置きが長くなりましたが、2つの巨大Linux distributionであるRedhat系(CentOS)とUbuntuで比較しながら色々やっていこうと思います。ちなみにあくまで備忘録です、あしからず
CentOS7.5でのIP固定
- 設定内容
- IPアドレス: 192.168.0.101
- デフォルトゲートウェイ: 192.168.0.1
- DNSアドレス: 192.168.0.1
基本的に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固定
- 設定内容
- IPアドレス: 192.168.0.102
- デフォルトゲートウェイ: 192.168.0.1
- DNSアドレス: 192.168.0.1
参考にさせていただいたサイトはこちら
【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自体は同じってことですかね。
では