Linux的filter


iptables [ -t tables  ]  [ -L ]   [ -nv ]


iptables  [ -AIchain名 ]  [ -io网络接口 ]  [ -p协议 ]  [ -s来源IP或网域 ]  [ -d目标IP或网域 ]  [ -j ACCEPT | REJECT | DROP | LOG ]


 -L(list)

-t :后面节tables 默认是filter    [ nat ]  

-n :不进行ip与hostname的反查(即不进行DNS解析,直接输出IP)

-v : 列出更多的信息,包括通过该规则的封包总数,网络接口等

--line-number ==>显示规则编号


-F :清除所有已定义的规则

-X : 清除所有使用者自定义的chain

-Z : 将所有chain的计数和流量清零

 

-A(append)  ==>append添加规则

-I (insert)    ==>插入规则

-D (删除一条规则,后面跟规则的编号)

-R(修改)



-i :数据包进入的网卡  与INPUT 链对应 

-o (小写) : 数据包出去的网卡,与OUTPUT 链对应


-s : 来源IP或者网域

IP: 192.168.1.1

网域: 192.168.1.0/24

-s  !  192.168.1.1   ==>取反  

-d : 目标IP 或网域


-P(大写):设置默认规则,而不是添加规则

-p(小写 ): 协议  tcp /udp icmp….smtp  即封包的格式)

- -dport 目标端口或端口范围 如: 10000:20000(表示10000到20000之间的端口,  10000,20000 表示端口10000和20000) 

- -sport  源端口或端口范围



iptables  -A input [ -m state ]  [ --state 状态 |--mac-source ]

-m : ptables的外挂模块,常见的有:

state : 状态模块

mac : hardware  address 

INVALID : 无效的封包

ESTABLISHED : 已经联机的状态

NEW : 想要新建立联机的封包状态

RELATED: 表示这个封包与我们主机发送出去的封包有关

  

example :

iptables -A INPUT -m state  --state RELATED , ESTABLISED  -j  ACCEPT


  iptables -A  IPNUT  -m  state  --state  INVALID -j DROP


针对局域网内的 aa:bb:cc:dd:ee:ff 主机开放

iptables -A INPUT -m mac --mac-source  aa:bb:cc:dd:ee:ff  -j ACCEPT


filter table 的chain

1外面进来的数据包  

Chain INPUT (policy ACCEPT)

target     prot opt source               destination         


2从我们的主机转发到其他的主机

Chain FORWARD (policy ACCEPT  )

target     prot opt source               destination         


3从主机出去的数据包

Chain OUTPUT (policy ACCEPT)

target     prot opt source               destination   


target     prot opt source               destination         

DROP       all  --  192.168.0.4          0.0.0.0/0   


target : 代表的是进行的动作

port :代表此规则针对的封包协议 主要有TCP ,UDP,ICMP

source :代表此规则针对的哪个来源IP

destination :代表此规则针对哪个目标IP



ACCEPT 让数据进来

DROP直接丢掉,不告诉客户端 

REJECT 丢弃数据包,告诉客户

LOG : 将封包的信息写入到/var/log/messages中(仅起记录作用)


iptables [- t table ] command  [ match ]  [target]


1表 filter(用的最多)  nat(网关)  mangle


filter 表用于一般数据的过滤 ,针对本机; 是iptables默认的表; 

链:INPUT  FORWARD  OUTPUT  ;

nat  ,仅用于NAT  ,也就是转换数据包得源地址和目标地址;


,目的接口 -s  -d   ip或者ip段

iptables -A OUTPUT -d 192.168.0.1 -j DROP 将来自192.168.0.1的请求全drop掉


iptables -A INPUT -s 192.168.0.1 -j DROP 将来自192.168.0.1的请求全drop掉


协议类型  -p   TCP   UDP ICMP 


iptables 系统内核级服务

在系统启东时,会把iptables加载到内存 

service  iptables  save  把再命令行中设定的规则保存到磁盘上

或者

iptables -save > /etc/sysconfig/iptables


设置默认规则:

iptables -P INPUT ACCEPT  (注意,别加-j)


==========================


iptables -F(flush)  ==>清除所有iptables规则


iptables -A INPUT(进来的数据包) -j(动作,怎么处理进来的数据包)  DROP

这条规则的意思; 增加一条规则==>丢弃所有的进来的数据包

 此时再访问网站时,浏览器会一直卡着,用其他的工具(ssh ,等)也连不上服务器了(DROP       all  --  anywhere             anywhere  )

===================================

删除一条规则:

iptables -DINPUT  1


=====================================

禁止ssh登陆,但允许web访问

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

iptables -A INPUT -p tcp --dport 22(ssh端口) -j DROP


========================================


iptables -i INPUT eth0 -j ACCEPT



===========================================

阻止从80端口出去的数据包


iptables -A output -p tcp  --sport 80 -j DROP 


===========================================


把ping的数据包全丢掉

iptables -A IPNUT -p  icmp -j DROP


iptables -A INPUT -s(来源) 192.168.0.3  -j DROP

 ========================================

这两行要经过测试后没问题才加

service iptables save

service iptables restart

=========================================


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值