2019-09-30自宅のLAN環境は、自慢するほど特別なことはしていない。routeを貰ってBGP運用をしたりはしていないので、そういうネタを書くことはない。本稿はごく普通の自宅LAN環境を再構築するにあたってメモを残し、3年ぐらい後の自分の備忘録にするためのものだ。要件のようなもの自宅のアクセス回線は玄関に設置されたマルチメディアボックスなる箱の中に終端されている。若干いじってあるが、だいたいこんな感じこれを論理的に書くと、だいたいこんな構成になっている。通常の回線契約では、事業者SWがゲートウェイとなってDHCPでローカルIPアドレスをくれる。部屋にはコンセントにRJ-45端子があって、どこからでも有線で接続できる。NATは事業者がやってくれる。通常の家庭用アクセス回線ならこれで特に問題は生じないと思われる。オプション契約を結ぶと、固定IPv4アドレスを1つ貰える。この場合、/30のサブネットが割り当てられ、こんな構成を取ることになる。固定IPアドレス契約の場合このとき、ルータのMACアドレスを事業者に通知して登録しなければならない。事業者側SWでは制限をかけていて、MACアドレスを頼りに特定機材に対してフォワーディングを行うようになっている。このとき、各部屋のネットワークをどうしたらいいだろうか。ポート1つでサブネットを共有してもよいが、なんか気持ち悪い。そこでげた箱の中のスイッチをよく見てみると、写真にあるとおりGbE対応の割とよさそうなものが入っているので、これを流用してこんな構成に切り替えたらどうかと考えてみた。現在の機材構成図こうすれば、各部屋のコンセントも使えるし、routerでNAT/DHCPすればすべて解決だ。いうわけで「げた箱」の中にルータマシンを置いて運用してきた。これまではACERのミニPCを使ってきたのだが、かなり古くなってきたので新しいのが欲しい。できたらファンレスの小さなマシンで、ポートが2つ、なくてもUSB/GbEのポートでいいからつけられればいい。いうのはだいたい2万円ぐらいで買える。X7-E3950になるなら問題は何もないだろうと楽観していた。これはだいたい8月中旬の話だった。届いたマシンを(プレインストールされていたWindowsは無視して)さっそくCentOS7のブートイメージで起動してみたのだが、なんだか様子がおかしい。最初の時点で「このCPUはサポートしてないよ」と出る。無視すればいいかなと思っていたのだが、インストーラが起動しない。仕方がないので、ここからCPUのサポート状況を調べ始めた。自分は「マニュアルは後から読み始めるタイプ」だ。CPUの型番をきちんと調べ(買うときには調べていなかった)、Linuxの対応状況を確かめるべくググってみた。するとこんな記事がヒットした。4.11の正式版がリリースされました。Lake世代の次期モデルにあたります。https://syobon.jp/blog/2017/05/01/linux-kernel-4-11-released-support-gemini-lake/ずばり、買ったCPUは少なくともかなり後のkernelでないと対応していないようだ。この時点でCentOS7は3.10で、まったく話にならない。まずい買い物をしてしまったようだ。いえばCentOS8のリリースが夏に予定されているということを思い出した。それまで待てば、このマシンを無駄にせずに済む。一応、Fedora30で動くことを確認しつつ、CentOS8のリリースをジリジリと待ち続けた。リリースされたCentOS8で、9月25日に(時差のせいか、はたまたちょびっとリリースが遅れたか、とにかく日本時間の9月25日の朝に)CentOS8を手に入れた。イメージを使ってインストーラをブートしてみると、CentOS7でコケていたところは問題なく進み、インストールは無事完了した。CentOS7と8の違いについては、すでに記事にした。(RedHat8のリリースノートを眺める)で、本当はさっさとインストールを終わらせて、備忘録でこの記事は終わるはずだったのだが、いろんなトラブルやオモシロ現象に気づいてしまい、ちょっと脱線が多くなった。そこで別途記事を書くことにした。インストールしてとんでもなかったこと一覧CentOS8はどれぐらい変わったか(パッケージ編)ルータとしてのセットアップ本稿ではルータとしてのセットアップにフォーカスしたい。CentOS8については書きたいことがいっぱいあるが、全部盛り込んでいると脱線に次ぐ脱線で話が混乱してしまうからだ(まあ、自分が勝手に混乱しているだけという話だが)。フォワーディングをONにするまずはsysctlでフォワーディングをonにする。/etc/sysctl.confに次のような行を追記する。-pで設定をロードする。NICを適切に設定するLAN側のNICをinternalに、WAN側のNICをexternalにする。具体的には/etc/sysconfig/network-script/ifcfg-*の該当ファイルにZONE=externalあるいはZONE=internalと書く。NetworkManagerで設定をロードする。これでローカルをNATしてくれるようになる。以上の設定は、iptablesが廃止されたとか、nftablesに移行したという話と無関係に、簡単に実行できるという点がポイントだ。なんとなく設定できたとりあえず土日を使ってリプレースした。574.6/1652.5とかなりアップしている。切り替えて2日ほど過ぎた時点での状況なのだが、なんかベースロードが増えているのが気になる。waitが恒常的に5%ほど出ていて、理由がよく分からない。マシンスペックもOSも違うので一概に比較はできないが、これほど違うと何が何やら、という感じである。誰が何をしているのかは、今後ゆっくり調べていこうと思う。その他メモ以下は完全に備忘録的メモ。fail2ban(のためのEPEL)zabbix-proxyautofs気が向いたらそれぞれ別に記事にしたい。