enp4s0って何？ --20年(？)ぶりにLinuxをいじってみる02

全8回の2 → [1](https://qiita.com/Kokusui/items/ba1aa8fa736dc2321e24)|2|[3](https://qiita.com/Kokusui/items/757277b4e1fb28a3e476)|[4](https://qiita.com/Kokusui/items/9c0d50e3b782b1410a4c)|[5](https://qiita.com/Kokusui/items/42ee26d7e8ad1a114b12)|[6](https://qiita.com/Kokusui/items/701594d849fb7524f4ba)|[7](https://qiita.com/Kokusui/items/b6bfb6da52fdf16241a6)|[8](https://qiita.com/Kokusui/items/60fdbdf42fed2045e4f4)

[こちら](https://rockylinux.org/ja/download)よりDVD版をダウンロード[^1][^2]。

USBメモリを準備して、さてLinuxでBoot可能なUSBってどうやって作るん？という壁に当たって見つけたのが[Rufus](https://rufus.ie/ja/)。

Root設定はデフォルトOFFなんだけど使わなくてもパスワード設定しないとインストールできないのか。そうだよね。というわけでパスワード設定しておいてアカウントロック、という手順で無効化するのか、なるほど[^3]。
で追加でユーザー登録なんだけどパスワードって…え？こんなの[^4]で「強力」とか言われちゃうの？　平気？

インストールが済んで、まずはIPアドレスを固定にしたいということで、ググると出てくるのが「/etc/sysconfig/network-scripts/ifcfg-eth0 を編集して…」みたいなの。
ところが探してもそもそもそんなファイルはないし、新しく作ればいいの？ってところで早速ハマる。そもそも今では`ifconfig`を使わなくなっているようだ。いろいろ調べた結果、まずはip aをかけてみる。
```
$ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 10:78:d2:f3:b3:98 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.25/24 brd 192.168.10.255 scope global dynamic noprefixroute enp4s0
       valid_lft 244012sec preferred_lft 244012sec
    inet6 fe80::1278:d2ff:fef3:b398/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
```
…イーサネットって`eth0`じゃないの？　`enp4s0`って何？
というわけで再度「enp4s0」でググったら[Qiitaの記事](https://qiita.com/fetaro/items/b61282130fa638de4528)がヒット。頼りになるぞQiita。

> v197のsystemd/udevでは自動的に安定的なネットワークインターフェース名を割り当てる。
ローカルエリアネットワークに限らず、WLANやWWANに対しても割り当てる。
伝統的な ("eth0", "eth1", "wlan0", ...)といった命名規則はもうしない。

なるほど。そうだったんか。じゃあ設定変えるにはどうすれば…？　でまたもググる。でてきたのが[こちら](https://i-think-it.net/centos7-ip-setting/)。

> \# nmcli c mod ＜接続名＞; ipv4.method manual ipv4.addresses "＜IPアドレス＞/24 ＜デフォルトゲートウェイ＞"

よしわかった。
```
$ sudo nmcli c mod enp4s0 ipv4.method manual ipv4.addresses "192.168.10.15/24 192.168.10.10"
Error: failed to modify ipv4.addresses: invalid prefix '24 192.168.10.10'; <0-32> allowed.
```
あれ？[^5]
試しにゲートウェイの部分を外して
```
$ sudo nmcli c mod enp4s0 ipv4.method manual ipv4.addresses "192.168.10.15/24"
```
行けたぽい。
IPアドレスが変わったのでrebootし、新しいIPアドレスでログイン→成功。
```
$ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 10:78:d2:f3:b3:98 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.15/24 brd 192.168.10.255 scope global noprefixroute enp4s0
       valid_lft forever preferred_lft forever
    inet6 fe80::1278:d2ff:fef3:b398/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
```

そういえば`/etc/sysconfig/network-scripts/`に` readme-ifcfg-rh.txt`てのがあった。
読んでみたらだいたいこんなことが書いてあった。
* NetworkManagerは新しいネットワークプロファイルを`/etc/NetworkManager/system-connections/`ディレクトリに保存することになったよ
* 以前はifcfgフォーマットでココのディレクトリに保存してたけど、それは非推奨だし、もはやココには保存しないんだな
* それでもifcfgフォーマットでネットワークプロファイルを書きたいなら`# nmcli connection migrate`って打ってね。そうしたら今までのプロファイルがそっくり移行されるから
* もっと知りたければ`nm-settings-keyfile`か`nmcli`を見てちょ

そうか、先に読んどけって話だったわけか。
で`/etc/NetworkManager/system-connections/`に行ったら`enp4s0.nmconnection`というファイルがあったので見てみると
```
[connection]
id=enp4s0
uuid=35aae2ae-c4ba-3e8e-aa3d-6730138b4209
type=ethernet
autoconnect-priority=-999
interface-name=enp4s0
timestamp=1670218938

[ethernet]

[ipv4]
address1=192.168.10.15/24
method=manual

[ipv6]
addr-gen-mode=eui64
method=auto

[proxy]
```
なるほど。


[^1]:夜中にダウンロードをかけたら1GiBちょいなのに1時間以上かかると言われ、諦めて翌朝ダウンロードしたら数分で終了。なにこれ。
[^2]:最初はMinimal版をダウンロードしたのだが、そうすると「ソフトウェアの選択」のところで「最小」と「標準」しか選べなかったので、選択肢を広げるために変更。
[^3]:最初はロックしていたのだが、ターミナルからいちいちsudoするのも面倒なので、SSHでrootログインをできるように変更。
[^4]:アルファベット大文字小文字数字が計13字で記号が入ってないんだけど…。
[^5]:`$ sudo nmcli c mod enp4s0 ipv4.method manual ipv4.routes "192.168.10.15/24 192.168.10.10"`が正しかった模様。