CentOSのデフォルトのeth0インターフェイスがデフォルトで無効になるのはなぜですか?

CentOSのデフォルトのeth0インターフェイスがデフォルトで無効になるのはなぜですか?

私はすでにDebianやUbuntuなどのLinuxディストリビューションにある程度慣れていますが(はい、非常に似ています)、Red HatベースのCentOS 6.2を試してみたかったです。 VirtualBoxのWindows 7ホストにインストールして試してみました。

小さな問題が発生しました。つまり、デフォルトのeth0インターフェイスがデフォルトでダウンしています。私はNATオプションを使用します(仮想マシンはホストの「背面」にあります)。インターフェイスを呼び出してもifconfig eth0 upすぐには機能しません。インターフェイスを呼び出した後、次のようになります。

eth0      Link encap:Ethernet  HWaddr 08:00:27:0F:00:8A
          inet6 addr: fe80::a00:27ff:fe0f:8a/64 Scope:Link
          UP BROADCAST RUNNNING MULTICAST MTU:1500 Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carriers:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:468 (468.0 b)
          Interrupt:19 Base address:0xd020

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

virbr0    Link encap:Ethernet  HWaddr 52:54:00:75:C2:9B
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
[root@centos ~]# _

CentOSシステムでネットワークを設定するには、何をすべきですか?

答え1

編集する/etc/sysconfig/network-scripts/ifcfg-$IFNAME。この行ONBOOTの値をに変更しますyes

$IFNAME多くのEL6ボックスにありますが、eth0使用するときネットワークデバイスの一貫した命名この方式en3p1はEL6ではオプションですが、EL7以降ではデフォルトです。ip link現在閉じているネットワークインターフェイスを含むネットワークインターフェイスのリストを取得するには、このコマンドを使用します。

今後の設置時には、この点にもっと注意を払ってください。起動時にインターフェイスを呼び出すように指示するネットワーク設定セクションのオプションを無視しています。 EL6以降では、この起動オプションはデフォルトでオフになっていますが、以前のバージョンではデフォルトでオンになっていました。

インストール中に初めて起動したときにネットワークインターフェイスが表示されるようにするには、Configureネットワーク設定画面の→タブに移動して表示されたボックスを選択します。GeneralAutomatically connect to the network when available

についてはなぜセキュリティ上の理由でこれを変更したようです。初めてネットワークインターフェイスを開く前に、基本設定を少し強化してボックスを外部の世界に公開する機会を提供します。

答え2

ネットワークにDHCPサーバーがない場合は、静的IPアドレスを設定する必要があります。次の例を考えてみましょう。

vim /etc/sysconfig/network-scripts/ifcfg-eth0

BOOTPROTO=none
DEVICE=eth0
IPADDR=192.168.1.10 # your IP address
NETMASK=255.255.255.0 # your netmask
NETWORK=192.168.1.0 
ONBOOT=yes

ファイルにGATEWAYを追加します/etc/sysconfig/network

NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=hostname.domainname
GATEWAY=192.168.1.1 # your gateway

起動時にネットワーキングを開始するには、次のコマンドを実行します。

chkconfig network on

ネットワークサービスを再起動します。

service network restart

ネットワークインターフェースを確認してください

ifconfig

答え3

使用しているCentOSのバージョンについては言及していません。私の記憶が正しい場合、6.xはデフォルトでNetworkManagerを使用します。

私は私のサーバーにX Windowsをほとんどインストールしないので、NetworkManagerは私に苦しんでいます。私はそれを無効にし、標準の「ネットワーク」サービスを有効にしました。

chkconfig NetworkManager を閉じる
chkconfig ネットワークを開く

サービスネットワーク管理者が停止しました
サービスネットワークが起動しました

インターフェイスでDHCPを有効にするには、を実行し、system-config-networkそのデバイスを編集してネットワークサービスを保存して再起動します。または編集/etc/sysconfig/network-scripts/ifcfg-eth0して追加できます。

ONBOOT=yes
BOOTPROTO=dhcp

変更を保存し、ネットワークサービスを再起動します。

答え4

実験と読書を通じて収集した内容によると、Network Managerはデフォルトでロードされているようですが、Network Servicesはロードされないことに同意します。

最近仮想マシンホストを起動したとき、ifconfig出力にeth0が表示されませんでした。これは、私のファイルのネットワーク管理者が実行中でしたが、ネットワークがeth0ではなかったためですNM_CONTROLLED=no/etc/sysconfig/network-scripts/ifcfg-eth0

実行するとすぐに、service network restartifconfig出力にeth0が表示されました。ところで再起動したらまた消えましたね。

私にとって、解決策はブート時にネットワークサービスを設定してオンにするNM_CONTROLLED=noようでした(utherとalexnorthsoulが指摘したように)。基本的にNetworkManagerをオフにすることはできますが(やるべきですか?)今すぐは効果があるので、他に触れるのは不安です。/etc/sysconfig/network-scripts/ifcfg-eth0chkconfig network on

ところで、私の目標は、システムが私が選択した固定IPを尊重することです。 NetworkManager を実行状態にして設定するとNM_CONTROLLED=yes(または省略した場合)、ifconfig に eth0 が表示されますが、そのアドレスは固定 IP ではなく DHCP アドレスです。したがって、NetworkManagerをオフにするとDHCPから保護され、Networkをオンにすると静的IPを含む設定をロードできます。

私はシステム管理者ではなく開発者なので、CentOSの専門家の言葉ではなく、必要な仮想マシンを構成した生存者だけです。

関連情報