解决方法
IPTables在内核级别工作.通常,这意味着它不了解应用程序或进程.它只能根据大部分来自各种数据包头的内容进行过滤.
然而,host.allow / deny在应用程序/进程级别上运行.您可以为在系统上运行的各种进程或守护进程创建规则.
因此,例如IPTables可以在端口22上进行过滤.SSH可以配置为使用此端口,通常是,但也可以配置为在不同的端口上. IPTables不知道它所在的端口,它只知道TCP头中的端口.但是,可以为某些守护进程配置hosts.allow文件,例如openssh守护程序.
如果你必须选择我通常会选择至少IPTables.我认为hosts.allow是一个很好的奖励.甚至认为守护程序级别似乎更容易,IPTables会在它真正变得非常远之前阻止数据包.有了安全性,您可以越早阻止某些事情越好.但是,我确信有些情况会改变这种选择.