システム
私は、eth0、eth1、wlan0などの複数のNICを持つライブ使用のためのARM Linux(カーネル3.17)を持っています。左側では、データの書き込み頻度、チャネルの電源投入などの動作を変更できるように、PC0を使用してARM Linuxを設定する必要があります。また、お客様のデバイスがARM Linuxシステムからデータを読み取れるように、現場の従業員がeth1のIPアドレスを設定できます。単純なデータ検索(ftpなど)を実行するには、eth0とeth1を受信する必要があります。
PC0 <---left side---> [eth0 ARM Linux eth1]<---right side:a bunch of devices>
必要
- コーディングを簡単にするために、シリアルポートまたはUSBの代わりに設定にeth0を使用します。だから私たちは2つのイーサネット(そして1つのWi-Fi)を使います。 Linuxを起動するときは、スクリプトを使用してEth0 IPを静的に割り当てます。
- 顧客がeth1にどのIPを割り当てるかを予測することはできません。これを指定するには、PC0のGUIソフトウェアを使用します。 DHCPサーバーを使用しません。
- 左側にはPC0が1つしかありません。右側には他の多くのデバイスがあります。クライアントは、PCを使って右側に参加したくないかもしれません。したがって、ARM Linuxデバイスを設定するには、eth1を使用する代わりにeth0を使用する必要があります。
- 左が右に触れてはいけません。孤立したネットワークでなければなりません。彼らはすべてローカルエリアネットワークです。どちらもインターネットにアクセスできません。 ARM Linuxはブリッジやルーターではありません。
- ARM Linuxアプリケーションはリクエストを聞いて応答します。それは決して何も始めません。応答は、要求が入った同じNICを介してのみ送信する必要があります。
質問
eth0とPC0に事前定義されたIPがあるため、顧客は誤ってネットワークに同じサブネットを使用する可能性があります。顧客が多いため、これが起こる可能性があります。
- LinuxとTCPスタックが混乱していますか?引き続きスムーズに実行する方法はありますか?
- PC0が誤って右側のデバイスの1つと同じIPを持つ場合はどうなりますか?これでLinuxとTCPスタックが混同されますか?動作させる方法はありますか?
- 私のeth0のIPアドレスが右のデバイスの1つと同じであればどうなりますか?
- eth0がeth1と同じIPを持っている場合はどうなりますか?
この状況が愚かに聞こえることはわかりますが、問題を予想して避けるために大きな音だと思います。したがって、eth0とeth1(およびWi-Fi)を同じサブネットに分離する必要がある問題が多い場合は、顧客に特別なサブネットを予約してそれを使用してはいけません。