Iptables

tcpd、inetd/rinetd 和 iptables

  • February 18, 2020

這些程序之間的相關性是什麼? tcpdinted / rinetd非常古老,但儘管如此,它們仍然存在於許多發行版中……為什麼?而且tcpd之間也有相關性hosts.allowhosts.deny但我注意到即使沒有安裝tcpd ,這些文件也存在……(嘗試使用命令****dpkg也注意到這不對應於沒有包)……好吧.. a混亂。誰幫我澄清一下?hosts.allow/deny

謝謝

傳統的設置是用來inetd打開監聽套接字,類似於 systemd 現在對套接字啟動所做的事情,僅在那之前的 30 年。inetd當連接進來時,將無條件地啟動守護程序。

對於一些基本的訪問控制,您可以配置inetd為啟動tcpd而不是真正的伺服器。hosts.allow該程序會根據and文件檢查是否允許連接hosts.deny,如果是則執行真正的服務。

這比iptables基於主機的防火牆解決方案或類似的防火牆解決方案要老得多,因此它也可以在根本沒有防火牆的堆棧上工作,例如 AmigaOS 上的 AmiTCP 或 Miami。

另一個好處是檢查源地址的配置是服務啟動的一部分,所以一旦配置好,就沒有辦法通過刷新防火牆規則意外暴露服務。

缺點是該埠最初是打開的,因此網路掃描會顯示它,並且連接在建立後立即關閉。

和文件不再提供,因為“失去”文件意味著“允許所有連接”,因此這些文件本身就構成了一個有效的配置,任何仍在使用它們的人都可能知道他們在做什麼hosts.allowhosts.deny

請注意,當您tcpd用於訪問控制時,您將失去 中的wait選項的好處inetd,其中服務通過偵聽器套接字啟動並負責在啟動後接受進一步的連接(即,您只有一個實例用於多個並行連接)。

沒有udpd,因為無法驗證 UDP 數據包的來源。

引用自:https://unix.stackexchange.com/questions/568321