防火墙是保护服务器的重要措施。它可以对访问权限等做出细粒度的约束。废话少说,下面我们就来看看如何对防火墙进行设置。
相关命令
只允许特定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