GoogleパブリックDNSを試してみたい。このため、ネームサーバーのアドレスを変更する必要があります。ファイル/etc/resolv.conf
、しかし私が始めるときはいつでもnetwork-manager
、そのファイルの値を、DHCPを使用して取得した値で上書きします。
しないようにするにはどうすればよいですか。 GUIを確認しましたが、IPアドレスを追加するオプションしか見つかりませんでした。
以下はトロフィーです:)
方法#1
NetworkManager構成ファイルを見つけて、次のエントリを追加/変更し(CentOS5では/etc/NetworkManager/nm-system-settings.conf
または/etc/NetworkManager/system-connections/
にあります)、DSL接続ファイルを編集します。
[ipv4]
method=auto
dns=8.8.8.8;4.2.2.2;
ignore-auto-dns=true
注:-[ipv4]
が機能しない場合は、[ppp]
で試してください
方法#2
/etc/resolv.conf
のアクセス権を変更して、他のサービスが書き込めないようにするか、chattr
を使用できます。
方法#
以下の/etc/Networkmanager/dispatcher.d/
に記載されているスクリプトを作成し、実行可能にすることを忘れないでください。
#!/bin/bash
#
# Override /etc/resolv.conf and tell
# NetworkManagerDispatcher to go pluck itself.
#
# scripts in the /etc/NetworkManager/dispatcher.d/ directory
# are called alphabetically and are passed two parameters:
# $1 is the interface name, and $2 is "up" or "down" as the
# case may be.
# Here, no matter what interface or state, override the
# created resolver config with my config.
cp -f /etc/resolv.conf.myDNSoverride /etc/resolv.conf
/etc/resolv.conf.myDNSoverride
のエントリ
nameserver 8.8.8.8
見て:
$ man NetworkManager.conf
dns=none
セクションに[main]
を含む行を追加すると、NetworkManagerが/etc/resolv.conf
をタッチしないようです。
ppon
およびppoff
を使用するということは、おそらくpppd
を使用していることを意味します。その場合、pon
はスクリプト/etc/ppp/ppp_on_boot
を実行します。 pon
に引数を指定しない限り、/etc/ppp/peers/provider
から設定が読み込まれます。引数を指定すると、たとえばpon interwebz
と表示され、/etc/ppp/peers/interwebz
が検索されます。チェックする/etc/ppp/options
もあります。
このファイルにはusepeerdns
という設定が含まれていると思います。 pppdのmanページから:
usepeerdns
Ask the peer for up to 2 DNS server addresses. The addresses supplied by the peer
(if any) are passed to the /etc/ppp/ip-up script in the environment variables
DNS1 and DNS2, and the environment variable USEPEERDNS will be set to 1. In
addition, pppd will create an /etc/ppp/resolv.conf file containing one or two
nameserver lines with the address(es) supplied by the peer.
このオプションをコメントアウトし、pppd
をpoff
で停止し、resolv.conf
を編集してからpppd
をpon
で再起動し、それが解決するかどうかを確認します問題。
インターフェース設定ファイル(eth0の場合は/etc/sysconfig/network-scripts/ifcfg-eth0
)を編集すると、ネットワークマネージャーが使用している設定を確認できます。
そのインターフェースBOOTPROTO=yes
でDHCPを実行している場合は、DNS設定をPEERDNS=no
で上書きしないように指示できます。静的アドレスを使用している場合は、DNS設定を
DNS1="8.8.4.4"
DNS2="8.8.8.8"
SEARCH="yourdomain.com"
これはNetwork Manager構成GUIで行うことができますが、私が見る限り、接続ごとに行う必要があり、グローバルに行うことはできません。つまり、Wi-Fi接続ごとに個別に構成する必要があります。 (これは厄介なことですが、多くのwifiネットワークがDNSを内部サーバー以外のものにブロックするため、良い点も悪い点もあるので、個々の構成は必要になる可能性があります。 )
いずれの場合も、Fedora 19では、ネットワークマネージャーのドロップダウンから取得した[ネットワーク設定]ボックスに移動するか、[ネットワーク接続]設定パネルを実行します。 (これらの2つが異なるのはなぜですか?変更は段階的に導入されていると思います。)いずれの場合も、各接続を編集し、どちらのインターフェースでもIPv4タブを見つけることができます。
ネットワーク設定コンフィギュレーターで、自動をオンからオフに変更し、Googleアドレスを入力します。または、ネットワーク接続GUIで、メソッドを「自動(DHCP)」から「自動(DHCP)アドレスのみ」に変更し、ボックスにDNSを再度入力します。
dns=none
のメインセクションに/etc/Networkmanager/NetworkManager.conf
を追加してから再起動すると、NetworkManagerが/etc/resolv.conf
の検索ステートメントを上書きできなくなりました。