潇湘夜雨移动版

主页 > 系统 >

web服务器iptables规则常用配置

web服务器iptables规则常用设置
 
1.清理默认规则
[root@hadoop-master ~]# iptables -nL --line-number #查看规则并显示编号
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22 
5    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 
 
Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination         
1    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 
 
iptables -D INPUT 1 #清理input链规则,只保留22号端口规则,否则不能远程登录
iptables -D OUTPUT 1 #清理output链规则
如果是在本地系统登录可以一次清理全部规则:iptables -F
 
2.添加规则
规则表如下:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -s 172.18.109.236 -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
 
[root@hadoop1 ~]# iptables -nL #查看当前规则
Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:22 #sshd服务
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 #web服务
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED #接收related和established状态的数据包
ACCEPT     all  --  172.18.109.236       0.0.0.0/0        #接收本机ip发送的数据包   
 
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
 
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination      
注意:通过iptables命令配置的规则只是当前生效,重启防火墙后会启用默认的规则表
 
3.保存规则
[root@hadoop1 ~]# iptables-save >/etc/sysconfig/iptables #保存到规则表
[root@hadoop1 ~]# service iptables restart
iptables:将链设置为政策 ACCEPT:filter                    [确定]
iptables:清除防火墙规则:                                 [确定]
iptables:正在卸载模块:                                   [确定]
iptables:应用防火墙规则:                                 [确定]
[root@hadoop1 ~]# iptables -nL
Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:22 
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
ACCEPT     all  --  172.18.109.236       0.0.0.0/0           
 
4.防火墙规则的备份和恢复
[root@hadoop1 ~]# iptables-save >firewall.bak #备份规则表
[root@hadoop1 ~]# iptables-restore <firewall.bak #导入恢复规则

5.入站端口转发
在工作环境中接触到iptables有时候需要进行端口转发功能,例如我本机不开放那些端口的,但可以使用它来进行转发到使用的端口上。
首先开启路由转发:echo 1 > /proc/sys/net/ipv4/ip_forward
[root@youxiang ~]# iptables -t nat -A PREROUTING -p tcp -d 172.18.109.234 --dport 81 -j DNAT --to 172.18.109.234:80 #81转80端口
[root@youxiang ~]# iptables -t nat -A PREROUTING -p tcp -d 172.18.109.234 --dport 443 -j DNAT --to 172.18.109.234:80 #443端口转80端口
[root@youxiang ~]# iptables -t nat -A PREROUTING -p tcp -i eth0 -d 172.18.109.234 --dport 400 -j DNAT --to 172.18.109.234:80 #网卡eth0的400转80端口

(责任编辑:liangzh)