vincenzogianfelice Asked: 2020-02-19 08:47:08 +0800 CST2020-02-19 08:47:08 +0800 CST 2020-02-19 08:47:08 +0800 CST tcpd、inetd/rinetd 和 iptables 772 这些程序之间的相关性是什么? tcpd和inted / rinetd非常古老,但尽管如此,它们仍然存在于许多发行版中……为什么?hosts.allow而且tcpd之间也存在相关性hosts.deny,但我注意到即使没有安装tcpd ,这些文件也存在......(尝试使用命令dpkg也注意到这与没有包不对应)......好吧.. a混乱。谁帮我澄清一下?hosts.allow/deny 谢谢 iptables tcpdump 1 个回答 Voted Best Answer Simon Richter 2020-02-19T09:09:34+08:002020-02-19T09:09:34+08:00 传统的设置是用来inetd打开监听套接字,类似于 systemd 现在对套接字激活所做的事情,仅在那之前的 30 年。inetd当连接进来时,将无条件地启动守护进程。 对于一些基本的访问控制,您可以配置inetd为启动tcpd而不是真正的服务器。hosts.allow该程序会根据and文件检查是否允许连接hosts.deny,如果是则执行真正的服务。 这比iptables或类似的基于主机的防火墙解决方案要老得多或类似,因此它也可以在根本没有防火墙的堆栈上工作,例如 AmigaOS 上的 AmiTCP 或 Miami。 另一个好处是检查源地址的配置是服务启动的一部分,所以一旦配置好,就没有办法通过刷新防火墙规则意外暴露服务。 缺点是该端口最初是打开的,因此网络扫描会显示它,并且连接在建立后立即关闭。 和文件不再提供,因为“丢失”文件意味着“允许所有连接”,因此这些文件本身就构成了一个有效的配置,任何仍在使用它们的人都可能知道他们在做什么hosts.allow。hosts.deny 请注意,当您tcpd用于访问控制时,您将失去wait选项 in的好处inetd,其中服务通过侦听器套接字启动,并负责在启动后接受进一步的连接(即,您只有一个实例用于多个并行连接)。 没有udpd,因为无法验证 UDP 数据包的来源。
传统的设置是用来
inetd
打开监听套接字,类似于 systemd 现在对套接字激活所做的事情,仅在那之前的 30 年。inetd
当连接进来时,将无条件地启动守护进程。对于一些基本的访问控制,您可以配置
inetd
为启动tcpd
而不是真正的服务器。hosts.allow
该程序会根据and文件检查是否允许连接hosts.deny
,如果是则执行真正的服务。这比
iptables
或类似的基于主机的防火墙解决方案要老得多或类似,因此它也可以在根本没有防火墙的堆栈上工作,例如 AmigaOS 上的 AmiTCP 或 Miami。另一个好处是检查源地址的配置是服务启动的一部分,所以一旦配置好,就没有办法通过刷新防火墙规则意外暴露服务。
缺点是该端口最初是打开的,因此网络扫描会显示它,并且连接在建立后立即关闭。
和文件不再提供,因为“丢失”文件意味着“允许所有连接”,因此这些文件本身就构成了一个有效的配置,任何仍在使用它们的人都可能知道他们在做什么
hosts.allow
。hosts.deny
请注意,当您
tcpd
用于访问控制时,您将失去wait
选项 in的好处inetd
,其中服务通过侦听器套接字启动,并负责在启动后接受进一步的连接(即,您只有一个实例用于多个并行连接)。没有
udpd
,因为无法验证 UDP 数据包的来源。