resolv.confが勝手に書き換わる原因と対策

このQ&Aのポイント
  • FreeBSDの環境でresolv.confが勝手に書き換えられる問題について質問です。現在は手動で修正していますが、本来の原因としては/sbin/dhclient-scriptによる書き換えが行われていることがわかっています。コメントアウトすることは可能でしょうか?
  • Linuxの場合は/etc/sysconfig/network-scripts/ifcfg-eth0をPEERDNS=noに設定することでresolv.confの書き換えを止めることができますが、FreeBSDの場合は方法がわかりません。質問です。
  • FreeBSDの環境でresolv.confが勝手に書き換えられる問題について質問です。原因としては/sbin/dhclient-scriptによる書き換えが行われていることがわかっています。コメントアウトすることで修正できるのでしょうか?対処法についてアドバイスをお願いします。
回答を見る
  • ベストアンサー

resolv.conf が勝手に書き換わる

haluと言います。 よろしくお願いします。 環境:FreeBSD 5.3 RELEASE dhcp使用 問題点 resolv.confが毎回書き換えられ 手動で直しています。 原因として、/sbin/dhclient-script が書き換えているのは わかっているんですが 単純に書き換えているコードを コメントアウトしていいのでしょうか? ちなみに、linuxの場合は /etc/sysconfig/network-scripts/ifcfg-eth0 を PEERDNS=no にするとresolv.confの書き換えを止めることが出来るのはわかったのですが FreeBSD の場合どうすればいいのかわからないので質問しました。 何かわかりましたら アドバイスよろしくお願いします。

  • BSD系OS
  • 回答数1
  • ありがとう数10

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

これって (1)DHCPによる自動設定を止めたい (2)DHCPによる自動設定はしたいが、resolv.confの書き換えはして欲しくない のどちらでしょうか? (1)であれば、/etc/rc.confでdhcp取得にしている箇所 ifconfig_fxp0="DHCP" を ifconfig_fxp0="inet 192.168.1.1 netmask 0xffffff00" 等と手動で設定するように変更すれば良いと思います。 (fxp0は環境によって変わります。) (2)の場合、DHCP取得する内容を、/etc/dhclient.confに明示的に入れれば良い と思います。具体的にいうと、/etc/dhclient.confを request host-name, subnet-mask, static-routes, routers, domain-name, broadcast-address; という内容だけが入ったファイルにします。 ちなみに上記ファイルのrequest指定行に「domain-name-servers」を追加すると resolv.confの書き換えが起こると思います。 動作確認はしてませんが、要するに/etc/dhclient.confを変更することで 挙動が変更できるはずです。 まぁ、自分だけでつかうマシンであれば、スクリプトを書き換えてしまっても 構わないかとは思いますが、、、。

maruchan0488
質問者

お礼

shuyamakawaさんありがとうございます!! shuyamakawaさんの言うとうり/etc/dhclient.confの 設定でうまくいきました。 少しだけ変えましたが基本的には納得いく動作になりました。 いつも 127.0.0.1 を手動で追加していたので これでやっと開放されます。。。 interface "vr0" { ... prepend domain-name-servers 127.0.0.1; request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, host-name; ... }

maruchan0488
質問者

補足

アドバイスありがとうございます。 わかりにくくて申し訳ないです。 やりたいのは、(2)のほうです。 今 出先なので 家に帰ったら試してみようと思います。 それでは、、、報告は今夜あたりに

関連するQ&A

  • DNSサーバ設定ファイル"resolv.conf"の内容がリセットされる。

    IPでは、Webサイトにアクセスできるが、ドメインではアクセスできないという問題が発生したため、DNSの設定の問題を疑い、DNSサーバ設定ファイル"resolv.conf"ファイル(/etc/resolv.conf) をチャックしました。案の定、内容はコメント以外、空白だったので、DNS1=***.***.***.***、DNS2=***.***.***.***という形で設定したのですが、ネットワークを再起動するたびに、"resolv.conf"がリセットされ空白に戻ってしまいます。 原因をネットで調べて、”ifcfg-eth0”ファイル(/etc/sysconfig/network-scripts/ifcfg-eth0)の設定を変更したのですが、駄目でした。 OS:Linux Fedra 10 現在の”ifcfg-eth0”ファイルの内容は以下。 DEVICE=eth0 HWADDR=00:11:43:80:3c:42 ONBOOT=yes BOOTPROTO=static USERCTL=no PEERDNS=no IPV6INIT=no NM_CONTROLLED=yes TYPE=Ethernet NETMASK=255.255.255.0 IPADDR=192.168.1.105 GATEWAY=192.168.1.1 DHCPCDARGS='N'

  • RedHat Linux 9をルーターにしたい

    RedHat Linux 9を自宅ADSL環境にて、ルーターとして使用したいのですがやり方がいまいちよくわかりません。設定に必要な項目などを教えていただけませんでしょうか。 今現在は、 /etc/sysconfig/network-scripts/ifcfg-eth0(ADSLモデム側)に DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes USERCTL=no PEERDNS=yes TYPE=Ethernet /etc/sysconfig/network-scripts/ifcfg-eth1に DEVICE=eth1 BOOTPROTO=none BROADCAST=192.168.1.255 IPADDR=192.168.1.1 NETMASK=255.255.255.0 NETWORK=192.168.1.0 ONBOOT=yes USERCTL=no PEERDNS=no TYPE=Ethernet と設定されています。 その他、 /etc/sysctl.confでは、 net.ipv4.ip_forward=1 と書き換え /etc/rc.localには /sbin/modprobe iptable_nat /sbin/modprobe ip_conntrack_ftp /sbin/modprobe ip_nat_ftp を追記 /etc/sysconfig/dhcpdには、 DHCPDARGS=eth1 と追記 /etc/sysconfig/networkには NETWORKING=yes HOSTNAME=localhost.localdomain GATEWAY=192.168.1.1 と設定されています。 何か足りないところがあるのでしょうか? ADSLは、YahooBBのを使用しています。 以上、長々と書かせていただきましたが、よろしくお願いいたします。

  • resolv.confの設定について

    環境 CentOS6.2 サーバ:192.168.0.3 ルータ:192.168.0.1 ドメイン名:hogehoge.ddo.jp (架空のドメイン名です) 再起動すると ifcfg-eth0の内容がresolv.confに反映されてしまい、hostコマンドで名前解決されているか確認すると、下記結果になってしまいます。(本来、ドメイン名からサーバのローカルIPが帰ってくるべきものが、グローバルIPになっています。またサーバのローカルIPの問い合わせでも、見つからないと返答があります。) この状態のときのresolv.confの内容は下記のとおりです。 [root@hogehoge ~]# cat /etc/resolv.conf nameserver 192.168.0.1 サーバからhostコマンドで問い合わせした結果です。 [root@hogehoge ~]# host 192.168.0.3 Host 3.0.168.192.in-addr.arpa. not found: 3(NXDOMAIN) [root@hogehoge ~]# host hogehoge.ddo.jp hogehoge.ddo.jp has address 182.169.XXX.XXX resolv.confの内容を下記のとおりに修正して,bindを再起動すると正常に名前解決できます。 [root@hogehoge ~]# cat /etc/resolv.conf nameserver 127.0.0.1 search hogehoge.ddo.jp 現在設定されている ifcfg-eth0の内容です。私の理解ではこの設定が再起動、シャットダウン後、resolv.confに反映されると思っております。 再起動のたびに、いちいち編集してbindを再起動しなくても良いようにするには、どのように修正すればよろしいでしょうか。よろしくお願いします。 [root@hogehoge network-scripts]# cat ifcfg-eth0 DEVICE="eth0" HWADDR="00:11:85:11:EE:64" NM_CONTROLLED="yes" ONBOOT="yes" BOOTPROTO=static IPADDR=192.168.0.3 NETMASK=255.255.255.0 GATEWAY=192.168.0.1 BROADCAST=192.168.0.255 DNS1=192.168.0.1

  • VMware Playerでネットワークカードが認識されない。

    はじめまして。 最近、VMware Playerを使い始めたのですが、 どうもネットワークカードを認識しないようです。 (Miracle Linux 4.0) 【現状】 /etc/modprobe.conf →ネットワークカードのaliasがありません。 lsmod →モジュールなし /etc/sysconfig/network-scripts/ifcfg-eth0 →このファイルはない。ifcfg-loのみ存在。 /etc/resolv.conf →cat /etc/resolv.conf で見てみたが、何も書かれていない。 kudzu →何も検出せず。 もし情報をお持ちの方がいましたら 教えていただけないでしょうか?

  • resolv.confが書き換わる不具合他

    【環境】 OS:fedora11 IP: 固定 DNS自前設定あり 【質問】 /etc/resolv.confが、network起動時に初期化されてしまいます。 対策として以下ファイルに /etc/sysconfig/network-scripts/ifcfg-eth0 DNS2=xxx.xxx.xxx.xxx DOMAIN=example.com と追記したことでなんとか最低限の動作は確保できました。 しかしresolv.confには search example.com となります。 期待する値が domain example.com としたいです。 この設定後にnetwork起動中にエラーが発生します。 [root@iriomote ~]# /etc/init.d/network restart インターフェース eth0 を終了中: [ OK ] ループバックインターフェースを終了中 [ OK ] ループバックインターフェイスを呼び込み中 [ OK ] インターフェース eth0 を活性化中: RTNETLINK answers: File exists eth0 についてアドレス 192.168.11.22 を追加中にエラー [ OK ] 対処方法などの完全回答でなくとも構いませんので、 思いついた対処法のアドバイスをいただきたく質問いたしました。 気がついた点があればよろしくお願いします。

  • resolv.confの役割と書き変わる原因

    CentOS5.2を使っています。 再起動すると、/etc/resolv.confの内容が変わる(ルーターのゲートウェイアドレスに置き換わる)のですが、 なぜでしょうか? /rootにコピーを置いて、再起動後に cp /root/resolv.conf /etc/ としていますが、どういう仕組みで書き変わるのでしょうか? DHCPで自動的にIPがふられるのは良いのですが、resolv.confは変えたくないです。

  • CentOS7 ネットワーク設定に関して

    CentOS7 ネットワーク設定で困っています。 CentOS7 ネットワーク設定を手動で行うと管理対象外になってしまう。 /etc/resolv.confの内容が勝手に書き換わって困っていました。 /etc/sysconfig/network-scripts/のifcfg-???? ファイルに NM_CONTROLLED="no" の設定を記述すると/etc/resolv.confの内容は書き換わらなくなるという事を知り、その対応を行いました。 しかし、それを行い再起動すると、ネットワークに繋がらなくなります。 GUI上で見ると 有線 管理対象外 となっており、「プロファイルの追加」でプロファイルの追加を行っても、 /etc/sysconfig/network-scripts/ifcfg-???? を直接書き換えてもダメです。 オンとかオフのレベルではなく、管理対象外なのでどうにもなりません。 /etc/sysconfig/network-scripts/ifcfg-???? ファイルを削除して、マシンを再起動しないと直りません。 GUIから、あるいはnmtuiから再度登録するとネットワークが有効になります。 しかし、 /etc/sysconfig/network-scripts/ifcfg-???? ファイルに NM_CONTROLLED="no" を追記するとまた 有線 管理対象外 になります。 どうしたものでしょうか?

  • /etc/resolv.conf

    /etc/resolv.conf /etc/resolv.conf は FreeBSD にインターネットドメインネームシステム (DNS) にどのようにアクセスするかを指定します。 resolv.conf の最もよくあるエントリは nameserver リゾルバが問い合わせるべきネームサーバの IP アドレス。 サーバはリストの順に 3 番目まで問い合わせられます。 search ホスト名をルックアップするための検索リスト。通常、ローカルなホスト名のドメインから決定されます。 domain ローカルドメイン名。 ---------------------------------------------------------- となりますが、わたくしの環境は、PR-S300SE というルータ使用なのですが、具体的に、DNS を調べる方法として、どのようなコマンドを叩けば、よろしいでしょうか? よろしくお願いします。

  • 1台で複数セグメント持つ際の設定(Linux)

    1台のLinuxサーバに、NICを2つ搭載し、それぞれ別のネットワークセグメントを想定した場合の設定方法を教えてください。 異なるネットワークセグメントを持つことから、ホスト名、IPアドレス、デフォルトゲートウェイもそれぞれ異なります。 /etc/sysconfig/networkには、HOSTNAME と GATEWAY の設定が必要だと思いますが、/etc/sysconfig/network の定義ファイルは2つ必要なのでしょうか。 /etc/sysconfig/network-scripts/ifcfg-eth[] は、ifcfg-eth0とifcfg-eth1 を作成することが必要だと考えてます。 /etc/sysconfig/networkを2つ(??)作成する必要があるのかどうか、わかりません。 【OS】 Red Hat Enterprise Linux 5.6

  • cetos ローカルDNSが参照されない

    CENTOS6で、 /etc/resolv.conf -------------------------------- # Generated by NetworkManager nameserver 192.168.11.1 nameserver 127.0.0.1 -------------------------------- となっていますが、ローカルに設置したnamedを参照しないようです。 nameserver 192.168.11.1 を手動で削除すれば、正常にローカルのnamedを参照してくれます。 /etc/resolv.conf が起動時に生成されるさいに。 nameserver 192.168.11.1 が勝手に記述されます。(ifcfg_eth0での記述はDNS1=127.0.0.1 のみ) 解決法として、 ・/etc/resolv.conf  の設定が 127.0.0.1 のみなる ・2つあるnameserverの両方を参照しにいくようにする のどちらかの方法をご教授ください。 お願いします。 ------ifcfg_eth0------------- DEVICE="eth0" BOOTPROTO="dhcp" HWADDR="08:00:27:C7:97:69" NM_CONTROLLED="yes" ONBOOT="yes" TYPE="Ethernet" UUID="1becd376-0fea-4dfc-a035-7fc037118343" DNS1=127.0.0.1 ------ifcfg_eth1-------------- DEVICE=eth1 BOOTPROTO=none ONBOOT=yes HWADDR=08:00:27:0A:DE:4B IPADDR=192.168.56.5 NETMASK=255.255.255.0 NETWORK=192.168.56.0 TYPE=Ethernet USERCTL=no IPV6INIT=no PEERDNS=yes DNS1=127.0.0.1 (←念のため)