タグ別アーカイブ: ifup

[Linux CentOS]CentOS6.4でネットワーク周りのTips


まずは・・・

CentOS5系列とはちょっと違う点がいくつかあったので備忘録のために、ネットワーク周りで気になったことをまとめてみます。
意外と違う部分があったのでちょいハマりした。。。

DNS resolveの設定について(参照キャッシュDNSサーバの設定)

Redhat系のLinuxのCentOSなどはこれまで「/etc/resolve.conf」に「nameserver」を定義することで設定できていた。6.4では定義することで有効になるけど、OSを再起動するなどネットワークが再起動するときにresolve.confに書いた内容が消えてしまうという現象が発生した。

【解決方法】
ネットワークインターフェース(ifcfg-eth0など)の設定ファイルににDNSキャッシュサーバの定義を追加すれば良い

# vi /etc/sysconfig/network-scripts/ifcfg-eth0
  [以下を追記]
  DNS1=**.**.**.**
  DNS2=**.**.**.**

上記の定義を入れることで、「/etc/resolve.conf」にも「nameserver」の項目が追加され上記IPアドレスが設定される


NetworkManagerについて

CentOS6系列ではデフォルトでNetworkManagerというプロセスが動いているようです。(インストール時にX-windowパッケージに付随してインストールされるようです)
このプロセスはifcfg-eth0の定義を変更する場合など変更を検知して、動的に設定反映するデーモンです。
またKVMでゲストOSをネットワークブリッジで利用する場合、このデーモンが動いていると制御できないようです。
http://www.02.246.ne.jp/~torutk/linux/centos6/installmemo.html

そういった理由からNetworkManagerは停止しました!(自動起動も停止)

# /etc/init.d/NetworkManager stop
# chkconfig --level 2345 NetworkManager off

番外編(ネットワーク周りのコマンド)

  • ifup
    インターフェースを個別に有効にするコマンド。以下のようにするとeth1のインターフェースが有効になる
# ifup ifcfg-eth1
  • ifconfig
    ネットワークインターフェースごとのIPなどの情報を確認するコマンド

  • ping
    ネットワークの疎通を確認するコマンド

 ping **.**.**.**
  • arp
    -a オプションと同時に使用して、IPアドレスに対応するMacアドレスを確認するために利用

サーバの設定をしていてサーバがDHCPなどに意図せず変更されてしまった場合にリモートアクセスするためにはIPを調査して特定しなければならない。

ネットワーク上でどのIPが有効かを調べるためのスクリプトを以下のようなPerlで書いた。
単純にpingをネットワークのIP全てに対して一度叩くスクリプトです。
このスクリプト実行後に「arp -a」を実行することで対応するIPとMacアドレスの一覧が見られます。この対応があるIPが現在のネットワークで有効なIPアドレスとなります。

#!/usr/bin/env perl
use strict;
use warnings;

for my $n (1..255) {
    print $n."\n";
    system 'ping -c 1 -t 1 192.168.100.'.$n;
}

きょうはここまで・・!