Linux:同じIP範囲を使用して2つの異なるネットワークに接続する

Linux:同じIP範囲を使用して2つの異なるネットワークに接続する

GoProカメラのWiFi機能をオンにすると、GoProカメラはWiFiホットスポットを作成します。異なるIP範囲を使用する方法はなく、複数のワイヤレスインターフェイスを使用して同時に複数のGoProに接続する必要があります。

GoProは両方のネットワークでIP 10.5.5.9として提供されます。

wlan1のIPアドレスを別の範囲に変換するには?たとえば、wlan1の補足アドレス10.5.5.*を10.1.1.*として使用できますか?

これにより、10.1.1.9で1つのGoProにアクセスし、10.5.5.9で別のGoProにアクセスできます。

ベストアンサー1

まず、これを実際にテストする方法がないので、いくつかの詳細が間違っていると確信しています。ただし、デフォルトでは、10.5.5.9のアドレスを持ついくつかのパケットがwlan1に出て、他のいくつかのパケットが出るように特別なルーティングが必要です。パケットがwlan0に出て(仮定)、10.5.5.9と10.1.1.9の間を変換するには、DNATおよびSNATルールが必要です。

後者は次の規則になります。

# iptables -t nat -A OUTPUT -d 10.1.1.9 -j DNAT --to-destination 10.5.5.9
# iptables -t nat -A INPUT -i wlan1 -j SNAT --to-source 10.1.1.9

ルーティングのために、10.5.5.9 パケットが最初に wlan0 から出ると仮定します。したがって、パケットを10.1.1.9(またDNATed)に送信するには、ブートする代替ルーティングテーブルが必要です。テーブルは次のように設定できます。

# ip route add table 26 dev wlan1
# ip route add table 26 10.5.5.9 dev wlan1
# ip rule add priority 10000 fwmark 26 table 26

最後のルールは、26とマークされたパケットにテーブル26を使用します。これには別のルールが必要です。

# iptables -t mangle -A OUTPUT -d 10.1.1.9 -j MARK --set-mark 26

wlan1とwlan0が起動した後、設定が完了し、そのアドレスが両方とも10.5.5.0/24にあるとします。以前の設定では、10.5.5.9パケットをwlan0を介して直接ルーティングする必要があります(したがって、wlan1接続は未使用のままです)。

このソリューションでは、ネットワークパスは次のとおりです。 10.1.1.9に送信されたパケットは最初に表示され、次に10.5.5.9にDNATされます。このタグは、10.5.5.9 パケットを wlan1 に転送するルーティングテーブル 26 をイネーブルにします。戻りパケットはすべてSNAT処理され、10.1.1.9から来ます。

理論的には有効です:-)

おすすめ記事