我想设置我的 OSX 系统,以便所有网络流量都通过 SSH 隧道完成。
为此我编写了一个小脚本,这些是它执行的命令:
# setup tunnel
ssh -fN -D 1080 -p 22 user@remote
# start up redsocks
sudo redsocks -c /tmp/redsocks.conf -p /tmp/redsocks.pid
# forward all tcp traffic to tunnel
sudo ipfw add 0010 \
fwd 127.0.0.1,12345 \
tcp from me \
to any not dst-port 12345 \
not dst-port 1080 \
not dst-ip REMOTE_IP
Run Code Online (Sandbox Code Playgroud)
我使用 redsocks 为我的 ssh 隧道创建一个 http 代理(以便我可以通过 ipfw将所有tcp 流量转发给它),redsocks.conf 如下所示:
base {
log_debug = on;
log_info = on;
log = …
Run Code Online (Sandbox Code Playgroud)