Chap-19. 各種ディストリのネットワーク設定(IP address や resolver)

Sec-1.Debian
Sec-2.Ubuntu 系(Ubuntu, LinuxMint 等)
Sec-3.CentOS
Sec-4.Manjaro、ArcoLinux
Sec-5.Mageia

 CUI でサーバ管理していて、IP address やリゾルバの設定を変更したくなることが、時たまあります。
そんな時、容易に設定変更できるかどうか、つまりどこに設定ファイルがあるかというのは、かなり重要な事柄です。 ここは、試行錯誤したり、とまどったりしながら探った事柄のメモです。
このチャプタはもっぱら有線 LAN での管理を対象にしています。
無線 LAN(wifi)だと、GUI の管理ツールを使うのが基本です。なので、書くべき(説明すべき)事柄がほとんどありません。


Sec-1.Debian 

 Debian の オンラインマニュアルでネットワーク管理のところを見ると、相当丁寧に書かれています。すごいです。(2020-05)
ただし、相当にややこしいです(汗)。詳しく書かれているのは素晴らしいですが、理解するのが大変そう。
以下に、私がやってみた範囲で理解している概要を書きますが、間違っていたら恐縮です。
2020-07-23
 少し前の antiX、MXLinux と間違えて書いていましたので訂正しました、すみません。汗・汗・汗
また、最近になって wicd ってので管理する方法も Debian の中にあることに気づきました。追記しました。



IP アドレス関係とリゾルバーの管理手法には、3つのパターンがある (in Debian)

ざっと見てこんな具合だと思います。以下に一つずつ見ていきます。





/etc/network/interfaces と /etc/resolv.conf を使う方法
アドレス関係の管理ファイルは /etc/network/interfaces 、リゾルバーの管理ファイルは /etc/resolv.conf です。
/etc/resolv.conf はごく普通の UNIX のリゾルバー管理です。また、/etc/network/interfaces を使うのは Debian 流だと思いますが、歴史がありそうです。
/etc/network/interfaces ファイルの内容はおおむね以下のような感じ。(関連部分)

auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug enp7s0
iface enp7s0 inet static
      address 192.168.x.y
      netmask 255.255.255.0
      gateway 192.168.z.w
(注:x  y  z  w は適当においた)

このファイルで、IP address、netmask、default-gateway が管理されます。

/etc/resolv.conf は簡潔な内容なので特に説明はしません。

この管理方法は、エディターで設定ファイルを編集するやり方です。

この方法では、無線LAN( wifi )の管理はちょっと厳しい。




NetworkManager を使う方法
 基本的に、アドレスもリゾルバーも(無線 LAN も)、一括してこのデーモンで管理します。
設定あるいは設定変更するときは、GUI ならネットワーク管理用のアイコンをクリックすると管理画面を出すことができます。それで静的IPアドレスに変更したり、DHCP を使う方法に変更したりできます。
CUI で設定変更するなら、nmcli というコマンドを使います。使う例は Manjaro のところ(下の方)に書いています。
あるいは、エディタで直接に管理用のファイルを編集します。
(NetwoakManager だと無線 LAN の設定が楽にできます)
 有線 LAN でも無線 LAN でも、結果として出来上がる管理ファイルは /etc/NetworkManager/system-connections/ というディレクトリの中に置かれます。名前は適当につけてるみたいで、hogehoge.nmconnection などとなっています。
そのファイルの中身(関係箇所)は、例えば以下のような感じです。(有線 LAN の場合)


[ipv4]
method=manual
address1=192.168.0.2/24,192.168.0.200
dns=192.168.0.100;
dns-search=quinos.net;

見れば、何が書かれているか理解できます。無線 LAN( wifi )だと、パスフレーズもこのファイルの中に書かれます。なのでこのファイルは root 以外読めません。
NetworkManager を使う場合、/etc/network/interfaces は、lo 以外はコメントアウトしてあると思います(このファイルを管理には使わないので)

 NetworkManager の管理ファイルに記述されたとおりに、/etc/resolv.conf にリゾルバーの設定が映されます。
上記の例だと

nameserver    192.168.0.100
search        quinos.net

となります。

もしも GUI でサーチリストの書き込み欄が無かった場合、/etc/resolv.conf の中でサーチリストは空欄になってしまいます。
その場合、エディタで /etc/NetworkManager/system-connections/HOGEHOE.nmconnection ファイルを編集して dns-search= のところにドメイン名を書きこみます。それで /etc/resolv.conf にサーチリストが反映されるようになります。





wicd を使う場合
 最近(2020-07)になって第三の方法があることを知りました。いやはや、ややこしい。
LXDE を単体(他の DE を入れずに)インストールすると、/etc/network/interfaces + /etc/resolv.conf での管理方法と、wicd の管理方法の二頭立てになっています。
wicd って、python で書かれたネットワーク管理用のプログラムみたいで、無線 LAN も管理対象になっているようです。
デフォルトでは /etc/network/interfaces + /etc/resolv.conf を使うようになっていて、wicd の管理フィアルはほとんどの設定項目に none が書かれています。つまり「wicd は使わない」という設定が、デフォルトです。
有線 LAN で、デスクトップ機(移動して使うことはない)だったら、そのまま /etc/network/interfaces + /etc/resolv.conf を編集するのが良さそうです。簡単。
一方でノートパソコンに Debian LXDE をインストールして、wifi を使うなら wicd を使ったほうが良いだろうと思います。
wicd の設定ファイルは /etc/wicd/ の中にありますが、GUI で管理して wifi に繋ぐなら、管理ファイルがどこにあるかとか気にしなくても良いです。
有線 LAN で wicd を試してみたところ、アイコンをクリックして簡単に設定できました。多分、無線LAN(wifi)も同じようにできそうですが、自分のところでは試す状況になくて、wicd での wifi 接続は試していません。あしからず。

wicd で管理するとき、 default のプロファイルをいじろうとするとうまくいかないです。自分の管理用にもう一つ適当なプロファイルをこしらえて(例えば myprof とか名前をつけて)それで管理します。注意点はそれくらいです。





3つのやり方の使い分け
 基本的に、GUI インストールだと NetworkManager または wicd が管理用にインストールされます。ただし、wicd がインストールされるのは、試してみた限りでは LXDE だけです。(なおかつ、その場合初期設定では wicd 使わないようになっています)
どうやら、下に書くような具合です。

LXQT が正体不明・意味不明な件は Debian のチャプタ(Chap-13. )に書いています。






その他
 上記から考えると、同じ CUI モードでのサーバ運転をするにしても、Gnome など入れて GUI モードでインストールしておいて

# systemctl set-default muitl-user.target

とやって CUI モードにしたものと、最初から CUI モードになるようインストールしたものでは、設定ファイルが違う。管理の方法が違うってことです。ちょい、ややこしい。うーん・・・

---- ややこしいので、CUI 版を NetworkManager で管理するように変えてしまう場合 ----
「同じやり方」に拘る場合、以下のように強引にやれば、NetworkManager の管理になります。

こんな感じにすれば、CUI 運転のサーバも NetworkManager で管理できます。
このやり方で長期的に様子見したわけじゃないですが、仮想環境とかややこしいことしないで宅サバやるだけなら、多分問題ないと思います。






その他の2
 上記の「その他」では、CUI インストールしたものを NetworkManager の管理にして、GUIのシステムにあわせてみました。
今度は逆に GUI インストールした Debian で NetwokManager を止めて、CUI インストールした状態にあわせてみます。
有線 LAN でデスクトップ機を使うなら、多分やっても大丈夫だと思います。

 Xfce 版でやってみると、作業手順は概ね以下の感じです。

 ざっとこんな感じです。なお、wicd を使っている LXDE はハナから /etc/network/interfaces + /etc/resolv.conf の管理なので、単に必要なくなった wicd を止めるだけで良いです。やり方は上記の NetworkManager とほぼ同じです。


どうでも良いことかもしれませんが、こんなふうに NetworkManager とか wicd とか、ツールを止めるとメモリー消費が少し減ります(笑)。ほんの少しだけ。多分 30MB とか 40MB くらい。
今どきは、8GB とか 16GB のメモリが当たり前の時代なので、正直言ってどうでも良いことです(笑)。
ただ、wifi 使うなら常時メモリー上に管理ツールが乗ってるのは理解できますが、有線 LAN のデスクトップ機だと、なんだか少し変だなあと思います。
立ち上がりのネットワーク設定に必要だけ。後は二度と働くことが無いのに、常時メモリー上に乗ってるわけです。
そもそも、/etc/network/interfaces + /etc/resolv.conf で管理すれば、不要なものだし・・・(汗)










Sec-2.Ubuntu系(Ubuntu、LinuxMint 等) 

GUI モードとなるようインストールした場合 (2020-05)
 この場合、管理の方法は基本的に上記 Sec-1. の Debian(NetworkManager 使う) と同じですが、ひとつだけ、結果に違いが出るようです。リゾルバーへの設定の反映のされ方です。

Debian では nameserver 192.168.0.100 みたいな感じでリゾルバー設定が反映されました。一方 Ubuntu、LinuxMint では

nameserver    127.0.0.53

こんな具合になります。
Debian はリゾルバーが直接ネームサーバに問い合わせる設定です。
一方で、Ubuntu、LinuxMint ではリゾルバーが、一旦自分のマシン内の systemd に問い合わせして、systemd がネームサーバに問い合わせます。
試しに、192.168.0.100 のネームサーバに他では引けない特殊なアドレスを登録して、nslookup で引けるか試してみました。そうしたところ、Debian はもちろんですが、Ubuntu、LinuxMint でも同様に引くことができました。
したがって、systemd を間にはさんでも実運用上は違いがないようです。



CUI モードとなるようインストールした場合(2020-05 Ubuntu server のみの話、かつ概略のみ)
 CUIモードになるようインストールできるのは、おそらく Ubuntu server だけだと思います。なのでこれに限定。
実は、私は Ubuntu をCUIインストールしてサーバ運転したことがありません。上記の「Debian の場合 GUIインストールとCUIインストールで管理手法が違う」ということに気がついて、すぐに Ubuntu server ISO イメージをダウンロードし、適当なマシンにインストールして確認してみました。
そうしたところ、管理ファイルは /etc/netplan/ というディレクトリに収められていました。
なので、この場合は、Ubuntu は Debian と全く違うということです。
今から私が適当にいじって解説を書いてもろくな解説になりません。間違ったことを書いてしまいそうです(汗)
ネット上で「ubuntu netplan 設定」などと検索すると沢山出てきますので、興味ある方、あるいはやってみようという方は、すみませんがそちらをご覧ください。
ここは、笑ってごまかして終わりにします(笑)。

それにしても、ややこしいです。
Debian といい Ubuntu といい、とても優れた OS で、それをただで使えるので、文句を言ってはいけませんね。
だからグチだけ言います。ちょっとだけ。
ややこしくてかなわんです(汗)




Sec-3.CentOS (GUI モードの場合)

2020-05 対象OS ver 8.1

以下の記述は基本的にGUIインストールしたものも、CUIインストール(サーバ対応)したものも、同じです。

---- IP Address, Netmask, Default gateway ----

設定のファイルは以下のディレクトリ中にあります。

/etc/sysconfig/network-scripts/

うちの場合、ifcfg-enp38s0 となっています。ファイルネームの先頭2文字ですが

ということらしいです。
この ifcfg-enp38s0 の中の

IPADDR=192.168.0.X
PREFIX=24
GATEWAY=192.168.0.XXX
DNS1=192.168.0.XXX

という部分を編集します。その後

# ifdown enp38s0
# ifup   enp38s0

とするだけ。割合とシンプルです。
なお、上記で DNS1=hoge という記述がありますが、これは気にしないでください。次の設定で、ここは意味をなさなくなります。


---- リゾルバの設定 ----

リゾルバは以下のやり方で設定します。
NetworkManager を設定変更して、/etc/resolv.conf を直接編集できるようにします。対象のファイルは下記のもの。

/etc/NetworkManager/NetworkManager.conf

これを編集して、[main] セクションに以下の一行を追加します。

dns=none(これを追加記入)

そしてNetworkManagerを再起動します。

# systemctl restart NetworkManager

これで、エディタを使い直接 /etc/resolv.conf を編集できるようになりました。
この段階で、先に示した /etc/sysconfig/network-scripts/ifcfg-hoge の中の DNS1=hogehoge って記述は無効になり、エディタで直接編集しないとリゾルバにネームサーバが反映されなくなりました。
リゾルバに関しては、あくまでファイルを手作業で編集します。

CentOS の素晴らしい点は、こういう CUI で運用する上での大事な(必要な)情報が、割合とたくさんネット上にあることです。やはり、サーバとしての運用実績が豊富なディストリはこういう点が良いですね。


この Sec-3. に書いたことは以下のURLを参考にしました。著者さん、ありがとうございます。

http://www.mustbegeek.com/configure-static-ip-address-in-centos/
https://https://www.unix-power.net/networking/post-896 



 CentOS は GUI 版と CUI 版の両方が同じやり方でシンプル。こういう、わかりやすい仕立て方は大変好印象です。




Sec-4.Manjaro、ArcoLinux

2020-05 rolling release のため version 番号なし

---- IP Address, Netmask, Default gateway ----

---- リゾルバの設定 ----

ArcoLinux の場合・・・・
GUIインストールしても、ArcoLinuxD iso image を使ってCUI インストールしても、同じやり方です。
基本的に Debian の今風 GUI インストールした場合と同じです。NetworkManager が頑張るやりかた。

Manjaro の GUI インストールした場合・・・同上です。
Manjaro の CUI インストールした場合・・・ユーザのやり方次第。

 Manjaro の CUI システムとしてのインストールは、本当に素材としての最低限の小規模なシステムです。
そのため、「CUI の Manjaro でネットワークをどのように管理するか?」という質問は言い換えると「どのように管理するつもりでユーザが何をインストールし、どうやって設定するか?」という話に置き換わります。Manjaro の CUI インストールには、一定の決まった管理方法というものが無いくて、ユーザのやりかた次第。
始めて Manjaro を CUI インストールして実感としてこのことがわかりました。ある意味では、柔軟で実に Geek っぽいです。好印象。


追加補足
 後で読み返してみると「やり方次第」と突き放すような書き方でした(汗)。反省。
以下に2通りの設定例を書きます。

----(1) NetworkManager を使う ----
 サーバソフト(apache, postfix etc)をパッケージ利用するなら、こっちがおすすめのやり方です。
extra package を何もインストールせずに OS インストールを終了し立ち上げると、NetworkManager は入っていません。入れます。

# pacman -Syy
# pacman -S NetworkManager  

これでたいてい、NetworkManager が動くようになると思います。もしも動いてなければ

# systemctl enable NetworkManager
# systemctl start NetworkManager

とします。
デフォルトでは DHCP クライアントとして動作します。なので、ルータ側でDHCPサーバやってれば、適当に IP address が割り振られます。
ただし、CUI インストールしたマシンはサーバが目的。なので、固定 IP アドレスにする必要があります。
設定ファイルが既に /etc/NetworkManager/system-connections/ ディレクトリの中に存在していれば、それをエディタで編集するだけです。しかし、初期状態では設定ファイルが存在しないので、値を入れて保存する必要があります。GUI なら簡単ですが、それを CUI 状態でやらなければなりません。
私は NetworkManager に全然詳しくない。で、ネットで調べるとどうやら nmcli ってコマンドで制御したり、設定ファイルを保存したりできるらしい。やってみました。おおむね、以下の感じです。

# nmcli connection edit

(上記のように入力すると、下の質問が来るので、ethernet または 802-3-ethernet と入力する)

接続タイプを入力してください: ethernet  (<<ーー入力したところ)

(?を入力するとコマンド一覧が出る)

nmcli> ?  (<<ーー入力したところ)
------------------------------------------------------------------------------
---[ メインメニュー ]---
goto   [<setting> | <prop>]        :: 設定またはプロパティーに移動する
remove  <setting>[.<prop>] | <prop>    :: 設定を削除する、またはプロパティー値をリセットする
set    [<setting>.<prop> <value>]    :: プロパティー値を設定する
describe [<setting>.<prop>]         :: プロパティーの説明を表示する
print   [all | <setting>[.<prop>]]      :: 接続を出力する
verify  [all | fix]              :: 接続を検証する
save   [persistent|temporary]       :: 接続を保存する
activate [<ifname>] [/<ap>|<nsp>]      :: 接続をアクティベートする
back                    :: ひとつ上のレベルに移動する (戻る)
help/?  [<command>]           :: このヘルプを表示する
nmcli  <conf-option> <value>       :: nmcli 設定
quit                    :: nmcli を終了する
------------------------------------------------------------------------------
nmcli> print ipv4  (<<ーー ipv4の状態を出力する。ここを編集する)
['ipv4' 設定値]
ipv4.method:                            auto
ipv4.dns:                               --
ipv4.dns-search:                        --
ipv4.dns-options:                       ""
ipv4.dns-priority:                      0
ipv4.addresses:                         --
ipv4.gateway:                           --
ipv4.routes:                            --
ipv4.route-metric:                      -1
ipv4.route-table:                       0 (unspec)
ipv4.ignore-auto-routes:                いいえ
ipv4.ignore-auto-dns:                   いいえ
ipv4.dhcp-client-id:                    --
ipv4.dhcp-timeout:                      0 (default)
ipv4.dhcp-send-hostname:                はい
ipv4.dhcp-hostname:                     --
ipv4.dhcp-fqdn:                         --
ipv4.never-default:                     いいえ
ipv4.may-fail:                          はい
ipv4.dad-timeout:                       -1 (default)

(下で、入力しているところ。最後に save する)

nmcli> set  ipv4.method  manual
nmcli> set  ipv4.addresses  192.168.x.y/24
nmcli> set  ipv4.gateway  192.168.z.w
nmcli> set  ipv4.dns  192.168.0.A
nmcli> set  ipv4.dns-search  quinos.net
nmcli> save

(こうしてセーブすれば、作業完了、/etc/NetworkManger/system-connections/ の中に設定フィアルが保存される)

こんな具合です。以下リブートすると、決めた固定IPアドレスになります。/etc/resolv.conf も設定したとおりになります。
また、ちょっと乱暴ですが、この作業以降は設定変更するとき所定のファイルをエディタで編集すればオケです。nmcli 使わなくても大丈夫です。


 よく考えたら、extra package 何も入れずにインストール終了して OS 立ち上げると、イーサネットは無効になってます。なので、一回は下記(2)のやり方でネットワークを使えるようにしないと駄目ですね。そうしないと、そもそも pacman が使えない(笑)。


----(2) old-fashioned 風に IP アドレスを打つ ----
 サーバソフト(apache, postfix etc)を自分でビルドするなら、こっちがおすすめです。結構シンプルなやり方です。
昔、25年とか30年くらい前、IP アドレスを決め、ルーティングを決めるのに、コマンドでやってました。
昔は、ifconfig と route コマンドでした。今は ip コマンドです。

# /usr/bin/ip  link  set  enpXs0  up
# /usr/bin/ip  addr  add  192.168.x.y/24  dev  enpXs0
# /usr/bin/ip  route  add  default  via  192.168.n.m  dev  enpXs0

x、y、n、m、X は適当に自分のサイトのヤツ
こんな感じに打ち込めば、インターフェイスの設定が出来ます。なので、/etc/rc.local の中でこれをやればオケです。
NetworkManager はインストールしなくても良いです。要りません。
/etc/rc.local の中の書き順は以下のような感じです。

まず、インターフェイス有効化
  -- 上の3行記入 --

次に、ファイアーウォール有効化
   /usr/sbin/nft -f hogehoge

最後に、各種のサーバソフト(自分でビルドしたヤツ)
   /hoge-path/apachectl  start
   /usr/sbin/postfix    start

こんな感じにすれば、IP アドレス関係が設定でき、ファイアウォール、各種サーバソフトと、順次動かせます。
なお、こっちのやり方の場合、/etc/resolv.conf はエディターで書きます。普通に書くだけ。

 補足:昔のやり方、ifconfig だと速度を指定していたような気がする。確か media 100Base とか。で、ip コマンドで速度指定しなくて良いのか、ちょっと気になりました。$ man ip | grep media とか $ man ip | grep Media とかやっても、何も出てきません。速度指定する方法は無いのだろうか?
直接的に速度を計測して確かめてみました。

# pacman -S speedtest-cli

$ speedtest-cli --list | grep Japan
 6766) JAIST(ino-lab) (Nomi, Japan) [132.41 km]
 6087) Allied Telesis Capital Corporation (Fussa-shi, Japan) [137.30 km]
 8407) Allied Telesis Capital Corporation (Sagamihara, Japan) [150.26 km]
24333) Rakuten Mobile , Inc (Tokyo, Japan) [167.63 km]

・・・・・一杯出てくる・・・・

一番上で実行

$ speedtest-cli --server 6766
Retrieving speedtest.net configuration...
Testing from NTT (60.41.220.62)...
Retrieving speedtest.net server list...
Retrieving information for the selected server...
Hosted by JAIST(ino-lab) (Nomi) [132.41 km]: 28.624 ms
Testing download speed................................................................................
Download: 272.49 Mbit/s
Testing upload speed......................................................................................................
Upload: 273.36 Mbit/s

こんな感じになったので、gigaでちゃんと設定されているようです。ホッ・・・
GUIのツールで計測して早いときで 290Mbps くらいなのでマアマア良いと思います(笑)。


 久しぶりに old-fashioned なスタイルで IP アドレスの設定をやりました。Manjaro って、実に趣味っぽくいじる楽しみがあります。面白いディストリです。
一般的には上の NetworkManager を使うやり方が良さそうです。(これだと、GUI 版と同じです)
ただし、私はきっと下の old-fashioned でやります。サーバソフトは自分でコンパイルするし、設定は下の方が簡単だし(笑)。GUI 版と管理手法が違っていても、こんなやり方が出来るならオケです。

 制御の実行順序って言いますか、やる順番。つまりイーサネット有効化、ファイアウォール、サーバソフトの順の話です。
つまり、順として
  *まずイーサネット有効化
  *次に、ファイアウォール有効化
  *安全性を確保した後、サーバソフト起動
普通はこんな順番でしょうかね。
この全部の作業を systemd や NetworkManager にやらせるなら、多分勝手に正しい順で制御されてる(はず)。
また、全部を自分でやるなら、実行時のスクリプト(rc.local)の中で自由に(ちゃんと)設定できる。
じゃあ、混在させるとどうか?ってことです。混在とは、例えば、イーサネット有効化とサーバソフトはシステムのを利用するけど、ファイアウォールだけは自前でやる、とか。
この場合は、ひょっとしたら上記の順番が守れないかもしれない。多分、守れない。で、それが問題かどうか?です。
私は、内心はそんな順序にこだわらなくても良いだろうと思います。たかがブートアップ時のわずか数秒程度の順序差だし。所詮は、1台か2台程度の宅サバだし。
上のほうで、パッケージ使うなら NetworkManager 使ったほうが良いて書いたのは、実行順序のことを意識しました。でも理由は希薄です。薄くてシャバシャバ(笑)。



Sec-5.Mageia 

 ネットワーク関係の設定に network.service を使います。
同じヨーロッパ・ディストリの SUSE はもともと wicked (network.service と大変よく似た設定方法)を使っていて、最近は NetworkManager に切り替えたようです。
もしかしたら、そのうち Mageia も NetworkManager に変わるんでしょうかね?

設定ファイルは /etc/sysconfig/network-scripts/ というディレクトリの中にあります。GUI でも設定できますが、ここのテキストファイルを直接編集しても管理出来ます。
設定ファイルの名前は、インターフェイル識別子の名前です。例えば ifcfg-enp3s0 とか。で、その中身は以下のような感じです。

.....
.....
IPADDR=192.168.0.x
NETMASK=255.255.255.0
GATEWAY=192.168.0.y
.....
.....
DNS1=192.168.0.z
DOMAIN=quinos.net
.....

見れば、意味は一目瞭然ですね。(x, y, z は適宜)
ある時、GUIで設定変更やろうとしていたら「デフォルトという設定を外さないとだめだ」とかってメッセージが出て、アドレス変更を拒否されちゃいました(笑)。
どうやら、Mageia は少しおせっかいなディストリらしいです。UNIX の思想に「やろうとしている人はそれを分かってやっている」というのがあったように覚えています。つまり「多少危険な設定変更でも、了解の上で、分かった上でやってるんだから、好きにすれば良い」という思想です。C言語もそんなような思想が根底にはあったと思います。だからポインターを自由にいじるなんて、危険極まりないことを好きにやらせてる(笑)。UNIX やC言語の「好きなだけハックさせる」って、あれは良い思想です。
でも、Mageia はその UNIX ライクな思想を捨てて、ちょい Windows っぽくおせっかい焼きます。なので、扱いが面倒。やっかい。
こちらはデフォルトのインターフェイスを「デフォルトであると承知の上で」アドレス変更やってるんだから・・・・(笑)。
でも、こんな時は「問答無用!」とばかりにテキストファイルを編集してリブートすると簡単に所望のアドレスに変更できます。
あるいは、DHCP から固定アドレスに変更できます。
テキストファイルを編集して設定をいじるのって、こんなときにメリットがあります。システムの余計なお節介を回避できます(笑)。

なお、search-list は以下のやりかたでも、設定できます。
/etc/resolvconf/resolv.conf.d/ というディレクトリの中に、base というファイルがあります。ここに

search      hogehoge.net

のように書いてリブートすれば /etc/resolv.conf に上記のものが、そのまま反映されます。

また、以上の作業についてはリブートでなくて

# systemctl restart network

としても、オケです。

リゾルバーはやり方が違いますが、IP アドレスの管理は CentOS と同じです。