iptables tcp
1.iptables 表spa
(1)介绍经常使用表blog
filtert(过滤器)ip
链路由
↓get
INPUT chain:控制进入主机的数据包it
OUTPUT chain:控制向外发出的数据包table
FORWARD chain :转发数据包class
NAT(地址转换)配置
链
↓
PREROUTING链 :数据包到达防火墙时改变包的目的地址。
OUTPUT链:改变本地产生数据包的目标地址。
POSTROUTING:在数据包离开防火墙时改变数据包的源地址
Mangle(修改数据包,改变包头中内容)
TOS :设置改变数据包的服务类型,不要使用TOS设置发往Internet的包除非打算依赖TOS来路由,不能在表中配置任何过滤。SNAT、DNAT
TTL:改变数据包的生存时间,能够让数据包只有一个特殊的TTL,欺骗ISP,有些ISP并不但愿多台计算机共享一个链接访问Internet,ISP经过检查一台计算机所发出的数据包是否含有不一样的TTL来判断。
Mask:给数据包设置特殊的标记,经过标记配置带宽限制和基于请求分类。
2.iptables 参数:
-L 列出规则
-F 清空链
-X是删除使用者自订 table 项目
-A 从最后一列插入一条规则
INPUT
OUTPU
FORWARD
-I从第一行插入一条规则,后接数字能够调整规则插入的行数
INPUT
OUTPU
FORWARD
-n不进行ip与主机名的反查询
-d目标ip后能够接端口号,格式:0.0.0.0:80
-s源ip后可接端口号,格式:0.0.0.0:80
-j 动做
ACCEPT
REJECT
DROP
-p指定协议tcp,udp,icmp
-i 指定网卡
--sport指定源端口
--dport指定目标端口
3.iptables流程图
4.例子
( 1)阻挡全部流量
iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited
iptables -A FORWARD -j REJECT --reject-with icmp-host-prohibited
# 这两条的意思是在INPUT表和FORWARD表中拒绝全部其余不符合上述任何一条规则的数据包。而且发送一条host prohibited的消息给被拒绝的主机。
(2)容许全部ip均可以80
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -I OUTPUT -p tcp --dport 80 -j ACCEPT
#这条规则必须放在阻挡全部流量规则的前面!
(3)容许全部ip均可以22
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -I OUTPUT -p tcp --dport 22 -j ACCEPT#这条规则必须放在阻挡全部流量规则的前面!