如何将 Raspberry 上的流量从 USB 加密狗 WiFi 重定向到本地应用程序

如何将 Raspberry 上的流量从 USB 加密狗 WiFi 重定向到本地应用程序

早上好,先生们,我的 RPi 2 是一个工作接入点,带有两个 WiFi 加密狗(每个都有自己的 IP 地址范围);RPi 也通过 LAN 电缆连接到我的调制解调器。

它提供最基本的接入点/代理服务:它接受两个 WiFi 接口上的传入连接,并通过 LAN 电缆将数据发送到我的调制解调器,再发送到外部互联网。

到目前为止一切顺利:现在我想让我的 RPi 成为一个 QOS 管理器:它不仅可以发送和接收数据,而且还会优先考虑某些特定类型的连接(例如,通过 SMTP 进行流式传输)。

我的一个程序可以做到这一点,但我只在我的笔记本电脑上测试过它,现在我将把我的程序放在我的 RPi 中。我的程序接受固定端口 (8000) 上的传入连接:在我的笔记本电脑上,我在浏览器上安装了一个插件,它将流量重定向到端口 8000,它似乎运行正常。

现在我要把它放在 RPi 上,但我不知道如何将两个 WiFi 加密狗的流量重定向到端口 8000 上的程序。

我缺乏有关路由的知识,但我认为这可以通过两个iptables规则来实现,例如:

iptables -t nat -A PREROUTING -i wlan0 -p tcp -j REDIRECT --to-port 8000
iptables -t nat -A PREROUTING -i wlan1 -p tcp -j REDIRECT --to-port 8000

然而,这两条规则似乎并不适用:在我的 RPi 上使用这两条iptables规则运行我的程序时没有显示任何输出,因此连接并没有真正重定向到我的程序实际上正在监听的端口 8000。

我看到了一些重定向也需要标志的例子--dport,但我不知道这个端口是什么。

这些是我目前iptables在 RPi 上的规则:

-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i wlan0 -o eth0 -j ACCEPT
-A FORWARD -i eth0 -o wlan1 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i wlan1 -o eth0 -j ACCEPT

相关内容