1.防火墙启动:
service iptables start
查看防火墙rules:(能够看到端口处信息)
iptables -L -n
想设置新的规则先清除原有的防火墙规则:
iptables -F 清除预设表filter中的所有规则链的规则
iptables -X 清除预设表filter中使用者自定链中的规则
这些配置就像用命令配置IP一样,重起就会失去作用),永久保存.
/etc/rc.d/init.d/iptables save (写入配置文件中)或者用以下命令:
service iptables save
重启iptables服务:
service iptables restart
2.设定预设规则::
当超出了IPTABLES里filter表里的两个链规则(INPUT,FORWARD)时, DROP(放弃).,控制流入数据包.
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
对于OUTPUT链,也就是流出的包不用做太多限制,而是采取ACCEPT,也就是说,不在规则里的包通过。
INPUT,FORWARD两个链采用的是允许什么包通过,而OUTPUT链采用的是不允许什么包通过(流出)。
2.1添加端口级的规则(来限制服务):
个人理解:要使用什么服务,则设定相关服务端口的规则。例:
要使用ssh服务,ssh默认port为22,则设定:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
2.2添加IP级的规则(来限制某个IP可以做什么,或者某个IP不能做什么,根据具体需求设置):
例:只允许192.168.0.3的机器进行SSH连接:
iptables -A INPUT -s 192.168.0.3 -p tcp --dport 22 -j ACCEPT
若允许同一网段如同一局域网的用户可以进行连接则可以:
用 192.168.0.0/24 表示192.168.0.1-255端的所有IP.
24表示子网掩码数.要记得删掉 /etc/sysconfig/iptables 里的这一行:
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT 因为它表示所有地址都可以登陆.
或采用命令方式:
iptables -D INPUT -p tcp --dport 22 -j ACCEPT
然后保存,再次强调,凡是采用命令的方式,只在当时生效,如果想要重启系统或者重启服务后也起作用,那就要保存.写入到/etc/sysconfig/iptables文件里。
/etc/rc.d/init.d/iptables save
以上是我学习并验证了博客园一个博主写的文章后整理的,都是我实际尝试完成的操作,博主写的文章中还有一部分我没有尝试,大家感兴趣的话可以尝试下。庆幸没有生在一个对知识敝帚自珍的年代,感谢这个知识可以分享的时代。
链接如下:https://www.cnblogs.com/alimac/p/5848372.html#commentform