gpt4 book ai didi

linux - 如何只允许隧道连接到端口?

转载 作者:IT王子 更新时间:2023-10-29 01:10:36 25 4
gpt4 key购买 nike

我想让一个 git-daemon 通过一个永久的 ssh 隧道。我完成了这个任务。如何阻止任何远程非隧道连接到 GIT_DAEMON 端口(在我的例子中是 9418)?

我已经在 iptables 中尝试了简单的规则(阻止除 localhost 之外的所有内容):

$ iptables -A INPUT -p tcp -d ! localhost --destination-port 9418 -j DROP

但它也会阻塞隧道(因为它保存了源 IP 地址)。如果我有一台用于防火墙的主机,可以通过阻止与此端口的任何远程连接来简单地完成,但我需要这台主机来完成这项工作。

隧道以两种方式之一创建:

对于 Windows:

plink.exe -N -i <key> -L 127.0.0.1:9418:192.168.1.69:9418 tunnel@192.168.1.69

对于 Linux:

ssh -N -i <key> -L 127.0.0.1:9418:192.168.1.69:9418 tunnel@192.168.1.69

最佳答案

你实际上可以在不使用 iptables 的情况下实现这一点,只需将 git-daemon 绑定(bind)到环回接口(interface),例如。

git daemon --listen=127.0.0.1

这将使它只能从本地主机连接,并且不需要 root 权限来设置。

关于linux - 如何只允许隧道连接到端口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6320794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com