同じデバイスのインターフェイス間トラフィックルーティング(wlan0 - usb0)

同じデバイスのインターフェイス間トラフィックルーティング(wlan0 - usb0)

IP 10.0.0.1のUSB0インターフェイスがあり、インターネットにアクセスできない10.0.0.2にルータがあります。また、wlan0に192.168.0.3 Wi-Fiアダプタがあり、ルーター192.168.0.1(インターネットに接続されている)に接続されています。 wlan0からusb0インターフェイスにトラフィックを中継するには?両方のインターフェイスが同じデバイスに存在します。

iptablesを使用してIP転送を有効にしてみました。

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -o usb0 -j MASQUERADE

iptables -A FORWARD -i usb0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i wlan0 -o usb0 -j ACCEPT

iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

iptables -A FORWARD -i wlan0 -o usb0 -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i usb0 -o wlan0 -j ACCEPT

試してみると

ping -I wlan0 google.com

それから答えを受けますが、試してみると

ping google.com

そうしたら何の答えも受けられませんでした。

wlan0トラフィックがトラフィックにルーティングされることを望んでいますが、どういうわけかそれをデフォルトのインターフェイスとしてusb0設定できる場合(これを使用して)、それは問題ありません。wlan0pacman -Syu

どんな助けでも大変感謝します!

答え1

はい、wlan0のWiFiアダプタからUSB0の他のネットワークを持つシステムにトラフィックをNATしたいと思います。

通常、これを別の方法で表現します。つまり、usb0トラフィックが(「内部インターフェイス」)wlan0残りの世界に行くときにNATが必要です。

したがって、胃は外部インターフェイスでのみ実行できますwlan0

EXTIF=wlan0
INTIF=usb0
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE

最後の行が重要です。実際のNATを実行します。残りは、フィルタリングして興味深いコンテンツが内部ネットワークに配信されないようにすることです(usb0)。

(ルールがまだ有効な場合は、上記の作業を実行する前にすべてのルールを削除する必要があります。)

関連情報