天天看点

iptables规则添加

编辑iptables.rules完后

执行 iptables-restore < /etc/iptables.rules

debian系统这样就默认开启了防火墙规则,centos系统需要重新启动防火墙。

debian开机启动iptables方式:

vim /etc/network/if-pre-up.d/iptables

#!/bin/bash

/sbin/iptables-restore < /etc/iptables.rules

#

#若是直接添加需要iptables -A INPUT -i lo -p all -j ACCEPT 如此,在iptables.rules不要!

####编辑防火墙规则####

vim /etc/iptables.rules

*filter

# http://sadoc.blog.51cto.com

# dport:目的端口 

# sport:来源端口

# OUTPUT开启了DROP,注意dport/sport

# input方式总结:dport指本地,sport指外部

# output行为总结:dport只外部,sport指本地。

# 注意:OUTPUT链,OUTPUT链默认规则是ACCEPT,就需要添加DROP(放弃)的链.否则不需要!

# iptables -P OUTPUT ACCEPT(默认开启所有本地访问外部)

-P INPUT DROP

-P OUTPUT DROP

-P FORWARD DROP

# 切记!切记!切记!切记!切记!切记!切记!

#添加上面三条命令,会断开所有端口,包括现在远程连接SSH,因此要及时一起添加相应需要的命令

#允许loopback!(不然会导致DNS无法正常关闭等问题)

-A INPUT -i lo -p all -j ACCEPT 

# (如果是INPUT DROP)

-A OUTPUT -o lo -p all -j ACCEPT

# (如果是OUTPUT DROP)

# 开启SSH服务22端口(所有ip地址都允许登陆SSH)

-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

-A OUTPUT -p tcp -m tcp --sport 22 -j ACCEPT

# 开启web服务80端口

-A OUTPUT -p tcp -m tcp --sport 80 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

# 开启FTP服务20/21端口

-A INPUT -p tcp --dport 21 -j ACCEPT

-A INPUT -p tcp --dport 20 -j ACCEPT

# 如果做了DNS服务器,开启53端口

-A INPUT -p tcp --dport 53 -j ACCEPT

# 允许icmp包通过,也就是允许ping,

-A OUTPUT -p icmp -j ACCEPT 

# (OUTPUT设置成DROP的话)

-A INPUT -p icmp -j ACCEPT  

# (INPUT设置成DROP的话)

# 以下是限制的比较详细,允许某个IP地址允许访问SSH

-A INPUT -s 172.21.0.1 -p tcp --dport 22 -j ACCEPT

# 如果要允许,或限制一段IP地址可用 172.21.0.0/16 表示172.16.0.0网段

COMMIT

本文转自  一招拜师  51CTO博客,原文链接:http://blog.51cto.com/sadoc/1902673

继续阅读