首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
IPTABLES入门
时间:
2015-07-21 17:02:24
阅读:
110
评论:
0
收藏:
0
[点我收藏+]
标签:
声明:由于查看网上资料发现无法满足我的理解能力(理解能力太差),总结的不系统(不满足我要的要求),所以将iptables总结与此,转载可以不留名,但是我相信有JJ的都会留名。纯粹菜鸟级别,大神请绕道。。。。
参考资料:鸟哥私房菜
www.baidu.com
www.google.com
man iptables
感谢百度文库,感谢谷歌翻译,感谢所有共享资料的大神感谢鸟哥,感谢CN哥,感谢容器哥,感谢冰冰,感谢三哥,感谢假胸,感谢linux群里的各位大神
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
这里先说一条原则:iptables总是匹配最上层的,如果上层匹配成功,下面的策略则忽略
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
iptable -L(如果加-t nat 则查看nat表,如果不加则查看filter表)
首先要了解3个链表
INPUT OUTPUT FORWARD区别
1. 如果数据包的目的地址是本机,则系统将数据包送往
Input
链。如果通过规则检查,则该包被发给相应的本地进程处理;如果没有通过规则检查,系统就会将这个包丢掉。
2. 如果数据包的目的地址不是本机,也就是说,这个包将被转发,则系统将数据包送往
Forward
链。如果通过规则检查,则该包被发给相应的本地进程处理; 如果没有通过规则检查,系统就会将这个包丢掉。
3. 如果数据包是由本地系统进程产生的,则系统将其送往
Output
链。如果通过规则检查,则该包被发给相应的本地进程处理;如果没有通过规则检查,系统就会将这个包丢掉。
========================================================================================================
查看信息的各项功能说明
target:代表进行的动作, ACCEPT 是放行,而 REJECT 则是拒绝,此外,尚有 DROP (丢弃) 的项目!
prot:代表使用的封包协议,主要有 tcp, udp 及 icmp 三种封包格式;
opt:额外的选项说明
source :代表此规则是针对哪个『来源 IP』进行限制?
destination :代表此规则是针对哪个『目标 IP』进行限制?
=======================================================================================================
也可以使用iptables-save查看详细规则 ,这里看到的规则和配置文件里的规则一样
=======================================================================================================
对iptables进行配置
一般首先需要删除原有配置
iptables -F ----清空所有的已定的规则
iptables -X ----清空掉所有自定义的chain
iptables -Z ----chain计数器设置为0
然后定义策略将相关的链默认设置成drop
格式为
#iptables [-t nat] -P [INPUT,OUTPUT,FORWARD] [ACCEPT,DROP]
-P:定义策略policy
ACCESS:代表默认允许
DROP:代表默认拒绝
例如:
#iptables -P INPUT DROP
----进站数据默认拒绝,一般用于防外网
#iptables -P OUTPUT DROP ----出站数据默认拒绝,防止内网主动向外发送数据
#iptables -P FORWORD DROP ----转发数据,一般linux在做路由器的时候设置
如果设置nat表
iptables -t nat -P PREROUTING DROP
=======================================================================================================
基本的定义完成了然可以定义详细规则了,基本命令为
#
iptables [-AI 链名] [-io 网络接口] [-p 协议] [-s 来源IP/网域] [-d 目标IP/网域] -j [ACCEPT|DROP|REJECT|LOG]
-AI 链名:针对哪个链表制定规则
-A :增加一条规则,该规则增加到最后一条。
-I :插入一条规则,个i规则增加到第一条,但是如果写了条目号,则插入对应条目,以下的依次下移
如:iptables -I INPUT 2 -s 192.168.3.119 -i eth0 -p icmp -j ACCEPT ----这样会在第二条插入一条:eth0接收192.168.3.119的icmp入站请求
-io 网络接口:设定封包进出的规则
-i:封包所进入的那个网络接口;需要与INPUT链配合使用
-o:封包锁传出的那个网络接口;需要与OUTPUT链配合使用
-p 协议:针对哪类协议
设定针对那类数据包:tcp udp icmp以及all(前面加!代表拒绝此类)
-s 来源ip/netmask:针对哪些来源网络主机或网段(不含netmask表示主机;
前面加!代表拒绝此类)
-d 目标ip/netmask:针对哪些目的网络主机或网段(不含netmask表示主机;
前面加!代表拒绝此类)一般与OUTPUT配合
-j 动作:针对以上条件所要实现的动作(
接受(ACCEPT)、丢弃(DROP)、拒绝(REJECT)及记录(LOG))
iptables -A INPUT -s 192.168.3.119 -i eth0 -p icmp -j LOG ----将进入eth0源IP为192.168.3.119的icmp协议全部记录下来(保存在/var/log/messages)
=======================================================================================================
针对TCP/UPD的端口设置
#iptables [-AI 链] [-io 网络接口] [-p tcp,udp] [-s 来源IP/网域] [--sport 埠口范围] [-d 目标IP/网域] [--dport 埠口范围] -j [ACCEPT|DROP|REJECT]
--sport 源端口范围:限制源端口的端口号码,可以是一段如:1:1024
--dport 目的端口范围:限制目的端口号码,可以为一段
如:# iptables -A INPUT -i eth0 -p udp --dport 137:139 -j ACCEPT ----接收eth0的udp端口为137,138,139的访问
但是以上两个参数必须在有-p udp或者-p tcp参数的命令里出现,并且可以使用--syn来对tcp的主动连接进行管控
=======================================================================================================
这里告诉大家个小秘密,如果对端主机禁止了icmp协议那么你ping他他一定不会返回任何信息,但是如果对方只是禁止了icmp的type=8则在抓包工具会发现收到 icmp数据包,并且type=3 code=3 所以
你懂的
=======================================================================================================
那么下面就把禁止关于icmp的类型8的命令拿出来
#
iptables -A INPUT [-p icmp] [--icmp-type 类型] -j ACCEPT
--icmp-type :后面必须要接 ICMP 的封包类型(如:echo request(类型8)),也可以使用代号
例如: #iptables -A INPUT -p icmp --icmp-type 8 -j DROP ----禁止icmp的type=8的数据包进入
=======================================================================================================
iptables基础基本就这些,下面将会介绍进阶阶段的iptables使用和iptables与一些模块的配合
版权声明:本文为博主原创文章,未经博主允许不得转载。
IPTABLES入门
标签:
原文地址:http://blog.csdn.net/bzfys/article/details/46988017
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!