web-dev-qa-db-ja.com

CentOS(VirtualBoxで実行)で2つのネットワークインターフェイスを正しく設定するにはどうすればよいですか?

CentOS 6.5を実行しているVirtualBoxマシンがあります。 VirtualBoxのマシンのネットワーク設定で、2つのネットワークアダプターを作成しました。 1つ目はNATで、ゲストがインターネットに接続するために使用します。2つ目はHost-onlyに設定し、ホストコンピューターからSSHでWebサーバーにアクセスするために使用します。 VirtualBoxフォーラムでのこのチュートリアル は私が達成したいものですが、CentOS 6.5で/etc/network/interfacesファイルを見つけることができないため、構成が異なっていると思います。

NATとホストオンリーアダプターの両方をセットアップした後、VMを起動してip addr showを実行し、eth0eth2の2つのインターフェイスを持っています(なぜeth1がスキップされたのかわかりません)。そのため、ifcfg-ethX/etc/sysconfig/network-scriptsファイルを両方とも構成し、eth0をDHCP(NATの場合)に設定し、eth2を静的IP(ホストのみの場合)に設定します。 eth0ONBOOT=yesの場合はeth2ONBOOT=noの場合。この設定でインターネットをpingできる、つまりping -c 3 www.google.comが返され、インターネットに接続できることがわかります(eth2がダウンしている間)。

次に、ifup eth2です。ホストマシンから、設定した静的IPを使用してSSH接続し、問題なく接続できます。しかし、今回ping -c www.google.comを実行すると失敗し、eth0がまだ稼働している場合でもインターネットへの接続が失われていることがわかります。 route -nを実行すると、eth2が間にある間、eth0が最初の行と最後の行を占める表形式の出力が表示されます(失礼からVMを削除したため、実際の出力を投稿できません...)。

新しいCentOS VMを作成しましたが、同じセットアップを続行したいと思います。私のnetworking-fuは存在しないものに近いので、私はn00bです。それを適切に行うためのヒント(つまり、NATアダプタをeth0を使用するように設定し、ホスト専用アダプタをeth1ではなくeth2を使用するように設定する方法、eth0であってもeth1を引き続き使用可能にする方法eth2が稼働中です)。

更新

新しいVMが稼働しているので、最初のアダプターをホストのみに設定し、2番目のアダプターをNATに設定すると、問題なく動作するようです。次のように設定されています。

VirtualBoxネットワーク設定

  • ネットワークアダプター1:ホストのみ(vboxnet0 IPアドレスが10.3.0.1に設定され、ネットワークマスク255.255.255.0およびDHCPがオフ)
  • ネットワークアダプター2:NAT(DHCP)

CentOS VM /etc/sysconfig/network-scripts/ifcfg-ethX設定

# ifcfg-eth0
DEVICE=eth0
HWADDR=08:00:27:EC:6C:B9
TYPE=Ethernet
UUID=1339bc30-...
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
DHCPCLASS=
IPADDR=10.3.0.100
NETMASK=255.255.255.0
GATEWAY=10.3.0.1

# ifcfg-eth2
DEVICE=eth2
HWADDR=08:00:27:EB:73:BA
TYPE=Ethernet
UUID=1339bc30-...
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp

ip routeの結果

10.0.3.0/24  dev  eth2  proto  kernel  scope  link  src  10.0.3.15
10.3.0.0/24  dev  eth0  proto  kernel  scope  link  src  10.3.0.100
169.254.0.0/16  dev  eth0  scope  link  metric  1002
169.254.0.0/16  dev  eth2  scope  link  metric  1003
default via 10.0.3.2 dev eth2

ip addrの結果

1:  lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00:00
     inet 127.0.0.1/8 scope Host lo
     inet6 ::1/128 scope Host
        valid_lft forever preferred_lft forever
2:  eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
     link/ether 08:00:27:ec:6c:b9 brd ff:ff:ff:ff:ff:ff
     inet 10.3.0.100/24 brd 10.3.0.255 scope global eth0
     inet6 fe80::a00:27ff:feec:6cb9/64 scope link
        valid_lft forever preferred_lft forever
3:  eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
     link/ether 08:00:27:eb:73:ba brd ff:ff:ff:ff:ff:ff
     inet 10.0.0.15/24 brd 10.0.3.255 scope global eth2
     inet6 fe80::a00:27ff:feeb:73ba/64 scope link
        valid_lft forever preferred_lft forever
13
baktin

問題は、ゲートウェイの定義がDHCPと衝突することです(またはありました)。どういうわけか、インターフェースの順序がそれに影響を与えるようです。

基本的な問題は次のとおりです。2つのネットワークカードを使用してルーティングを行う方法を教えてください。私が理解しているように、ホストオンリーカードはホストへの接続にのみ使用されます。したがって、このインターフェースにはゲートウェイを定義しないでください。しかし、おそらくこれは、最初のインターフェースがDHCPを使用している場合にのみ機能します。

さらに、DHCPを完全に回避することを検討してください。 NATインターフェースは静的構成でも機能します。

9
Hauke Laging