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