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運維” 博客,轉載請與作者聯系!