设有一台Linux服务器,利用iptables作为防火墙,要求新建一条名为MYCHAIN的新链,来实现只允许开放本机的http服务,其余协议和端口均拒绝。

脚本:

[root@miyan ~]# cat newchain.sh
#!/bin/bash
#清除filter表中规则
iptables -F
#删除filter表中自定义的链
iptables -X
#自定义名字为MYCHAIN的链
iptables -N MYCHAIN
#MYCHAIN链中追加一条规则,功能为接收协议为TCP且目标端口为80的数据包
iptables -A MYCHAIN -p tcp --dport -j ACCEPT
#在MYCHAIN链中追加一条规则,返回调用该链出的下一条规则。
iptables -A MYCHAIN -j RETURN #将INPUT链的默认处理策略设置为DROP
iptables -P INPUT DROP
#接收本机环回测试的数据包进入
iptables -A INPUT -i lo -j ACCEPT
#在INPUT链中追加一条规则,功能为跳转到MYCHAIN链中去执行其中的规则
iptables -A INPUT -j MYCHAIN
#在INPUT链中追加一条规则,功能是将访问本机TCP端口22的数据包记录到日志中,并在日志中加入前缀"<--my GO ON-->"
iptables -A INPUT -p tcp --dport -j LOG --log-prefix "<--my GO ON-->"
#设置OUTPUT链的默认处理策略为DROP
iptables -P OUTPUT DROP
#在OUTPUT链中追加一条规则,放行协议为TCP且源端口为80的数据包
iptables -A OUTPUT -p tcp --sport -j ACCEPT
iptables -L

分析:(1)前两条规则清空filter表中所有的规则,并删除了所有自定义的链,设置一个干净的环境。

   (2)接下来的四条规则自定了一条链MYCHAIN,此时仅仅是定义了,并未发挥作用。

   (3)iptables -A INPUT -i lo -j ACCEPT开放本机环回测试网卡进入的数据包

   (4)iptables -A INPUT -j MYCHAIN来调用前面定义的链MYCHAIN,类似于函数调用。

   (5)当在MYCHAIN链中执行到“-j RETURN”时流程返回到调用处继续匹配主链的规则,将访问本机22端口的数据包计入到日志中/var/log/messages.

   (6)iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT设置了针对本机发出(OUTPUT链)的数据包的限制

iptables练习题(四)的更多相关文章

  1. Linux对外提供服务 网络操作 端口操作 1.开启服务监听端口 2.设置防火墙,放行访问端口的包 iptables&netfilter 四表五链和通堵策略

    主题: Linux服务器上软件提供服务 1.网络操作 2.端口操作 1.网络操作 本机必须能够ping通目标主机(本地虚拟机或者远程主机) 2.端口操作 1.开启服务监听端口 2.设置防火墙,放行访问 ...

  2. IPtables 之“四表五链”

    目录 架构图 IP tables 简介 包过滤防火墙 Iptables如何过滤 "四表" "五链" Iptables流程 架构图 公司架构模式(酒店迎宾比喻) ...

  3. iptables的四表五链

    iptables只是Linux防火墙的管理工具而已,位于/sbin/iptables.真正实现防火墙功能的是netfilter,它是Linux内核中实现包过滤的内部结构. iptables包含4个表, ...

  4. iptables(四)iptables匹配条件总结之一

    经过前文的总结,我们已经能够熟练的管理规则了,但是我们使用过的"匹配条件"少得可怜,之前的示例中,我们只使用过一种匹配条件,就是将"源地址"作为匹配条件. 那么 ...

  5. python3练习题四

    循环 题目: 答案: #!/usr/bin/env python3 #-*- coding:utf-8 -*- L = ['Bart', 'Lisa', 'Adam'] for i in L: pri ...

  6. iptables详解(2):四表五链

    关于iptables中“四表五链”,我们今天来好好唠唠: 1.表的概念: 我们把具有相同功能的规则的集合叫做"表",所以说,不同功能的规则,我们可以放置在不同的表中进行管理,而ip ...

  7. 第三十四章 Linux常规练习题(一)参考答案

    一.练习题一 1.超级用户(管理员用户)提示符是___#_,普通用户提示符是___$_. 2.linux关机重启的命令有哪些 ? 关机命令 重启命令 shutdown -h now shutdown ...

  8. iptables原理

    1.iptables防火墙简介 Iptables也叫netfilter是Linux下自带的一款免费且优秀的基于包过滤的防火墙工具,它的功能十分强大,使用非常灵活,可以对流入.流出.流经服务器的数据包进 ...

  9. iptables日志探秘

    iptables日志探秘 防火墙的主要功能除了其本身能进行有效控制网络访问之外,还有一个很重要的功能就是能清晰地记录网络上的访问,并自动生成日志进行保存.虽然日志格式会因防火墙厂商的不同而形态各异,但 ...

随机推荐

  1. 删除Win10的自带应用

    显示 Get-AppxPackage | Select Name, PackageFullName 按关键字删除 Get-AppxPackage *camera* | Remove-AppxPacka ...

  2. quick-cocos2d-x 创建自定义lua绑定c++类

    内容主要参考 “在quick-cocos2d-x中添加自定义的类给lua使用” ( http://www.codeo4.cn/archives/746) 1. quick-coco2d-x 使用 to ...

  3. Flume示例

    建议参考官方文档:http://flume.apache.org/FlumeUserGuide.html 示例一:用tail命令获取数据,下沉到hdfs 类似场景: 创建目录: mkdir /home ...

  4. 批量上传文件到HDFS的Shell脚本

    在做Hadoop数据挖掘项目的时候,我们第一步是源数据的获取,即把相应的数据放置到HDFS中,以便Hadoop进行计算,手动将文件上传到HDFS中,未免太费时费力,所以我们可以采取像Flume一样的框 ...

  5. c# @符号后面对 双引号转义

    本文讲述c#中如何转义双引号. c#中转义双引号",使用的转义字符仍然是\. string str = "\"www.itjsxx.com\""; 但 ...

  6. Lenna图-莱娜·瑟德贝里

    莱娜·瑟德贝里(瑞典文:Lena Soderberg),1951年3月31日出生于瑞典,在1972年11月期的<花花公子>杂志中,她化名为莱娜·舍布洛姆,成为了当期的玩伴女郎. 她的中间折 ...

  7. WPF实用知识点

    1.一个基本的WPF程序, 需要引入的程序集WindowsBase, PresentationCore, PresentationFramework using System; using Syste ...

  8. Django model 改成中文标题

    class Tag(models.Model): title = models.CharField(max_length=30) def __str__(self): return self.titl ...

  9. iOS开发:iPhone6、6 plus适配

    本文转载至 http://jingyan.baidu.com/article/8cdccae97a5c2b315413cda9.html 1 2 3 4 5 6 7 分步阅读 随着苹果公司持续推出新产 ...

  10. java jdk 1.6 下载

    http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-41940 ...