iptables 而不是更改浏览器代理设置

iptables 而不是更改浏览器代理设置

我目前正在尝试将 Raspberry Pi 设置为无线接入点,并希望运行琼多在上面。JonDo 充当代理,通过一系列混合重定向我的流量,以隐藏我的 IP。免费版本仅支持 http/https,而高级版本还提供 socks 支持。我可以使用任何一个。

到目前为止,我已经实现以下目标:我可以在 Pi 上以守护进程模式运行 JonDoConsole,并且当我将浏览器代理设置切换到 Pi ip 和端口 4001 时,我就可以通过 Pi 上的 JonDo 进行冲浪。

我的目标是通过以下方式进行修改:我希望我的 Pi 将所有传入流量重定向到端口 4001 本身,这样我就不必切换浏览器设置。为此,我在守护进程模式下运行 JonDoConsole,监听 127.0.0.1:4001。为了重定向所有传入流量,我尝试使用 iptables,配置如下:

PI_IP=12.34.56.78

sudo iptables -t nat -F

sudo iptables -F

# 所以我仍然可以 ssh 到 pi:

sudo iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 22 -d $PI_IP -j REDIRECT --to-ports 22

# 一旦 http/https 流量重定向成功,就会检查正确的 DNS 重定向:

sudo iptables -t nat -A PREROUTING -i wlan0 -p udp --dport 53 -j REDIRECT --to-ports 53

sudo iptables -t nat -A PREROUTING -i wlan0 -p tcp --syn -j REDIRECT --to-ports 4001

不幸的是,除了 ssh 之外,这不起作用。我从浏览器得到的只是“无法连接”。有人能指出我的错误在哪里吗?提前谢谢您!

答案1

我设法找到了解决问题的方法,并且这一页对我帮助很大。我的问题的解决方案如下:我试图只使用 iptables 来重定向流量,但确实需要在我的 iptables 和 JonDo 之间使用透明代理。在我采取以下步骤后,它起作用了:

1.:我的 iptables,我修改为将所有流量转发到端口 4008

2.:我使用了 transport_ev,让它在我的 Pi 上监听端口 4008,并将所有内容转发到端口 4001。

3.:在端口 4001 上,我的 JonDo 客户端列出了传入流量并将其转发到混合级联。

希望这能帮助其他遇到同样问题的人:-) 干杯!

相关内容