iptables-----能够将规则组成一个列表,实现绝对详细的访问控制功能。tcp
1、iptables基础
ide
Iptables中的规则表:规则表的前后顺序:raw→mangle→nat→filtespa
规则链的前后顺序:3d
入站顺序:PREROUTING→INPUT代理
出站顺序:OUTPUT→POSTROUTING日志
转发顺序:PREROUTING→FORWARD→POSTROUTINGblog
iptables语法
iptables [-t 要操做的表] <操做命令> [要操做的链] [规则号码] [匹配条件] [-j 匹配后的动做]
小写 大写 大写 小写 大写接口
表名包括:ip
raw:高级功能,如:网址过滤。路由
mangle:数据包修改(QOS),用于实现服务质量。
net:地址转换,用于网关路由器。
filter:包过滤,用于防火墙规则。
规则链名包括:
INPUT链:处理输入数据包。
OUTPUT链:处理输出数据包。
PORWARD链:处理转发数据包。
PREROUTING链:用于目标地址转换(DNAT)。
POSTOUTING链:用于源地址转换(SNAT)。
动做包括:
accept:接收数据包。
DROP:丢弃数据包。
REDIRECT:重定向、映射、透明代理。
SNAT:源地址转换。
DNAT:目标地址转换。
MASQUERADE:IP假装(NAT),用于ADSL。
LOG:日志记录。
例:
查看已添加的iptables规则
iptables -nL -v
清除已有iptables规则
iptables -F iptables -X iptables -Z
开放指定的端口
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT #容许本地回环接口(即运行本机访问本机) iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #容许已创建的或相关连的通行 iptables -A OUTPUT -j ACCEPT #容许全部本机向外的访问 iptables -A INPUT -p tcp --dport 22 -j ACCEPT #容许访问22端口 iptables -A INPUT -p tcp --dport 80 -j ACCEPT #容许访问80端口 iptables -A INPUT -p tcp --dport 21 -j ACCEPT #容许ftp服务的21端口 iptables -A INPUT -p tcp --dport 20 -j ACCEPT #容许FTP服务的20端口 iptables -A INPUT -j reject #禁止其余未容许的规则访问 iptables -A FORWARD -j REJECT #禁止其余未容许的规则访问
屏蔽IP
iptables -I INPUT -s 192.168.122.122 -j DROP #屏蔽单个IP的命令 iptables -I INPUT -s 192.168.122.0/24 -j DROP #封IP段即从192.168.122.1到192.168.122.254