在Linux7系统中firewalld服务取代了iptables服务,不过也可以用iptables服务替代firewalld服务。
**
iptables
**
systemctl stop firewalld #停止firewall
systemctl disable firewalld #禁止firewall开机启动
yum install iptables-services #安装iptables服务
systemctl start iptables #启动iptables服务
systemctl enable iptables #设置开机自启动
/sbin/iptables-save OR service iptables save
##默认会将iptables规则写入/etc/sysconfig/iptables文件,也可自定义保存文件
/sbin/iptables-save | cat >/opt/iptables
##当服务器启动后保存到指定文件是不会被读取的,如果我们想让文件生效需要重定向一下iptables-restore < /opt/iptables(不建议替换默认文件地址)
自动保存规则
修改/etc/sysconfig/iptables-config文件
IPTABLES_SAVE_ON_STOP=no “no” 改成 “yes”
这样每次停服务之前会自动将现有规则保存到/etc/sysconfig/iptables。
查询规则
iptables -L 默认 filter表
iptables -L -t filter
iptables -L -t nat
iptables -L -t mangle
iptables -t filter -L -n --line-numbers #显示所有规则条目的编号
匹配条件
因为iptables是网络层的防火墙、他只能匹配协议、IP、TCP、UDP、ICMP、匹配条件肯定是根据底层的IP报文来检查、或都根据TCP、UDP、ICMP来检查
这几种叫通用匹配
-s IP:匹配源IP的、可以是IP也可以是网络地址、可以取反、用!号取么
-d IP:匹配目标地址的、
-p Proctol:匹配协议的[TCP|UDP|ICMP]、三者之一
-i:数据报文流入的接口、数据包从哪个网卡进来呀、通常只用于INPUT、FORWARD、PRERUTING
-o:数据报文流出的接口、OUTPUT、FORWARD、POSTRO