IPTables经常使用命令

1.清除IPTables规则安全

在设置IPTables规则以前,若是须要清除已有规则,可使用:服务器

#iptables -Ftcp

或者ide

#iptables --flushoop

2.容许SSH入站链接ip

下列规则容许SSH入站链接:it

#iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT    
#iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT      
table

3.设置IPTables默认策略class

通常状况下,INPUT、OUTPUT、FORWARD链的默认策略都是ACCEPT。若是想更改默认策略为DROP,能够用如下命令(注意大小写):配置

#iptables -P INPUT DROP    
#iptables -P OUTPUT DROP      
#iptables -P FORWARD DROP      

当心!若是你经过SSH远程配置服务器,配置INPUT和OUTPUT链默认策略为DROP以前,必定要先在IPTables上配置容许SSH链接,不然你与服务器的链接会被中断!

若是你信任外出流量,能够将OUTPUT默认策略设为ACCEPT,只设置INPUT和FORWARD为DROP.

4.只容许从特定网段访问SSH服务器

若是你想增强安全,只容许来自特定网段的用户链接SSH服务器,能够设置如下规则(以192.168.1.0/24网段为例):

#iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT    
#iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT      

在这个例子中,192.168.1.0/24也能够写成192.168.1.0/255.255.255.0.

5.容许访问Loopback

Linux有很多服务须要使用Loopback(好比Sendmail),若是设置不当可能致使服务没法使用,因此应该设置规则容许访问:

#iptables -A INPUT -i lo -j ACCEPT    
#iptables -A OUTPUT -o lo -j ACCEPT      

6.容许外网Ping服务器

#iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT    
#iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT      

7.容许HTTP和HTTPS入站链接

容许连入本机80端口(HTTP):

#iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT    
#iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT      

容许连入443端口(HTTPS):

#iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT    
#iptables -A OUTPUT -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT      

8.容许使用邮件服务

如下规则容许使用邮件服务(25端口),如Sendmail, Postfix等:

#iptables -A INPUT -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT    
#iptables -A OUTPUT -p tcp --sport 25 -m state --state ESTABLISHED -j ACCEPT      

9.容许使用外网DNS解析

#iptables -A INPUT -p udp --sport 53 -j ACCEPT    
#iptables -A OUTPUT -p udp --dport 53 -j ACCEPT      

10.同一条规则设置多个端口

若是你的服务器同时对外提供多种服务,你可能不想为每一项服务设置一条单独的规则。你能够把多个服务设置在同一条规则内。好比,你的服务器对外提供SSH, HTTP, HTTPS服务,你能够设置:

#iptables -A INPUT -p tcp -m multiport --dports 22,80,443 -m state --state NEW,ESTABLISHED -j ACCEPT    
#iptables -A OUTPUT -p tcp -m multiport --sports 22,80,443 -m state --state ESTABLISHED -j ACCEPT      

11.查看iptables 行号

   

# iptables -nvL --line-number

12.在某行前面插入规则

添加规则有两个参数:-A和-I。其中-A是添加到规则的末尾;-I能够插入到指定位置,没有指定位置的话默认插入到规则的首部

# iptables -I  INPUT 47  -p tcp -s 192.168.1.0  --dport 80  -j ACCEPT

13.删除某条规则

先经过iptables -nvL --line-number,查看行号。在执行如下命令删除

# iptables -D INPUT 2

14.修改某条规则

先经过iptables -nvL --line-number,查看行号。在执行如下命令修改

# iptables -R INPUT 3 -j ACCEPT

相关文章
相关标签/搜索