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

linux – 如何只允许隧道连接到端口?,第1张

概述我想让一个git-daemon通过一个永久的ssh隧道.我完成了这项任务.如何阻止任何与GIT_DAEMON端口的远程无连接连接(在我的情况下为9418)? 我已经在iptables中尝试了简单的规则(阻止除localhost之外的所有内容): $iptables -A INPUT -p tcp -d ! localhost --destination-port 9418 -j DROP 但它也会 我想让一个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 [email protected]

对于linux:

ssh -N -i <key> -L 127.0.0.1:9418:192.168.1.69:9418 [email protected]
解决方法 你可以尝试这个(未经测试):

# accept localhostiptables -A input -p tcp -d localhost --destination-port 9418 -j ACCEPT# send everyone else packingiptables -A input -p tcp --destination-port 9418 -j DROP

使用iptables -L说:

ACCEPT     tcp  --  anywhere             localhost.localdomain tcp dpt:gitDROP       tcp  --  anywhere             anywhere            tcp dpt:git

编辑

这(可能)是如何设置隧道的:

ssh -N -i <key> -L 127.0.0.1:9418:127.0.0.1:9418 [email protected]

重要的是下半部分是127.0.0.1而不是普通的IP

总结

以上是内存溢出为你收集整理的linux – 如何只允许隧道连接到端口?全部内容,希望文章能够帮你解决linux – 如何只允许隧道连接到端口?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1030062.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存