Debian環境設定(1) 名前解決の問題
前置き
近年はMacBookとUbuntuを使っていたため(インストール後、そのまま使えてしまうため)、最近のLinuxの設定知識がビミョーです。
そこで、Debian 10(buster)を最小構成でインストールして、勉強しつつ環境作りをしています。
名前解決ができていない?
必要なソフトをインストールしようとしてapt-get install を実行しましたが、上手く行きませんでした。
そこで、ネットワークの接続状況を調べてみました。
ping -c 2 8.8.8.8
としてみると応答があったので、ネットには接続できているようです。
しかし、、、
ping -c 2 dns.google
としてみると「ping: dns.google: Temporary failure in name resolution」となってしまいました。
以上のことから、名前解決ができていないと分かりました。
/etc/resolv.confとDHCP
名前解決に関するファイルとしては、/etc/hostsや/etc/resolv.confがありますね。
/etc/hosts には問題がなかったので、/etc/resolv.conf を開いてみました。
nameserver 192.168.10.1
となっています。自宅のルーターを指しているので問題なさそうです。
しかし、この設定で名前解決ができていないので、これをGoogleのDNSに変更してみました。
nameserver 8.8.8.8
にしてみると、無事に名前解決ができました。
これでaptコマンドが使えるようになったので、manやsudoなどをインストールしました。
しかし、Debianを再起動すると /etc/resolv.confの内容が元に戻ってしまいます。
インストール時点でネットワークの設定をしていないので、DHCPでネット接続しているはずです。とすれば、DHCPがこのファイルを書き換えているものと思います。
/etc/network/interfacesを修正(DHCPを無効にする)
/etc/network/interfacesを開いてみると、次の行が目に留まりました。
allow-hotplug enp0s3 iface enp0s3 inet dhcp
この2行のうち、2行目をコメントアウトして、代わりにstaticなアドレスを割り当てることにしました。
そこで、
man interfaces
を実行して斜め読みしてみたら、以下の記述がありました。
この記述を読んで /etc/network/interfaces の一部を以下のように修正しました。
allow-hotplug enp0s3 auto enp0s3 ← この行を忘れずに追記 # iface enp0s3 inet dhcp iface enp0s3 inet static address 192.168.10.7 netmask 255.255.255.0 broadcast 192.168.10.255 gateway 192.168.10.1
これでDHCPによるresolv.confの書き換えは起きないはずです。
ひとまず解決
再起動してから /etc/resolv.conf を開くと
nameserver 8.8.8.8
となっていて、DHCPによる書き換えは起きていませんでした。
ping -c 2 dns.google
を実行してみると無事に応答がありました。
課題(DHCPの設定)
DHCPによる割り当てが上手く行っていないことが気になります。
ネットワーク以外の環境を整えてから、この問題に取り組もうと思います。
他に使ったコマンド
systemctl status networking.service
service networking restart
2つ目はネットワーク関係のinitスクリプトを実行させるためのものです。
これにより /etc/init.d/networking スクリプトが実行されます。