将所有本地流量重定向到 shadow-socks 代理

将所有本地流量重定向到 shadow-socks 代理

Iptables 重新路由至 shadowsocks

我有一台 ubuntu 20.04 vps,上面有 shadow-socks 服务器。

我的电脑上也有 ubuntu 20.04,上面运行着 shadow-socks 客户端。目前正在使用影子袜子-libev版本。


目标是将所有请求重定向到代理客户端正在运行的 127.0.0.1:1080。

我遵循了问题和博客,答案指向那里。还看到了问。

然而,没有什么能帮我实现这一点。


我采取的步骤

我、我创建了管理员用户仅用于运行 shadow socks 客户端。

II. 我制作了 systemd 单元以从单独用户启动客户端,文件内容如下:

[Unit]
Description=SahdowSocks
After=network.target
After=network-online.target

[Service]
ExecStart=ss-local -c /etc/shadowsocks-client/config.json
Restart=on-failure
User=socks_user
Group=socks_user

[Install]
WantedBy=multi-user.target 

此时,如果我在浏览器(firefox)中将 127.0.0.1:1080 设置为 socks5 代理 - 它可以正常工作。

III.然后我根据上面的链接制定了 iptables 规则。

sudo iptables -t nat -A OUTPUT -p tcp -m owner ! --uid-owner socks_user --dport 80 -j REDIRECT --to-port 1080
sudo iptables -t nat -A OUTPUT -p tcp -m owner ! --uid-owner socks_user --dport 443 -j REDIRECT --to-port 1080

之后,如果通过设置直接连接到代理,我仍然可以使用该浏览器,但切换到无代理/系统代理后,请求超时。所有其他应用程序也都无法连接。

*顺便提一下,如果我 ping 1.1.1.1,它会返回正常

*如果我执行 wget http://someurl,则不会有任何结果。

因此我认为我遇到了重新路由循环(?),但不明白为什么。

相关内容