我一直以为只有安装了iptables服务才能使用iptables.service命令,但后来我发现我错了。
┌──[root@vms16.liruilongs.github.io]-[~]
└─$systemctl status iptables.service
Unit iptables.service could not be found.
┌──[root@vms16.liruilongs.github.io]-[~]
└─$iptables -A INPUT -p icmp --icmp-type 13 -j DROP
┌──[root@vms16.liruilongs.github.io]-[~]
└─$iptables -A OUTPUT -p icmp --icmp-type 14 -j DROP加入该规则后,该规则立即生效。
如果没有iptables.service服务,仍然可以使用该命令。
┌──[root@vms16.liruilongs.github.io]-[~]
└─$whereis iptables
iptables: /usr/sbin/iptables /usr/libexec/iptables /usr/share/man/man8/iptables.8.gz
┌──[root@vms16.liruilongs.github.io]-[~]
└─$which iptables
/usr/sbin/iptables我很好奇为什么我们需要iptables.service,以及它意味着什么,为了简单起见,我们可以使用firewalld.service。
┌──[root@vms16.liruilongs.github.io]-[~]
└─$yum -y install iptables-services.x86_64 > /dev/null
┌──[root@vms16.liruilongs.github.io]-[~]
└─$systemctl status iptables.service
● iptables.service - IPv4 firewall with iptables
Loaded: loaded (/usr/lib/systemd/system/iptables.service; disabled; vendor preset: disabled)
Active: inactive (dead)我安装了它,只找到了配置文件。
┌──[root@vms16.liruilongs.github.io]-[~]
└─$rpm -qlc iptables
/etc/sysconfig/ip6tables-config
/etc/sysconfig/iptables-configiptable.service还能做什么?
我可以这样认为吗?iptables与内核相关,不需要安装iptables.service才能工作,但我看到很多人在修改iptable规则后重新加载配置文件并重新启动iptable.service,这是正确的想法吗?
发布于 2022-12-04 18:42:03
iptables命令用于添加或删除规则和链,可以在没有服务文件的情况下使用。iptables.service所做的是在引导时自动加载保存的规则集,并在关机时卸载规则。脚本中有一些安全检查,比如设置默认的链策略以在关机时接受,以防止系统有不可用的规则集。如果您希望在每次启动系统时手动加载规则,则服务只会使其更容易。
firewalld提供了一个比iptables更简单的接口来定义规则,但这确实是最大的区别。在封面下面,firewalld使用iptables来实现规则。就我个人而言,我更喜欢使用iptables,但多年来我已经习惯了这种配置。iptables或firewalld的选择取决于您满意的程度。
https://unix.stackexchange.com/questions/727282
复制相似问题