安装apahce:
yum install -y httpd
echo 123 >> /var/www/html/index.html
systemctl start httpd
curl http://localhost
然后给iptables插入一条防火墙策略:
iptables -t filter -I INPUT -p tcp --dport 80 -j ACCEPT
注意:这里使用的是-I,不是使用的-A 参数。
说明:
1)policy ACCEPT:这是白名单的方式。
2)REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
拒绝所有的除了icmp之外的所有协议规则。
3)然后使用-I插入一条规则,而不是使用的-A在末尾添加。
这说明防火墙在读规则的时候是有顺序的,是在链表规则表中从下往上读取的。先将所有的协议都拒绝,然后再逐个接收各个协议。白名单,先把所有的除了icmp协议拒绝,然后再放可接受的协议。我这个理解是错误的,老师说链表规则还是从上往下,ACCEPT就放行,放行的就通过,然后下面是拒绝所有,然后有什么协议想通过就不放行了。
涉及到三个选项:-A -D -I;
如果将iptables进行重启,发现添加的规则都没有了。
这是因为重启了iptables之后,会将 /etc/sysconfig/iptables的配置文件的内容加载进来的。我们添加的防火墙配置还没有写到配置文件中,所以添加的配置就没有了,也就是我们的配置添加好了之后,要进行保存。跟交换机的配置一样的,华为交换机最后配置也是要进行保存save的。
systemctl restart iptables
说明:
1)iptables-config是软件本身的配置文件;
2)iptables是防火墙规则的配置文件。
刚才我们添加的规则没有被加入到该文件中。那通过iptables -save,要将规则进行保存才行。
就是将规则写到/etc/sysconfig/ipables中才行。
那么,如何将防火墙的配置写进文档中呢?使用如下命令:
iptables-save > /etc/sysconfig/iptables
iptables -F
# 清空filter表中的规则
说明:这是清理的内存iptables的规则。
重启itptables,可以将防火墙规则配置文件里的数据读到iptables中。
iptables-restore < /etc/sysconfig/iptables
将内存的配置写到iptables规则配置文件中:
iptables-save > /etc/sysconfig/iptables
这个命令是黑天鹅:这个要特别注意下:
iptables -P INPUT DROP
解决方法是:直接到物理机上直接执行命令:iptables-restore < /etc/sysconfig/iptables
在配置防火墙的时候,要及时执行命令:iptables-save > /etc/sysconfig/iptables
尽量不要将规则清空,操作的时候要特别小心。