小编fox*_*337的帖子

OS X 10.8:将本地发起的 ssh 连接重定向到 localhost:22

我需要破解 OS X pf 以将所有 ssh 连接从用户重定向到这台机器。我想要,在做的时候

$ ssh google.com
Run Code Online (Sandbox Code Playgroud)

得到相同的结果

$ ssh localhost
Run Code Online (Sandbox Code Playgroud)

即连接到我本地运行的 sshd。

在最近的 Linux 下,这将是:

# iptables -t nat -A OUTPUT -p tcp --dport 22 -m owner --uid-owner theuser -j REDIRECT
Run Code Online (Sandbox Code Playgroud)

在 OS X 10.8 下,似乎有 2 种方法 - ipfw 和 pf。两者都不起作用。ipfw:

# ipfw flush
# ipfw add 50 fwd 127.0.0.1,22 tcp from any to any 22 uid theuser
Run Code Online (Sandbox Code Playgroud)

如果我删除该uid theuser部分,重定向将起作用,减去用户的东西。如果我把uid指令留在那里,网络堆栈就会死掉,系统很快就会变得无法使用;没有了ipfw,没有了ps,没有了kill

根据手册页,不推荐使用 ipfw,因此应改用数据包过滤器:

# sysctl -w …
Run Code Online (Sandbox Code Playgroud)

apple nat routing pf ipfw

5
推荐指数
1
解决办法
4869
查看次数

标签 统计

apple ×1

ipfw ×1

nat ×1

pf ×1

routing ×1