linux有两个防火墙机制,一个是selinux,一个是netfilter。
selinux这种机制的限制太多,配置也特别繁琐,所以很少有人去应用它,我们一般都要把selinux关闭,以免引起不必要的麻烦。selinux可以用命令:setenforce 0临时关闭或者修改配置文件vim /etc/selinux/config将SELINUX=enforcing改为SELINUX=disabled永久关闭。
下面主要讲netfilter防火墙:大家习惯叫它iptables,iptables是linux上特有的防火墙机制,功能非常强大。
iptables有表table,table下有链chain,chain下有规则。
table有filter,nat 和mangle三种表,最常用的就是filter表,我们可以用命令:iptables -t filter -nvL查看filter表:filter表有INPUT,FORWARD和OUTPUT三个链,INPUT链作用于进入本机的包,OUTPUT作用于本机送出的包,FORWARD链作用于和本机无关的包。我们可以用命令:iptables -t filter -I INPUT或者iptables -t filter -A INPUT来添加INPUT的规则:
-I 表示插入规则会在INPUT下所有规则的最上面即最先生效;
-A表示添加规则会在INPUT下所有规则的最下面即最后生效。
例如我们可以用下面的命令过滤掉ip为220.115.241.20的终端进入服务器的包:
iptables -t filter -I INPUT -p tcp --dport 80 -s 220.115.241.20 -j REJECT
我们也可以用-D删除这条规则:
iptables -t filter -D INPUT -p tcp --dport 80 -s 220.115.241.20 -j REJECT
下面是一些命令使用:
iptables -F //临时清除所有规则
iptables -Z //可以将规则匹配的包的数量和大小置为0
service iptables stop //可以临时清空所有规则
service iptables start //重新加载配置文件/etc/sysconfig/iptables里面的规则
service iptables save //可以将规则写入配置文件/etc/sysconfig/iptables重启规则依然生效
iptables-save > 1.ipt //将规则重定向1.ipt文件也就是备份
iptables-restore < 1.ipt //规则备份还原
iptables -I INPUT -p tcp -s 192.168.1.101 -j DROP //主机和虚拟机会断开连接,且主机无法通过终端登录虚拟机(192.168.1.101为主机内网ip)
iptables -I INPUT -p icmp -s 192.168.1.101 -j DROP //主机和虚拟机互相ping不通
iptables -I INPUT -p icmp --icmp-type 0 -j DROP //只有物理机可以ping通虚机
iptables -I INPUT -p icmp --icmp-type 8 -j DROP //只有虚机可以ping通物理机
本文出自 “linux运维” 博客,转载请与作者联系!
原文地址:http://zhumy.blog.51cto.com/11647651/1787759