linuxでネットワークインターフェースが重複する場合の解決方法
Linuxにて2枚のネットワークカードが衝突しないように設定を行うには、次の手順に従ってください。
- 各ネットワークインターフェイスのIPアドレスとサブネットマスクを確認します。2つのネットワークインターフェイスのIPアドレスが同じサブネットに存在しないことを確認します。
- ifconfigコマンドまたはipコマンドを使用して、各NICに適切なIPアドレスとサブネットマスクを設定します。例:
sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0
sudo ifconfig eth1 192.168.2.100 netmask 255.255.255.0
またはipコマンドを使用する:
sudo ip addr add 192.168.1.100/24 dev eth0
sudo ip addr add 192.168.2.100/24 dev eth1
- デフォルトゲートウェイを設定します. Linuxシステムでは、通常1つのデフォルトゲートウェイのみ設定できます. 複数のネットワークセグメントに同時にアクセスする必要がある場合は、複数のルーティングテーブルを利用してください. ルーティングの設定はrouteコマンドまたはipコマンドから行えます. 例示:
sudo route add default gw 192.168.1.1
sudo ip route add default via 192.168.2.1 dev eth1
- DNS 設定が適切であることを確認してください。/etc/resolv.conf ファイルを編集して、適切な DNS サーバーのアドレスを追加することができます。
- ARP 衝突検出を無効にするには、/etc/sysconfig/network-scripts/ 内の対応するインターフェース設定ファイル (例: ifcfg-eth0、ifcfg-eth1) を編集し、次のパラメータを追加します:
ARP=no
- ネットワークサービスを再起動して変更を有効にすることができます。これにはネットワークサービスを再起動するコマンドが必要となります。
sudo service network restart
SysVベースのLinuxディストリビューション(CentOS、Ubuntuなど)の場合、上記の手順のみ適用されます。Systemdベースのディストリビューション(CentOS 7、Ubuntu 16.04など)では、異なるコマンドが必要になる場合があります。各ディストリビューションのドキュメントを参照してください。