学习了iptables的入门基础,如果需要配置iptables,下面是常用指令,以供参考:
1.加载模块
/sbin/modprobe ip_tables
2.查看规则
iptables -L -n -v
3.保存规则
iptables-save >/etc/iptables
service iptables save
4.设置规则
#清除已经存在的规则()
iptables -F
iptables -X
iptables -Z
#默认拒绝策略(对于filter table,默认的chain策略为ACCEPT,我们可以通过以下命令修改chain的策略。除非很熟悉尽量不要这样设置,虽然这样配置安全性高,但同时会拒绝包括lo环路在内的所有网络接口,导致出现其他问题。)
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP #如果信任本机外发,可不配置
#屏蔽指定IP
iptables -t filter -A INPUT -i eth0 -p tcp -s 48.48.48.48 -j DROP
#允许指定ip段访问sshd(默认操作filter链表,因此可以省略)
iptables -A INPUT -i eth0 -p tcp -s 192.168.100.0/24 –dport 22 -m state –state NEW,ESTABLESHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp –sport 22 -m state –state ESTABLISHED -j ACCEPT
若要支持由本机通过SSH连接其他机器,由于在本机端口建立连接,因而还需要设置以下规则
iptables -A INPUT -i eth0 -p tcp -s 192.168.100.0/24 –dport 22 -m state –state ESTABLESHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp –sport 22 -m state –state NEW,ESTABLISHED -j ACCEPT
#本地还回及tcp握手处理
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT#会有潜在ddos攻击
#www-dns 规则
iptables -A OUTPUT -p tcp -o eth0 –dport 53 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 –sport 53 -j ACCEPT
iptables -A OUTPUT -p udp -o eth0 –dport 53 -j ACCEPT
iptables -A INPUT -p udp -i eth0 –sport 53 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp –dport 80 -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp –sport 80 -j ACCEPT
#ICMP 规则
iptables -A INPUT -p icmp –icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp –icmp-type echo-reply -j ACCEPT
iptables -A OUTPUT -p icmp –icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp –icmp-type echo-reply -j ACCEPT
#端口转发配置(dnat)
iptables -t nat -A PREROUTING -p tcp -d 192.168.102.37 –dport 422 -j DNAT –to 192.168.102.37:22
#DoS攻击防范(利用扩展模块limit,–litmit 25/minute 指示每分钟限制最大连接数为25,–litmit-burst 100 指示当总连接数超过100时,启动 litmit/minute 限制)
iptables -A INPUT -p -tcp –dport 80 -m limit –limit 25/minute –limit-burst 100 -j ACCEPT