之前在使用Linux的时候,不管是开启FTP端口,还是禁止某个IP访问都需要用到iptables工具,都与防火墙有过接触,所以深入的了解下,整理了如下知识点,以供大伙参考
iptables 是Linux 最常用的防火墙工具,下面开始讲解iptables的应用方法
安装iptables
yum install iptables
查看所有规则
iptables -L -n
v:显示详细信息,包括每条规则的匹配包数量和匹配字节数
x:在 v 的基础上,禁止自动单位换算(K、M) vps侦探
n:只显示IP地址和端口号,不将ip解析为域名
删除单条规则
#将所有iptables以序号标记显示,执行:
iptables -L -n --line-numbers
#比如要删除INPUT里序号为8的规则,执行:
iptables -D INPUT 8
删除所有规则
iptables -F
iptables -X
iptables -Z
添加新规则
下面是常用的规则说明:
#允许本地访问
iptables -A INPUT -i lo -j ACCEPT
# 允许已建立的或相关连的通行
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#允许所有本机向外的访问
iptables -A OUTPUT -j ACCEPT
# 允许访问22端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#允许ping
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
#禁止其他未允许的规则访问,如有必要,先允许22端口再执行下面操作,免得SSH客户端断开连接
iptables -A INPUT -j REJECT
iptables -A FORWARD -j REJECT
#屏蔽单个IP的命令是
iptables -I INPUT -s 123.45.6.7 -j DROP
#封整个段即从123.0.0.1到123.255.255.254的命令
iptables -I INPUT -s 123.0.0.0/8 -j DROP
#封IP段即从123.45.0.1到123.45.255.254的命令
iptables -I INPUT -s 124.45.0.0/16 -j DROP
#封IP段即从123.45.6.1到123.45.6.254的命令是
iptables -I INPUT -s 123.45.6.0/24 -j DROP
保存规则以及设置规则开机自启动
执行以下代码,
#设置开启自启动:
chkconfig --level 345 iptables on
#保存规则:
service iptables save