iptables的原理和基本用法

iptables-----能够将规则组成一个列表,实现绝对详细的访问控制功能。tcp


1、iptables基础

ide

Iptables中的规则表:规则表的前后顺序:raw→mangle→nat→filtespa

1.png


规则链的前后顺序:3d

入站顺序:PREROUTING→INPUT代理

出站顺序:OUTPUT→POSTROUTING日志

转发顺序:PREROUTING→FORWARD→POSTROUTINGblog


1.jpg


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
相关文章
相关标签/搜索