フォローするDebian ネットワーク設定 Wiki、私は静的設定を試していますオープンNIC DNS成功しませんでした。最初に自分で編集をしてみましたが、/etc/resolv.conf
ずっと上書きされました。 Wikiページには3つの可能な範囲ソースがリストされています。
- これ
resolvconf
プログラム- これ
network-manager
悪魔- DHCPクライアント
$ apt-cache policy resolvconf
resolvconf:
Installed: (none)
Candidate: 1.76.1
Version table:
1.76.1 0
500 http://ftp.us.debian.org/debian/ jessie/main amd64 Packages
$ apt-cache policy network-manager
network-manager:
Installed: (none)
Candidate: 0.9.10.0-7
Version table:
0.9.10.0-7 0
500 http://ftp.us.debian.org/debian/ jessie/main amd64 Packages
私が持っていないかインストールしていないことを考えると、resolvconf
ソースnetwork-manager
がDHCPクライアントであると仮定できます。wicd
回避策を使用していますが、network-manager
プロパティに静的DNSを設定してもwicd-gtk
機能しません。だから/etc/dhcp/dhclient.conf
追加して編集しましたが、まだsupersede domain-name-servers 50.116.40.226;
次のように/etc/resolv.conf
なります。
$ cat /etc/resolv.conf
nameserver 2001:558:feed::2
nameserver 2001:558:feed::1
正確に何が起こっているのでしょうか?インストールしてresolvconf
動作することを確認してみますか?あきらめてwicd
インストールする必要がありますかnetwork-manager
?
答え1
あなたのDHCPサーバーが不要な応答を送信しているようです。したがって、代替パラメータを設定すると、resolv.confも上書きされます。 +i 属性を追加することは解決策かもしれませんが、いくつかの変更が必要な場合は、手動で設定を解除してリセットする必要があります。
実際には、クライアント側でいくつかのスクリプトを書くことができます(参照:man 8 dhclient-script
)。
このトピックも説明されています。Debian Wiki:
別の方法は、dhclient-scriptフックスクリプトを利用することです。 dhclient-script(8) によると:
起動時に、クライアントスクリプトは最初に/etc/resolv.confファイルを生成するために使用されるシェル関数make_resolv_confを定義します。デフォルトの動作をオーバーライドするには、Enter フックスクリプトでこの関数をオーバーライドします。したがって、次のようにしてdhclientがresolv.confを上書きするのを防ぎます。
echo 'make_resolv_conf() { :; }' > /etc/dhcp/dhclient-enter-hooks.d/leave_my_resolv_conf_alone chmod 755 /etc/dhcp/dhclient-enter-hooks.d/leave_my_resolv_conf_alone
dhclient-scriptが読み取るファイルを決定するためにrun-parts(8)を使用するため、実行ビットが必要です。同じ理由で、ファイル名には文字、数字、下線、ハイフン以外は何も含めることはできません。
答え2
dhcpクライアントが操作された/etc/resolv.confを更新しないようにするには、次の回避策を使用します。
# chattr +i /etc/resolv.conf
答え3
しかし、友達ではなく仕事がうまくいかないのですが、出発する前によく見なければならないので、「chattr + i」ファイルをシステムに適用して、時々問題に対する解決策を見つけなければならないと思います。とシステムに私たちの意志を強制するので埋めることはできません。時には、小さなスクリプトがネットワーク上でうまく動作しているときに素晴らしいことをするかもしれませんが、明らかにあなたは望んでいません。しかし、私はシステム管理者になるために勉強していないか、勉強しています。すみません!しかし、緊張してシステムにこのような無意味なトリックを実行したい場合は、最終的に私のシステムにはないので怒って申し訳ありません!代わりにこれをやってください! 「chattr」コマンドを使用して設定するには、「インタフェース」ファイル(通常は/etc/network/フォルダにあります)を編集し、必要なネームサーバIPにdns-nameserverオプションを追加/変更します。これらのオプションがファイルにない場合は、簡単な例として追加できます。
- 例: "/etc/network/interfaces" ファイルを次のように編集します。
auto lo
iface lo inet loopback
iface lo inet6 loopback
iface eth0 inet dhcp <= Here would be for DHCP devices.
iface eth0 init 192.168.1.2 <= Here your fixed IP on the network.
iface eth0 inet6 auto <= Here you define your IPv6 automatically.
dns-nameserver 192.168.1.1 <= Your IP address here.
dns-nameserver 8.8.8.8
dns-nameserver 8.8.4.4
- ファイルを保存してネットワークを再起動します。
あなたの場合は、サーバーのIPアドレスを設定し、インターフェースファイルの末尾に以下を設定するだけです。
dns-nameserver 8.8.4.4
dns-nameserver 8.8.8.8
これはここで使用された例です。 DHCPを使用していない場合にのみ、ルータによって自動的に定義されたIPを使用する必要があります。このIPは、ネットワークシステムで起動するたびに変更されます。
auto lo
iface lo inet loopback
iface lo inet6 loopback
iface eth0 inet static
address 192.168.1.4/24
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameserver 192.168.1.4
dns-nameserver 8.8.4.4
dns-nameserver 8.8.8.8
- ここにはよりよく確認し理解するための小さな例があります。