Ubuntu16.10でIPを固定しDNSを指定するのに、2時間かけました。
Ubuntuのことをあまり知らずに挑むからダメなんですよね。
とはいえ、IPを固定するくらいはいくらシステムの根幹に近いカスタマイズとはいえ、もうちょっと簡単でもいいと思うんですよ…
変更した箇所
- /etc/network/interfaces
- /etc/hosts
- /etc/NetworkManager/NetworkManager.conf
- /etc/resolvconf/resolv.conf.d/tail
いちおうこれらは確実に変更してあります。
ほかにも触ったところあったかもしれないけど、毎回Ubuntuマシン触るときに悩まされる種でもありイライラしていたので覚えていない…。これだからブログ向いてないんですよね。知ってます。
※なお、これから同じような設定をされる方は、ほかの方の記事やしっかりとした情報を一通り見てから実際に設定されることを強くお勧めします。
/etc/network/interfaces
auto lo ifacw lo inet static
が初期設定。これを次のように変更します。
auto enpX iface enpX inet static address <固定するアドレス XXX.XXX.XXX.XXX> netmask <サブネットマスク XXX.XXX.XXX.XXX> gateway <デフォルトゲートウェイ XXX.XXX.XXX.XXX> dns-nameservers <DNSサーバ XXX.XXX.XXX.XXX>
enpX
はNICのアドレスのようなもので、 ifconfig
コマンドで確認ができます。
lo
から enpX
に変更するので、 ifconfig
を走らせたときに lo
と同じような位置に出てくるやつがそれです。
なおDNSサーバプライマリとセカンダリをスペースで区切って指定できるようです。
/etc/hosts
変更する意味があるかと言われれば、もしかしたらないかもしれないですが、一応変更します。
127.0.0.1 localhost 127.0.1.1 <コンピュータ名> # The following lines are disirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback ・ ・ ・
最後のほうは面倒なので端折りました。
ここに出てくる 127.0.1.1
を変更します。
127.0.0.1 localhost <固定するアドレス> <コンピュータ名> # The following lines are disirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback ・ ・ ・
/etc/NetworkManager/NetworkManager.conf
悪党を倒しに行きます(?)
[main] plugins=ifupdown,keyfile,ofono dns=dnsmasq [ifupdown] managed=false
これを、以下のように直します。
[main] plugins=ifupdown,keyfile,ofono #dns=dnsmasq [ifupdown] managed=false
これで悪党は目覚めないことでしょう。きっと。
/etc/resolvconf/resolv.conf.d/tail
最後に強制的にDNSを変えます。もう最終手段です。
このファイルは、私の環境では入っていなかったため、自分で作りました。
そして以下のように記述します。
nameserver <DNSサーバ XXX.XXX.XXX.XXX (プライマリ)> nameserver <DNSサーバ XXX.XXX.XXX.XXX (セカンダリ)>
果たして /etc/network/interfaces に記述した dns-nameservers
に意味はあったのだろうか。
そして最後、 resolv.conf を生成します。
$ sudo resolvconf -u
再起動
最後に再起動すれば、IPアドレスは固定になり、DNSサーバも変わっているはず。
時間がかかった。
結局、表題の通りすべての帳尻合わせするため 2時間 以上はかけました。はい。
IPアドレスを固定するために /etc/interfaces を書き換えている方がたくさんいたのですが、それだけだとなぜかうまくいかなくて。
試行錯誤を重ねてやっと固定された感じです。つらい。
やっぱりここらへんはCentOSのほうが楽なんでしょうかね。。。