前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【3】iptables理解 - filt

【3】iptables理解 - filt

作者头像
py3study
发布2020-01-06 12:28:32
4660
发布2020-01-06 12:28:32
举报
文章被收录于专栏:python3

filter表是默认表,功能是对数据包做过滤。此表有三条链(iptables -t filter -L -n,用此命令查看),分别是:INPUT、FORWARD、OUTPUT。

INPUT链:数据流向iptables主机本身的数据包经过input链。比如访问iptables主机的22、80等端口的包会到input链,然后与此链中的规则进行匹配,决定丢弃或放行。

         --->eth0----iptables主机各种应用----eth1<------

                -->input                     input<--  

FORWARD链:数据包从接口进来,只要目标地址不是iptables主机本身,此包会通过forward链进行转发。

            --->eth0----------forward---------->eth1-----

                         目的地址:不是本机

比如LinuxA ping LinuxB,数据包的目的地址不是iptables本机而是其它网段或外网,会进行路由选择,并把数据包放入filter表的forward链处理。

OUTPUT链:iptables主机发出的数据包,比如linuxA ping iptables,iptables回应请求时就会经过output链。

例:禁止192.168.198.1 ping iptables(192.168.198.250)主机

icmp包说明:

TYPE

CODE

Description

Query

Error

0

0

Echo Reply——回显应答(Ping应答)

8

0

Echo request——回显请求(Ping请求)

x

在进入时候把icmp的请求丢弃

iptables -t filter -A INPUT -p icmp --icmp-type 8 -s 192.168.198.1 -i eth0 -j DROP

代码语言:javascript
复制
[root@fw myshell]# iptables -L -n --line-number
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination      
1    DROP       icmp --  192.168.198.1        0.0.0.0/0           icmp type 8

没有指定网卡、源地址,默认指所有网卡、所有地址

[root@fw myshell]# iptables -t filter -A INPUT -p icmp --icmp-type 8  -j DROP

代码语言:javascript
复制
[root@fw myshell]# iptables -L -n --line-number
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination      
1    DROP       icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 8
Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination      
Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination

例:禁止LinuxB(10.1.1.2) 访问 iptables主机的22端口

iptables -A INPUT -p tcp --dport 22 -s 10.1.1.2 -j DROP

代码语言:javascript
复制
[root@fw myshell]# iptables -L -n --line-number
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination      
1    DROP       tcp  --  10.1.1.2             0.0.0.0/0           tcp dpt:22
Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination      
Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination

例:禁止10.1.1.2访问192.168.198.1的139端口。

因为数据包不是到iptables本地的,所以需要把规则做在forward链上。

iptables -A FORWARD -s 10.1.1.2 -d 192.168.198.1 -p tcp --dport 139 -j DROP

代码语言:javascript
复制
[root@fw myshell]# iptables -L -n --line-number
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination      
1    DROP       tcp  --  10.1.1.2             0.0.0.0/0           tcp dpt:22
Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination      
1    DROP       tcp  --  10.1.1.2             192.168.198.1       tcp dpt:139
Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/09/18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档