
Ubuntu日本語フォーラム

ログインしていません。
(2つの質問があります。)
勤務先のネットワークシステムが変わりました。ubuntu10.04のlinuxマシンを固定IPにしようとしています。
/etc/resolve.conf のIPアドレスが消えているので、nameserver 130.34.40.50
という言われたIPを入れ、一旦はインターネットがつながるようになりました。
しかし、PCを再起動するとこれが消えて、再度入力しないといけません。
その回避方法として、/etc/network/interfaces 内に
peerdns no
というのを入れました。
=================================
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address ...
netmask ...
broadcast ...
gateway ...
peerdns no <-----上記に加えこれを足しました。
=================================
質問1.
上記の設定を確定するため、
$ sudo service /etc/init.d/networking restart
しましたが、unrecognized service と言われてしまいます。
https://forums.ubuntulinux.jp/viewtopic.php?id=8078
を参考にすると10.04からは特殊なようで、真似して
$ sudo service networking restart
としましたがだめでした。
どうすればservice コマンドが動くのでしょうか?
2.そもそもubuntuで”peerdns no” というのは使えるのでしょうか?
初心者なので回答の意味が分からないかもしれませんが、よろしくお願いいたします。
オフライン
service コマンドの変更内容は、下記スレッドが参考になります。
https://forums.ubuntulinux.jp/viewtopic.php?id=8078
誰かの問題は、多くの人の問題である場合が多いので、既出の場合が多いです。
今回の場合は”service”でサイト内検索したら、ヒットしたスレッドです。
オフライン
肝心な話が抜け落ちました。
"peerdns" は、DHCP向けのスイッチだと思います。
静的にIP振る場合の、nameサーバ指定には、私の場合、
パッケージ resolvconf をインストールし、/etc/network/interfaces に dns-servers xxxxx を設定し、使ってます。
私も、katokatoさん 同様 ズーッとRedHat系に馴染んできたので、この辺でつまずいた時に、debianとUbuntuのネットワーク設定をネット検索し調べました。
参照: http://tobysoft.net/wiki/index.php?Ubuntu%2F%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB%B8%E5%A4%CE%C0%DF%C4%EA
ただし、9.10 までは、上記設定で、network 起動すると、NetworkManagerが不活性化してくれたのですが、
10.04 では、この辺りの動作が変わったのか、NetworkManager が邪魔する場合があり、NetworkManagerパッケージを削除して使っています。
ただ、このフォーラムでの、こういった質問に対するレスとして相応しいのは、/etc/network/interfaces 等は触らずに、NetworkMnager の設定法を回答すべきなのかなとは思いますが、やったことありませんので、他の方にパスします。
オフライン
slさん
どうも有難うございます。
まず、2つめの質問については、教えて頂いたものを調べていくうちに dns-nameservers xxxxx を/etc/network/interfaces
に張り付ければ解決しそうな気がしてきました。
しかし、1つめの質問にある service コマンドの問題が解決しないかぎりそれを試せません。。。
教えて教えて頂いたスレッドhttps://forums.ubuntulinux.jp/viewtopic.php?id=8078
も実行した上で質問致しました。
私が実行してうまくいかないのは、
$ sudo service networking restart
$ sudo service network restart
とかです。これさえうまくいけばチェックできるのかなと思っています。
あと、NetworkManagerですが、私のPCでは見つけられず、もしかすると、「システム/システム管理/ネットワークツール」のことかと思いますがどうでしょうか?
個人的には、GUIでなく極力コマンドの方で頑張りたいと思っています。
よろしくお願いします。
オフライン
katokato による投稿:
しかし、1つめの質問にある service コマンドの問題が解決しないかぎりそれを試せません。。。
とりあえず
"sudo /etc/init.d/networking restart"
で再起動してみたら如何ですか?
katokato による投稿:
NetworkManagerですが、私のPCでは見つけられず、もしかすると、「システム/システム管理/ネットワークツール」のことかと思いますがどうでしょうか?
そうです。
オフライン
10.04 サーバー版(32bit) ですが、sudo service networking restart は何の問題もなく動作します
service コマンドは、内部的に /etc/init.d ディレクトリにあるスクリプトを実行しているものが多く、networking もその例に漏れません
つまり、sudo service networking ... はその内部で sudo /etc/init.d/networking ... を呼び出しており、呼び出し先の /etc/init.d/networking ファイル が見つからないと unrecognized service というエラーを表示します
念のために /etc/init.d ディレクトリに networking ファイル があるかどうかを確認してください
/etc/init.d/networking ファイルは、システム必須パッケージの一つである netbase パッケージによって提供されているものなので、もしこれが無いのだとすると、OS の再インストールを覚悟しなくてはならないかもしれません
オフライン
si@ubuntu:~$ sudo service networking restart [sudo] password for si: restart: Unknown instance: si@ubuntu:~$ sudo /etc/init.d/networking restart * Reconfiguring network interfaces... [ OK ] si@ubuntu:~$ uname -a Linux ubuntu 2.6.32-25-generic-pae #44-Ubuntu SMP Fri Sep 17 21:57:48 UTC 2010 i686 GNU/Linux
どうも、Desktop版とサーバ版では違うのか?
それとも我々はおかしなことをしているのか?
またまた、PAEカーネルのせいなのか?
ちなみに、私は、パッケージ network-manager と network-manager-gnome は削除しております。
私の環境:
*Ubuntu10.04 日本語版(メモリー沢山積んでいるせいか、PAEカーネルが入る)
*eth0&1 で bonding するため、network-manager は削除(以前のバージョンは削除しなくて良かった記憶あり)
*ハード構成
CPU: Xeon 3350(Core2Quad 同等品)
MB: GA-EP45-DS4(2x4G PC2-800メモリ)
VGA: geforce GTS450(最近までは、8600GT)
オフライン
sl さん
有難うございます。初歩的な質問で失礼しました。それで一つ進展がありました。
$ sudo service /etc/init.d/networking restart → /etc/init.d/networking: unrecognized service と画面で表示されてout.
$ sudo /etc/init.d/networking restart
→
* Reconfiguring network interfaces...
Continuing at if-pre-up,eth0
ssh stop/waiting
ssh start/running, process 13110 [OK]
と出ました。 コマンドの”service”なくても動くのですね。でもこれで正常に機能しているかわかりません。ちなみに
/etc/network/interfaces に dns-nameservers 130.34.40.50 に追加しているので
/etc/resolv.config に nameservers 130.34.40.50 が自動的に書き込まれました。
それでネットはつながります。これが正常に機能したということなのでしょうか?
ただし、やはり再起動すると、/etc/resolv.config のnameserverのIPはすべて消されており、再度自分で設定しないといけません。
再起動しても安定してネットをつながるようにする方法がやっぱり分かりません。。。
オフライン
ryさん
有難うございます。私は、64bitマシンなのでもしかしてそれが原因なのかもしれません。slさんへのお返事で書きましたように、serviceコマンドを書かなければ動きました。
また、 /etc/init.d/ディレクトリ以下にnetworkingはありました。
jkato@ubuntu:~$ service --status-all
[ ? ] acct
[ ? ] acpi-support
[ ? ] acpid
[ ? ] alsa-mixer-save
[ ? ] anacron
[ - ] apparmor
...
...
[ ? ] network-interface
[ ? ] network-interface-security
[ ? ] network-manager
[ ? ] networking <<<<<<<<<<<<<<<--------------------------
ただ、この[?, ー, +]の意味がわかりませんが。。。
現段階では、再起動するとresolv.configが消されてしまう半自動的な状態です。
オフライン
katokato による投稿:
$ sudo service /etc/init.d/networking restart → /etc/init.d/networking: unrecognized service と画面で表示されてout.
使い方は "sudo service networking restart" です。
サービスとして登録されているものを起動するコマンドです。
起動されるサービスの実体が "/etc/init.d/" 以下にあるものです。
/etc/network/interfaces に dns-nameservers 130.34.40.50 に追加しているので
/etc/resolv.config に nameservers 130.34.40.50 が自動的に書き込まれました。
ただし、やはり再起動すると、/etc/resolv.config のnameserverのIPはすべて消されており、再度自分で設定しないといけません。
/etc/resolv.conf の中を見てください。
多分、NetworkManager が起動時に書き換えている気がします。
resolvconf が書き換えていれば、その旨書き込まれている思います。
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.1.111
このあたりの動作、最近変わりつつあるようで、よく解らないというのが本音なのですが、
回答として相応しくないかも知れませんが、私のとっている対応を書いておきます。
*network-manager削除
依存関係から、network-manage-gnome も削除される
*/etc/resolv.conf を書く
resolvconfは、認証されていないので、パッケージャーが警告を発するので、入れてません。
ちなみに、64ビット版も使ってましたが、同じです。
オフライン
resolv.confを書き換えているのはNetworkManagerです。
NetworkManagerを削除しなくても、画面右上のNetworkManagerアプレットのアイコンを右クリックし、「ネットワークを有功にする(N)」のチェックを外せばresolv.confを書き換えませんが、NetworkManagerで固定IPの設定はできますので、NetworkManagerでの設定をおすすめします。
メニューのシステム -> 設定 -> ネットワーク接続、またはNetworkManagerアプレットのアイコンを右クリック -> 接続の編集...から設定します。
オフライン
slさん、
アドバイス有難うございます。そして返信が遅れてすみません。
正しい方法として、教えて頂いたようにやっても以下のようにUnknown instanceというのが出てだめなのです。。。
jkato@ubuntu:~$ sudo service networking restart
[sudo] password for jkato:
restart: Unknown instance:
なぜだか、結局のところ”serviceコマンドをコマンドプロンプトで入れない”時にしか正常にresolv.confにnameserverが書き込まれません。
やっぱり、再起動する度に手動で以下をしないとだめですね。
$sudo \etc\init.d\network restart (service コマンド抜き)
諦めかけてきました。。。
オフライン
jackalopeさんが書かれた方法(Network-Managerによる設定)は試されましたでしょうか。
逆にNetwork-Managerを使いたくないのであれば、/etc/init/network-manager.confの
start on (local-filesystems
and started dbus)の部分をコメントアウトするとNetwork-Managerが起動しなくなると思いますので、手動設定しても上書きされなくなるように思います。
オフライン
https://forums.ubuntulinux.jp/viewtopic.php?id=8078 を読み返したり、”Unknown instance”をヒントに考え直すと、
1。service networking は、/etc/init/networking の設定を読んで実施される
2。そこには、start しかない(stopもない)
3。つまりは、network の再起動には使えない。
4。/etc/init.d/ 以下を見ると、networking は実体があるが、多くは、リンクである。
5。多分、networking は、旧来からの効果を得るための互換性維持で残されている
6。我々の期待を得るには、”sudo \etc\init.d\network restart” を実行する
7。デスクトップ版では、デフォルトでは、Network-Manager を使うことを想定しているので、これを止めるか、resolv.confを書き換えない様に設定する必要がある。(jackalopeさんの方法、hmatsueさんの方法が提示されている)
オフライン
#10 で si さんに指摘されるまで sudo service で 余計な /etc/init.d/ が付いていることに気付かなかった粗忽者ですが、
/etc/init/networking.conf など、/etc/init にある設定ファイルの内容に関わらず、基本的には start|stop|restart|status|reload|force-reload の 6 つのサブコマンドが使用可能です
ただし、実際にそれがサポートされているかどうかはサービスの種類に依存します
sudo service networking restart を実行した結果、restart: Unknown instance: というメッセージが表示されたことからすると、networking サービスでは restart サブコマンドがサポートされていないことは確実でしょう
4。/etc/init.d/ 以下を見ると、networking は実体があるが、多くは、リンクである。
本トピックで問題視されている networking (/etc/init.d/networking) は実体を持ったファイルです
これ以外に /etc/init.d/network-* など似た名称のファイルがありますが、ここでは不要の論です
5。多分、networking は、旧来からの効果を得るための互換性維持で残されている
6。我々の期待を得るには、”sudo \etc\init.d\network restart” を実行する
networking サービスが restart サブコマンドをサポートしていない、つまり sudo service networking restart が使えないことを理由に、/etc/init.d/networking が残されていて、networking を restart したいときは /etc/init.d/networking restart を使うことが正解だろうということについては、大いに賛同します
(多分、将来的には sudo service networking restart も使えるようになるだろうと思います)
オフライン
オフトピ気味ですみません
>>#15
> (多分、将来的には sudo service networking restart も使えるようになるだろうと思います)
networking はデーモンじゃないので service networking hoge というのがそもそも間違いではないでしょうか
同じ理由で上記のコマンドが使えるようになる見込みは無いと思われます
/etc/network/interfaces の変更を反映する場合…
1. 常時稼働なサーバーでインターフェースの指定が必要なら ifdown、ifup
2. lo を含めごっそり restart でいいなら /etc/init.d/networking restart (実態は ifdown -a、ifup -a)
で、どうでしょう
オフライン
すみません! #16 に間違いがありました!!
/etc/init.d/networking restart では "lo" インターフェースは対象外でした
オフライン
#6 の自分の投稿に大きな勘違いがあったので、改めて訂正します
----
sudo service networking ... は sudo /etc/init.d/networking ... を呼び出していません
----
sudo service コマンドは、/etc/init/ ディレクトリに .conf を拡張子にしたファイルがあるサービス (networking はこれに当たる) は、/sbin/start、/sbin/stop などのコマンドを用いてサービスを直接制御します
それ以外の (/etc/init/ ディレクトリにファイルがない) サービスについてだけ、/etc/init.d/ ディレクトリのファイルが呼ばれます
オフライン