恥は/dev/nullへ by 初心者

プログラミング素人がのろのろと学んだことをつづっています♪

Debian環境設定(1) 名前解決の問題

前置き

近年はMacBookUbuntuを使っていたため(インストール後、そのまま使えてしまうため)、最近の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

となっています。自宅のルーターを指しているので問題なさそうです。
しかし、この設定で名前解決ができていないので、これをGoogleDNSに変更してみました。

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

を実行して斜め読みしてみたら、以下の記述がありました。

f:id:philojuan:20201217174255p:plain


この記述を読んで /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 スクリプトが実行されます。