中堅プログラマーの備忘録

忘れっぽくなってきたので備忘録として・・・

【raspberry PI 3B +】にインストールしたCentOS7に固定IPを設定する

1.ログインする

CentOSが起動したら下記のとおり入力してログインします。
設定等は何もしておらず、デフォルトの状態です。

localhost login: root
Password: centos

2.現在のIPアドレスの確認

ラズパイにLANケーブルを接続します。
こちらの環境ではルーターがDHCPにより勝手にIPを振ってくれていました。
設定内容については【ifconfig】コマンドで確認します。
【ifconfig】はネットワークインタフェースの設定を確認、変更するコマンドになります。
【-a】をオプションにつけることで、全てのインターフェースを表示しています。

[root@localhost ~]# ifconfig -a
eth0: flags=4163  mtu 1500
        inet 192.168.0.129  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::****:****:****:**** prefixlen 64  scopeid 0x20
        ether **:**:**:**:**:**  txqueuelen 1000  (Ethernet)
        RX packets 5655  bytes 360800 (352.3 KiB)
        RX errors 0  dropped 3  overruns 0  frame 0
        TX packets 446  bytes 39485 (38.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 260  bytes 21080 (20.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 260  bytes 21080 (20.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4099  mtu 1500
        ether f6:dc:d1:d1:ac:df  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

【192.168.0.129】が割り当てられていることが確認出来ました。
これを【192.168.0.130】の固定IPに変更したいと思います。

3.SSHで接続する

現在のIPアドレスが確認できたので【SSH】で接続してみます。
私の環境がwindowsなので今回は【Tera Term】を使いました。

【Tera Term】を起動しIPアドレスを入力し【OK】をクリックします。
f:id:tsu--kun:20190603194431p:plain


ユーザー名 :root
パスフレーズ:centos
と入力し接続します。
f:id:tsu--kun:20190603194446p:plain

4.デバイスの確認

無事SSH接続が出来たら下記のコマンドを入力してみます。
【nmcli】コマンドとは【NetworkManager Command Line Interface】の略で
NetworkManager を介してネットワークを設定する、コマンドラインユーティリティーだそうです。
【d】をオプションにつけることでデバイスの一覧を確認できます。

[root@localhost ~]# nmcli d
DEVICE  TYPE      STATE         CONNECTION
eth0    ethernet  connected     Wired connection 1
wlan0   wifi      disconnected  --
lo      loopback  unmanaged     --

デバイス一覧の状態が確認できました。


【eth0】の設定を変更したいので、【eth0 connection】の設定内容を確認してみます。

[root@localhost ~]# nmcli connection show eth0
Error: eth0 - no such connection profile.

何故かエラーが出てしまいました。
なんでだろう・・・と色々調べてみた結果
【nmcli】で指定するのは【connection profile】でなきゃダメらしい・・・
つまりデバイス名ではなくコネクション名を指定する必要があるとのこと。


では、言われたとおりコネクション名を確認します。

[root@localhost ~]# nmcli connection
NAME                UUID                                  TYPE      DEVICE
Wired connection 1  1130e43e-c5e7-3390-82a5-260e06929dc1  ethernet  eth0

【Wired connection 1】という名前のようです。
これをそのままコマンドに入力すると同じエラーが・・・


調べてみると【Wired connection 1】に名前を付けてあげないとダメらしい。
では、【eth0】という名前に変更します。

[root@localhost ~]# nmcli con mod "Wired connection 1" connection.id eth0


変更されたか確認します。

[root@localhost ~]# nmcli connection
NAME  UUID                                  TYPE      DEVICE
eth0  1130e43e-c5e7-3390-82a5-260e06929dc1  ethernet  eth0

無事名前が変わりました。


ここでデバイスの設定内容を再確認します。
非常に長いので抜粋

[root@localhost ~]# nmcli connection show eth0
ipv4.method:                            auto
ipv4.addresses:                         --
ipv4.gateway:                           --
ipv4.dns:                               --

5.固定IPを設定する

今回変更したい項目は

①IPアドレス固定の設定
②IPアドレス
③ゲートウェイ
④DNS

なので以下のコマンドを実行します。

[root@localhost ~]# nmcli con mod eth0 ipv4.method manual ipv4.addresses "192.168.0.130/24" ipv4.gateway "192.168.0.1" ipv4.dns "192.168.0.1"


変更されたことを確認します。

[root@localhost ~]# nmcli connection show eth0
ipv4.method:                            manual
ipv4.addresses:                         192.168.0.130/24
ipv4.gateway:                           192.168.0.1
ipv4.dns:                               192.168.0.1


eth0の再起動

[root@localhost ~]# nmcli c down eth0 && nmcli c up eth0


これでやっと設定が反映されました!!!


ターミナルソフトから再度接続し
変更したIPアドレスにSSH接続が出来れば完了です!