シリアルリンクを介してネットワークを透過的にブリッジします。

シリアルリンクを介してネットワークを透過的にブリッジします。

単一のイーサネットリンクを介してネットワークに接続したいボックスに2つのLinuxデバイスがあります。単にラズベリーパイと呼びます。

すべてネットワークから個別にアクセスできる必要があります。シリアルポートを介して互いに簡単に接続できます。

答えのように見えるpppdかもslipしれませんが、これまでに見たすべての例は固定構成を使用しているので、私にはうまくいきません。両方取締役会は、次のことができなければなりません。どのIPアドレスはDHCPを介して設定することも、他の設定に関係なく手動で設定することもできます。

Linuxでは、かなり簡単に思えるかもしれませんが、正しい情報が見つからないか、検索時に間違った用語を使用しています。

どんなアイデアにも感謝します。

答え1

何かを装備できるそしてそして橋。

シリアルポートの両端でこのバリエーションを使用できます。

socat TUN,tun-type=tap,iff-up /dev/ttyS0

、シリアル接続の両端にTAPイーサネットデバイスが提供されています。

ソカット持つTAPデバイス用のさまざまなオプションそしてシリアルポート

最適なシリアルポート速度を手動で選択する必要があり、両端のTAPデバイスでブリッジングやその他のネットワーク統合を実行する必要があります。

答え2

ここには鶏と卵の問題があります。 PPP / SLIP接続を確立するにはIPパラメータが必要ですが、シリアル接続されたデバイスはPPP / SLIP接続が確立されるまでDHCP要求を送信できません。 PPPにはPPPサーバーからクライアントに構成情報を渡す独自の方法がありますが、記憶が正しい場合は、SLIPにはシリアルリンクの両側に既存の構成情報が必要な場合があります。

私が知っている限り、2つのオプションがあります。

A.) 固定プライベート IP で PPP/SLIP リンクを設定し、リンクが接続されている場合は、イーサネット接続デバイスに 2 番目の IP アドレスを独自に設定します (DHCP クライアントの 2 番目のインスタンスを実行するか、手動で設定)。 )NATを使用して、2番目のIPアドレスからのトラフィックをシリアルリンクに使用される固定アドレスにリダイレクトします。

この方法では、シリアル接続されたクライアントが実際のIPアドレスを必ずしも知る必要はありません。これは、NATをサポートしていないネットワークプロトコルを使用する必要がある場合に問題になる可能性があります。一方、2番目のアドレスは実際に接続が確立されるまで予約する必要はありません。

B.)イーサネット接続デバイスを常に2つのイーサネット側のIPアドレスに設定し(たとえば、DHCPを使用している場合はDHCPクライアントの2つのインスタンスを実行します)、2番目のアドレスがわかっている場合はそれを使用してイーサネットサーバー側を設定します。シリアルリンク。使用している場合は、pppdそのproxyarpオプションを使用してください。 SLIPを使用している場合は、別の方法(たとえばecho 1 > /proc/sys/net/ipv4/conf/all/proxy_arp)でプロキシARPを設定します。

シリアル接続を準備するように設定されている場合、この方法ではイーサネット接続デバイスは常に2つのIPアドレスを予約しますが、シリアル接続デバイスは実際にアクセス可能なIPアドレスを維持できます。

どちらの方法でも、シリアル接続デバイスのほとんどのネットワーク構成はイーサネット接続デバイスで実行する必要があります。

関連情報