
我需要一些幫助。儘管熟悉 iptables,我什至不知道如何開始。
我有一個小工具,靜態 IP 位址為 10.0.0.2/24。這就是事實,我無法改變它。我的筆記型電腦以前只有一張網路卡。我能夠連接到公共互聯網和這個小工具(除了我的筆記型電腦之外,它不需要訪問任何其他設備),只需將其插入我的開發網絡並為我的筆記型電腦網卡提供輔助地址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,當gadget 回應並且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