Linuxでeth0,eth1の環境で、eth0の定義変更(DNSの追加)を行い、eth0のみdown/upをした所、
別セグメントからのsshログイン不可、Ping応答不可になってしまいました。
最終的には「systemctl restart network」とサービス全体を再起動して元通りになりましたが、
自分の考えていた動きと違います。
これは正しい動きなのでしょうか?
ご存知の方、参考URLでもかまいませんので、ご教授ください。

<環境>
 OS:RHEL7
 ネットワーク構成:eth0 111.222.333(対外用LAN)
          eth1 192.555.666(内部LAN)

<実施作業>
 ・DNS定義を追加
   /etc/sysconfig/network-scripts/ifcfg-eth0
 ・eth0をdown/up
   ifconfig eth0 down
   ifconfig eth0 up

 ※別セグメントからのsshログイン不可、Ping応答無し※

 ・ネットワークサービス再起動
  systemctl restart network

 以降正常

このQ&Aに関連する最新のQ&A

A 回答 (4件)

補足:


特定の(複数ある)インターフェイスの1つのみの Down/Up には ifdown/ifup コマンド(スクリプト)を使ってください。
    • good
    • 0

>(3)別セグメントからのアクセス


>  別セグメントからという表現が良くありませんでした。
>
>  さらに質問文中のIPアドレスも第3オクテットまでしか記載しておりませんでした。
>  eth0を以下のIPアドレスとします。
>  「eth0 : 111.222.333.444」
>
>  アクセス可能なIPアドレスは、111.222.333.111 でした。
>  アクセス不可能なIPアドレスは、111.222.444.111でした。

この説明だけでは、判断しかねます。
サブネットマスクによって、別セグメント(別ネットワークアドレス)か同一セグメントか決まるので、上記の場合クラスCのネットワークなら当然通信できないわけで、クラスAかBもしくは特殊なサブネットマスクが設定されているということでしょうか。

先の回答で書き忘れましたが、
/etc/sysconfig/network-scripts/ifcfg-eth0 への変更を有効化するには基本的に network script を実行する必要があります。ifconfig コマンドでのインターフェイスの Down/Up では単に Down/Up しただけで、不都合が生じる可能性があります。

結果的にネットワークサービスを再起動することによって解決したとのことなので、それが正しい設定有効化の方法だったと言えるかもしれません。
    • good
    • 0

https://oss.sios.com/yorozu-blog/rhel6-rhel7chan …

> ・eth0をdown/up
>   ifconfig eth0 down
>   ifconfig eth0 up

nmcli connection down eth0
nmcli connection up eth0
で行うみたいですね。

> ・DNS定義を追加
>   /etc/sysconfig/network-scripts/ifcfg-eth0

こちらも
nmcli connection modify ....
で行うべき…と。
# NetworkManager利用だと、対象のファイルパスが異なっていたりするんですよねぇ……。
# そこら辺の整合性はNetworkManager自身がよろしく処理してくれている…ものと思われます。

NICの名前がRHEL7ではethXではなくなっている…というのはありますが、ethXに名前を変更できたはずなのでその辺りはよろしく読み替える…という方向で。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

確かにRHEL7では、nmcliコマンドが標準のようですが、
質問した環境では、NetworkManagerが停止しています。
OSをセットアップした人は別の人なので理由はわかりませんが、推奨の方法でやらなかったからなのでしょうか。

お礼日時:2016/07/16 01:42

少なくとも以下の内容がわからないと回答が難しいです。



・「DNS定義」に該当するものが /etc/sysconfig/network-scripts/ifcfg-eth0 にあるとは思えませんが、具体的にどのような変更をしたのでしょうか。

・「※別セグメントからのsshログイン不可、Ping応答無し※」はeth0,eth1のどちらの系統のことでしょうか。

・通常、別セグメントからアクセスすることはできないはずですが、ゲートウェイかルーターがネットワーク内にあるのでしょうか。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
説明が不足しておりました。

(1)DNS定義について
  DNS定義は、ifcfg-eth0に以下2行を追加しています。

   DNS1=xxx.xxx.xxx.xxx
   DNS2=yyy.yyy.yyy.yyy
(2)sshログイン不可・Ping応答なし
  これは、DOWN/UP をしたeth0に対してです。

(3)別セグメントからのアクセス
  別セグメントからという表現が良くありませんでした。

  さらに質問文中のIPアドレスも第3オクテットまでしか記載しておりませんでした。
  eth0を以下のIPアドレスとします。
  「eth0 : 111.222.333.444」

  アクセス可能なIPアドレスは、111.222.333.111 でした。
  アクセス不可能なIPアドレスは、111.222.444.111でした。


補足説明になっていますでしょうか。
よろしくお願いいたします。

お礼日時:2016/07/16 01:39

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Q/etc/sysconfig/network-scripts/ifcfg-eth0で設定している内容

このファイルで何を設定しているのかがわかりません。
ご存知の方教えていただけないでしょうか
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp
HWADDR=00:0C:29:38:6C:44
ONBOOT=yes
TYPE=Ethernet

Aベストアンサー

ネットワークの設定です。
NIC(ネットワークインタフェースカード)に応じてifcfg-eth0 ifcfg-eth1などが作成されます。

ifconfigするとeth0とかeth1とかでてきますよね。あれがそれぞれ対応してるわけです。

DEVICE=eth0
NICの通し番号のようなもの。NICにつけた一意の名前。通常変更しない。

BOOTPROTO=dhcp
DHCP使うかどうかの設定(多分)

HWADDR=00:0C:29:38:6C:44
NICのMACアドレス

ONBOOT=yes
起動時にNICを有効化するかどうか。これがyesになっていないと、再起動などした時にネットワークが無効化している場合がある。

TYPE=Ethernet
ネットワークの種類

Qeth0、eth1の起動順について。

eth0、eth1の起動順について。

基本的にネットワークを起動した場合eth0、eth1...と順に起動していくと思いますが、その順番を変更したい場合はどのようにすれば出来ますでしょうか?
もちろん、eth1を自動起動後にeth0を手動で起動すれば問題ないのですが、それを自動的にするにはどこかのファイルに書き込めば自動で出来るような気がしますが、どこに書けばいいのか分かりません。

一番行いたいのは、ppp0を起動後にeth1を起動できるようにしたいです。

どなたかお力を貸していただけませんか。
よろしくお願いします。

Aベストアンサー

下記を読んでみてください

http://www.geocities.co.jp/SiliconValley-Cupertino/9120/startup.html

Qapachectl -k restartとapachectl restartの違い

表題の違いがわかりません。
教えていただけないでしょうか

Aベストアンサー

同じです。
指定しない場合はapachectlが-kを補完してくれます。

---------------------------
httpd プロセスにシグナルを送る 2 番目の方法は -k というコマンドライン引数を使用することです。 下で説明されているように、stop, restart, graceful, graceful-stop を指定できます。 これらは httpd の引数ですが、 制御用のスクリプト apachectl はそれらの引数をそのまま httpd に渡します。
http://httpd.apache.org/docs/2.2/stopping.html

Qeth0を確認するシェルスクリプト

eth0が起動しているかどうかを確認し、起動していなかったらサーバを再起動させたいと考えているのですが、どのような方法が適当と思われますか。
google等で調べてみた感じでは、シェルスクリプト足すcronで可能なのかなと思っています。

もしシェルスクリプトを使用する場合
#!/usr/bin/sh
if eth0が起動していなかったら;then
shutdown -r now
elif eth0が起動していたら ; then
何もしない
fi
というような考え方をすればいいのかなと思っているのですが、具体的な記述についてはまだピンときません。具体的記述方法、あるいは参考URL等教えていただければ幸いです。

ちなみにシェルはbash。OSはred hat 9です。
よろしくお願いします。

Aベストアンサー

ANo.1です。

下を参考にしてください。メールの代わりに再起動すればよいかと。
http://sonic64.com/2003-09-08.html#2003-09-08-1

ちなみにifconfig eth0を使う場合の書き方は
ifconfigの結果を拾ってきてUPかつRUNNINGが表示されていなければ再起動とかでしょうか。

/sbin/ifconfig eth0 | grep UP | grep RUNNING > /dev/null
if [ $? -ne 0 ]; then
  shutdown -r now
fi

Q/etc/networks

/etc/networks は標準でないですが、このファイルは自分で作成するファイルでしょうか? 任意のパッケージをインストールすると、存在するファイルではないということでしょうか?

Aベストアンサー

ITPro”正解は「4. ネットワーク名とネットワークアドレス」です。”より引用。

ホスト名とIPアドレスの対応を記述すると、DNSを使わなくてもホスト名とIPアドレスの名前解決ができるようになります。

記述例:
loopback127.0.0.0
localnet172.16.0.0
mynet192.168.0.0

記述前:
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0

記述後:
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
mynet * 255.255.255.0 U 0 0 0 eth0
default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0

参考URL:http://itpro.nikkeibp.co.jp/article/COLUMN/20100901/351674/

ITPro”正解は「4. ネットワーク名とネットワークアドレス」です。”より引用。

ホスト名とIPアドレスの対応を記述すると、DNSを使わなくてもホスト名とIPアドレスの名前解決ができるようになります。

記述例:
loopback127.0.0.0
localnet172.16.0.0
mynet192.168.0.0

記述前:
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
default 192.168.0.1 0.0.0.0 UG ...続きを読む


このカテゴリの人気Q&Aランキング

おすすめ情報