サブネットのホストを別の NIC にマスクする Iptables

サブネットのホストを別の NIC にマスクする Iptables

これについては助けが必要です。iptables についてはよく知っていますが、どうやって始めればいいのかさえわかりません。

私には、静的 IP アドレス 10.0.0.2/24 を持つガジェットがあります。これがガジェットの IP アドレスであり、変更することはできません。私のラップトップには、以前は NIC が 1 つしかありませんでした。ガジェットを開発ネットワークに接続し、ラップトップの NIC にセカンダリ アドレス 10.0.0.1 を割り当て、デバイスをラップトップと同じスイッチに接続するだけで、パブリック インターネットとこのガジェット (ラップトップ以外のデバイスにアクセスする必要がありません) に接続できました。理想的ではありませんが、うまくいきました。

ここで、別の開発ネットワークに移動する必要がありました。その IP 範囲は .... (サスペンス音楽) .... 10.0.0.0/24 です。また、10.0.0.2 は、別のデバイスによって占有されている DHCP 範囲内にあります。

私は今、ラップトップ用に別のネットワーク インターフェイス カード (eth1) を入手し、IP アドレス 10.42.42.1 を割り当てました。

基本的に、私が行う必要があるのは、iptables マジックを使用して、たとえば 10.42.42.2 にアクセスすると、eth1 から出るこのトラフィックが、たとえば IP アドレス 10.0.0.5 を取得し、eth1 の 10.0.0.2 に渡され、ガジェットが応答し、eth1 が応答を受信すると、10.42.42.2 から送信されたかのようにホスト ラップトップに渡されるようにすることです。

ここではおそらく SNAT/DNAT ルールが必要になりますが、どのように設定すればよいでしょうか?

H

答え1

iptablesそれは、network namespaces問題 により適した仕事ではありません。

# Create network namespace gadget
ip netns add gadget

# Put device eth0 in gadget namespace
ip link set eth0 netns gadget

# Configure network in gadget namespace
# # Bring up ifaces
ip netns exec gadget ip link set lo up
ip netns exec gadget ip link set eth0 up

# # 10.0.0.0/24 address on eth0 
ip netns exec gadget ip address add 10.0.0.1/24 dev eth0

# Now gadget pinging should work...
ip netns exec gadget ping 10.0.0.2

関連情報