[首页]
[文章]
[教程]
首页
Web开发
Windows开发
编程语言
数据库技术
移动平台
系统服务
微信
设计
布布扣
其他
数据分析
首页
>
其他
> 详细
IPTABLES入门
时间:
2015-07-21 17:01:48
阅读:
105
评论:
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年09月23日 (328)
2021年09月24日 (313)
2021年09月17日 (191)
2021年09月15日 (369)
2021年09月16日 (411)
2021年09月13日 (439)
2021年09月11日 (398)
2021年09月12日 (393)
2021年09月10日 (160)
2021年09月08日 (222)
最新文章
更多>
2021/09/28 scripts
2022-05-27
vue自定义全局指令v-emoji限制input输入表情和特殊字符
2022-05-27
9.26学习总结
2022-05-27
vim操作
2022-05-27
深入理解计算机基础 第三章
2022-05-27
C++ string 作为形参与引用传递(转)
2022-05-27
python 加解密
2022-05-27
JavaScript-对象数组里根据id获取name,对象可能有children属性
2022-05-27
SQL语句——保持现有内容在后面增加内容
2022-05-27
virsh命令文档
2022-05-27
教程昨日排行
更多>
1.
list.reverse()
2.
Django Admin 管理工具
3.
AppML 案例模型
4.
HTML 标签列表(功能排序)
5.
HTML 颜色名
6.
HTML 语言代码
7.
jQuery 事件
8.
jEasyUI 创建分割按钮
9.
jEasyUI 创建复杂布局
10.
jEasyUI 创建简单窗口
友情链接
汇智网
PHP教程
插件网
关于我们
-
联系我们
-
留言反馈
- 联系我们:wmxa8@hotmail.com
© 2014
bubuko.com
版权所有
打开技术之扣,分享程序人生!