IPアドレスの静的設定ができん! at Ubuntu 18.04 LTS server
NICが2つある計算機に,Ubuntu 18.04 LTS serverをインストールし,ネットワークの設定を試みたが,手順はあっているはずなのにIPアドレスの静的設定できず,2時間くらい溶かした話.
そして,悩みに悩んだ結果,そんなオチかよということで解決した話
NICが2つある計算機,1つはDHCPでIPアドレスを取得するのでよいのだが,
もう1つのNICには,Private IP addr.をstatic(静的)設定するのが目標だった.
Ubuntu 18.04 LTS serverをインストールしたので,networkの設定はnetplanというツールを使う.私としては,/etc/network/interfaces
による設定に慣れているのでこちらを使いたかったが,過去のUbuntu LTS versionからのupdateではなく,18.04 serverをクリーンインストしたので,こういうメッセージとともにこの設定はobsoluteになっていた.
1 | % cat /etc/network/interfaces |
というわけで,おとなしく netplan によるIPアドレス設定を試みる.
まず /etc/netplan
ディレクトリに移動する.そこには 50-cloud-init.yaml
というファイルがある.しかし,これを書き換えて設定するのではなく,このファイルをコピーし別ファイルを作成し,それを設定に使用した.(今回は 10-enp3s-enp0s25.yaml とした).
なお enp3s0
, enp0s25
は,NICの名称である.NICにつけられている名称は ipコマンドを使い,% ip a
を実行すれば知ることができる.
(なお,このinterface nameが気持ち悪いという人は私に限らずいるようで,参考Webページの項目 6,7の方法でNICの名称を以前のような名称ethN
に変更している人もいるようだ).
1 | % ls /etc/netplan |
で,以下のコマンドを実行すれば設定は完了する.と,多くのWebページに書いてある.なのでその通りに行ったのだが.な・ぜ・か,設定されず.netplanの設定ファイルを試行錯誤し,そして netplan applyコマンドを実行し,ipコマンドで設定されたかどうかを確認する,を繰り返す.
1 | % sudo netplan apply |
が,何度繰り返しても,ipコマンドの表示に指定したstatic IP addrが設定された,という表示が出てこない!.挙げ句の果てには,設定ファイルを書き換え,再起動する.を何回か繰り返したがダメ,そして,何かしらの構成を壊してしまったかと思い,Ubuntuの再インストールも行なった.が,結果は同じだった.
糖分とコーヒを補給し,もういちど考え直す.「いや,関係ない…」と思っていたのだが,気になったのは「static IP addrを設定しようとしている側のNICには,LANケーブルをつないでいない」ことだった.これまでの経験上,NICにIPアドレスを設定するのに,LANケーブルの接続が必須なんてことはなった.LANケーブルがNICに接続されていなくても,NICへのIPアドレスの設定はできていたからである.
「まさかね」と思い,該当NICにLANケーブルをつないで計算機を再起動させてみた.
すると,何事もなかったのようにあっさりと指定した通りのPrivate IP addr.がNICに設定されたではないか.ipコマンドの表示を見た時,数秒ほど呆けた.え,これが原因だったのかと… (ちなみに,単にLANケーブルをNICに挿すだけではダメで,LANケーブルの反対側もSWHubなり,別の計算機なりにつながっていてCarrier Senseができる状況が必要なようです.)
この作業に2時間以上かけた.こんなオチだとは想像もしなかったし,初めての経験だった.ハードウェア依存の問題なのかもしれないが,当該NICはIntel製のNICで,これまでにも使ってきたものであり,IPアドレスの設定でこういうことはなかったと思う.だとすると,やはりUbuntuやLinuxの問題なのだろうか? 最近のOSは,LANケーブルが接続されていないnetwork interfaceにIPアドレスを設定しても意味がないので,設定しない,ということになったのだろうか? だとしても,Server運用開始後にLANケーブルを接続したら,HotPlugのようにその場でIPアドレスが設定されるのだろうか? 興味は尽きないが,疲れたので今日はこれまで
追伸
Ubuntu 18.04 LTS serverの再起動は,やたらと時間がかかる.しかも,それはnetwork設定のところで1〜2分ぐらいかかっているようである.これが うっとおしいこと限りなかったので,以下の参考Webページ(項目 8, 9)に書かれている以下の設定を行った.
1 | % sudo systemctl disable systemd-networkd-wait-online.service |
参考Webページ
- Netplan
https://netplan.io - 【Ubuntu】 /etc/netplan/50-cloud-init.yamlを編集するの止めろ
https://qiita.com/yas-nyan/items/9033fb1d1037dcf9dba5 - Ubuntu 18.04 LTSで固定IPアドレスを設定する方法【サーバー編】
https://linuxfan.info/ubuntu-1804-server-static-ip-address - Ubuntu 18.04 LTSで固定IPアドレスの設定
https://qiita.com/zen3/items/757f96cbe522a9ad397d - Ubuntu 18.04 LTS のネットワーク設定がnetplanというものになっているのでその扱い方についてのメモ書き
https://blog.dshimizu.jp/article/1196 - Persistently rename a Linux network interface without Udev / Reboot
https://serverfault.com/questions/910406/persistently-rename-a-linux-network-interface-without-udev-reboot - How to rename a network interface in Ubuntu 18.04
https://www.tomvanbrienen.nl/how-to-rename-ubuntu-18-04-an-network-ethernet-interface/ - ubuntu がネットワーク待ちで起動が遅い・・・
https://takuya-1st.hatenablog.jp/entry/2017/12/19/211216 - Ubuntu18.04 インストール後の初期設定メモ (起動時の待ち時間をなくす)
https://qiita.com/hatayan1126/items/c67f87a86f1538bb86af#%E8%B5%B7%E5%8B%95%E6%99%82%E3%81%AE%E5%BE%85%E3%81%A1%E6%99%82%E9%96%93%E3%82%92%E3%81%AA%E3%81%8F%E3%81%99
— ends here
IPアドレスの静的設定ができん! at Ubuntu 18.04 LTS server