告诉 socat 侦听来自单个 IP 地址的连接

12 ip socat

socat TCP-LISTEN:22,fork TCP:192.168.0.15:5900
Run Code Online (Sandbox Code Playgroud)

我怎么知道socat22 端口仅受远程 IP 地址 8.8.8.8 的信任,并且不应接受来自其他 IP 地址的连接?这是在 Linux 服务器上。

Sté*_*las 17

可以range在socat监听地址中添加选项:

socat TCP-LISTEN:22,fork,range=8.8.8.8/32 TCP:192.168.0.15:5900
Run Code Online (Sandbox Code Playgroud)

或者您可以添加tcpwrap=vnc_forward选项并vnc_forward根据hosts_access(5)为该服务定义全局规则。

这不会阻止连接到达socat,但socat如果它们不是来自 8.8.8.8 ,则会忽略它们(带有警告)。


adr*_*nos 11

像这样的东西对我有用,可以让 socat 只在本地主机上监听。

socat TCP-LISTEN:22,fork,bind=127.0.0.1 TCP:192.168.0.15:5900
Run Code Online (Sandbox Code Playgroud)

所以你可以试试这个。

socat TCP-LISTEN:22,fork,bind=8.8.8.8 TCP:192.168.0.15:5900
Run Code Online (Sandbox Code Playgroud)

  • 这是因为问题的标题是错误的:`listen connections from a single IP address` 没有意义,你没有侦听不属于你的 IP 地址。 (2认同)