防火牆是保護服務器的重要措施。它可以對訪問權限等做出細粒度的約束。廢話少說,下面我們就來看看如何對防火牆進行設置。
相關命令
只允許特定ip訪問80端口:
iptables -I INPUT -p TCP –dport 80 -j DROP
注意dport前面是兩個-
iptables -I INPUT -s specificIp -p TCP –dport 80 -j ACCEPT
第一條命令是禁止所有訪問80端口的請求。第二條就是對特定IP開放80端口。
這個是很有用的。比如,我們可以只讓負載均衡服務器來訪問應用服務器的80端口。
查看設置是否生效:
iptables -L
只允許特定ip訪問多ip服務器上的80端口:
我們可以給一個服務器配置多個ip地址。在第一個命令中,我們是禁止了此臺服務器上的全部ip的.80端口。那麼我們如何只禁止服務器上的一個ip的80端口呢?
下面這條命令只允許來自的ip訪問服務器上的80端口:
iptables -A FORWARD -s -d -p tcp -m tcp –dport 80 -j ACCEPT
iptables -A FORWARD -d -p tcp -m tcp –dport 80 -j DROP
允許指定IP段來訪問80端口:
iptables -I INPUT -p tcp –dport 80 -j DROP
iptables -I INPUT -s -p tcp –dport 80 -j ACCEPT
上面的例子中,就是隻允許這個ip段的ip訪問80端口。
只允許訪問特定網址:
iptables -A Filter -d -j ACCEPT
iptables -A Filter -j DROP
多個端口:
iptables -A Filter -p tcp -m multiport –destination-port 22,53,80,110 -s -j REJECT
指定時間上網:
iptables -A Filter -m time –timestart 17:30 –timestop 8:30 –days Mon,Tue,Wed,Thu,Fri,Sat,Sun -j ACCEPT
禁止某個MAC地址訪問internet:
iptables -I Filter -m mac –mac-source 00:11:22:33:44:55 -j DROP
禁止某個MAC地址的某個端口服務
iptables -I Filter -p tcp -m mac –mac-source 00:20:18:8F:72:F8 –dport 80 -j DROP
禁止某個ip地址的Ping:
iptables –A Filter –p icmp –s –j DROP