第7周第4次课(5月10日)

课程内容:

10.15 iptables filter表案例
10.16/10.17/10.18 iptables nat表应用

扩展
1. iptables应用在一个网段 http://www.aminglinux.com/bbs/thread-177-1-1.html
2. sant,dnat,masquerade http://www.aminglinux.com/bbs/thread-7255-1-1.html
3. iptables限制syn速率 http://www.aminglinux.com/bbs/thread-985-1-1.html

10.15 iptables filter表案例

案例需求:需要把80、22、21端口放行,但是22端口需要指定一个IP段,只有这个IP段的IP访问的时候才可以访问到,其他IP段的一概拒绝。

可以通过一个脚本实现,脚本其实就是批量执行一些命令。

操作实例如下:

vim /usr/local/sbin/iptables.sh  编辑这个文件,加入如下内容。

#! /bin/bash
ipt="/usr/sbin/iptables"  ipt定义一个变量,以全局的绝对路径方式。
$ipt -F  -F把之前的规则清空
$ipt -P INPUT DROP  把默认的策略定义一下
$ipt -P OUTPUT ACCEPT
$ipt -P FORWARD ACCEPT
$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT  
$ipt -A INPUT -s 192.168.133.0/24 -p tcp --dport 22 -j ACCEPT
$ipt -A INPUT -p tcp --dport 80 -j ACCEPT
$ipt -A INPUT -p tcp --dport 21 -j ACCEPT

PS:第一条规则目的是为了把相关数据包进行连接,通讯更加顺畅。

第二条规则指定IP段的数据包放行

第三条规则把80端口放行

第四条规则把21端口放行

因为有一个DROP,所以需要使用脚本,可以批量执行命令,如果不用脚本那么客户端就会断开。

ICMP案例  iptables -I INPUT -p icmp --icmp-type 8 -j DROP  可以ping通公网,但是无法ping本机IP,主要实现的目的就是禁止ping本机,type 8表示有8种类型。

10.16/10.17/10.18 iptables nat表应用

需求1:可以让B机器连接外网

操作实例如下:

1、首先需要准备2台机器并配置网卡,可以在虚拟机jimmylinux-001上面添加一个虚拟网卡。

按照默认方式添加后点完成

按如下图顺序操作

2、同样把jimmylinux-002添加一块虚拟网卡,方法同上,需要特别注意的是2台机器必须要选择同一个区段,同一个交换机。

添加完2台机器的虚拟网卡后都需要重启系统,重启好后再连接查看网卡信息。

需要给ens37网卡添加一个IP地址,我们可以通过命令方式修改IP或者copy一份ens33网卡配置文件修改IP和netmask即可。

[root@jimmylinux-002 ~]# ifconfig ens37 192.168.100.1/24  手动命令行方式修改IP

这个IP重启系统就自动失效了,如果想永久生效,就是copy一份ens33的网卡配置文件并修改IP。

第二台机器因为把网卡连接断开了,所以无法直接从远程终端登录,只能够到VMware虚拟机登录。

登录后同样使用命令行方式修改ens37网卡的IP

下面开始排查无法ping通A机器的问题

在虚拟机先看看B机器是否可以ping通自己

然后在远程终端看看A机器ens37网卡状态

[root@jimmylinux-002 ~]# ifconfig ens37 192.168.100.1/24  重新使用命令指定IP

[root@jimmylinux-002 ~]# ping 192.168.100.100  再ping  B机器就可以ping通了

同样在虚拟机上面ping  A机器也可以ping通了

通过上面的操作,已经把准备工作做好了。

1、要想使用nat表网络转发,必须要修改内核参数,默认这个文件/proc/sys/net/ipv4/ip_forward是0,如果是0表示它没有开启内核转发。

2、增加一条规则,有了这条规则就可以实现上网了。

[root@jimmylinux-002 ~]# iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE

这条规则就是想让192.168.100.0这个网段能够上网

3、B机器上需要设置网关为192.168.100.1

再去ping A机器的ens33网卡IP就可以ping通了

在B机器上面修改vi /etc.resolve.conf 添加DNS nameserver  119.29.29.29保存退出

如果可以ping通119.29.29.29或www.qq.com,就说明可以访问公网了。

在这个场景里面,A机器就好比路由器,B机器就是客户端,比如是手机。

需求2:C机器只能和A通信,让C机器可以直接连通B机器的22端口

在cmd里面ping B机器还是不通,每次操作都需要在虚拟机操作太麻烦,我想在远程终端登录,这个时候既然不能够直接连接192.168.100.100,但是可以连接192.168.52.129,A机器可以连,那我可以通过A机器跳转到B机器做一个跳转,这个就叫端口隐射。

1、第一步同样是打开端口转发

2、添加规则,但是需要把先前添加的规则删除,避免影响到现在的操作。

[root@jimmylinux-002 ~]# iptables -t nat -D POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE

删除之前的规则后重新添加新的规则,把进来的包做一个转发,到100.100:22端口。

[root@jimmylinux-002 ~]# iptables -t nat -A PREROUTING -d 192.168.52.129 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22

在添加一个回来的包的规则

[root@jimmylinux-002 ~]# iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.52.129

从100.100回来的包经过A机器再做一个SNAT操作,把目标地址改成192.168.52.129

3、在B机器上面添加网关192.168.100.1 需求1已经添加,所以这里不用在添加了。

都设置好以后,在使用远程终端连接,如果可以连接成功并且能够ping通公网www.qq.com 说明实验成功。

iptables filter表案例、iptables nat表应用 使用介绍的更多相关文章

  1. iptables(一)iptables概念

    为什么想写这个系列呢?openstack中的安全组.防火墙都是用iptables实现,后面的规则我们如果想要完全理解,不懂iptables的话,或者不精通iptables的话,会看的比较吃力.所以下定 ...

  2. Linux centos7iptables filter表案例、iptables nat表应用

    一.iptables filter表案例 vim /usr/local/sbin/iptables.sh 加入如下内容 #! /bin/bash ipt="/usr/sbin/iptable ...

  3. iptables filter表 案例、iptables nat表的路由功能 、端口映射

    1.小案例 #!/bin/bashipt="/usr/sbin/iptables"$ipt -F$ipt -P INPUT DROP$ipt -P OUTPUT ACCEPT$ip ...

  4. 四十七.iptables防火墙 filter表控制 扩展匹配 nat表典型应用

    1.iptables基本管理 关闭firewalld,开启iptables服务 查看防火墙规则 追加.插入防火墙规则 删除.清空防火墙规则   1.1 关闭firewalld,启动iptables服务 ...

  5. iptables filter表小案例

    案例1:把80端口,22端口,21端口放行 22端口指定IP访问,其它IP拒绝. shell脚本实现: [root@centos7 ~]# vim /usr/local/sbin/iptables.s ...

  6. iptables详解(2)表中规则管理(增删改查)

    我们定义了四张表:raw表.mangle表.nat表.filter表,不同的表有不同的功能 filter表用来过滤,允许哪些ip.端口访问,禁止哪些ip.端口访问,表中会有很多链 ①禁止ip地址访问我 ...

  7. iptables实战系列:通过NAT转发实现私网对外发布信息

    原文地址: http://os.51cto.com/art/201109/289486.htm [51CTO独家特稿]本文将介绍一个使用iptables实现NAT转发功能的案例. 本文假设读者已经对N ...

  8. iptables、防火墙配置、NAT端口映射

    一,配置一个filter表放火墙 (1)查看本机关于IPTABLES的设置情况 [root@tp ~]# iptables -L -n Chain INPUT (policy ACCEPT) targ ...

  9. 【跟唐老师学习云网络】-第8篇 iptables - filter过滤功能

    [摘要] 前面的各种协议已经可以把基本可用的物理网络世界给形成了,在正常情况下,它可以玩的很溜.比如组个局域网办公,或者打个联机魔兽争霸,都没有什么问题. 一.背景介绍 前面的各种协议已经可以把基本可 ...

随机推荐

  1. vue2.0 与 vue3.0 配置的区别

    提示:要了解vue2.0与vue3.0区别,首先你要熟悉vue2.0 从最明显最简单的开始 项目目录结构 可以明显的看出来,vue2.0与3.0在目录结构方面,有明显的不同(vue3.0我是安装了cs ...

  2. Web for pentester_writeup之File Upload篇

    Web for pentester_writeup之File Upload篇 File Upload(文件上传) Example 1 直接上传一句话木马,使用蚁剑连接 成功连接,获取网站根目录 Exa ...

  3. 地精部落:dp

    Description 传说很久以前,大地上居住着一种神秘的生物:地精. 地精喜欢住在连绵不绝的山脉中.具体地说,一座长度为 N 的山脉 H可分 为从左到右的 N 段,每段有一个独一无二的高度 Hi, ...

  4. 网站安全配置Nginx防止网站被攻击

    https://blog.csdn.net/u011078940/article/details/51426288

  5. 使用Typescript重构axios(十七)——增加axios.create接口

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  6. Win7安装解压版MySQL

    1.下载MySQL 访问https://dev.mysql.com/downloads/mysql/5.6.html#downloads,下载操作系统对应的版本(无账号需先注册一个),以mysql-5 ...

  7. Medium高赞系列,如何正确的在Stack Overflow提问

    在我们写程序的时候,经常会遇到各色各样的问题,在国内,小伙伴们经常去知乎.CSDN.博客园.思否.安卓巴士等地方提问并获得答案. 这些地方汇集了很多优秀的.爱分享的国内资源.小编比较自豪的一件事情就是 ...

  8. 【集合系列】- 深入浅出分析Collection中的List接口

    一.List简介 List 的数据结构就是一个序列,存储内容时直接在内存中开辟一块连续的空间,然后将空间地址与索引对应. 以下是List集合简易架构图 由图中的继承关系,可以知道,ArrayList. ...

  9. Md5实例

    MD5实例 我的md5源码 当我们对数据进行操作时,存储到数据库时,有时候不希望别人能够看到,通过md5能够实现对数据的加密. java代码 ```javaimport org.springframe ...

  10. Weblogic 12c 的 Apache HTTP Server 整合插件(Plug-In)下载地址

    资料来源:到哪里下载Weblogic 12c 的Plug-In 为 Apache HTTP Server 摘录如下: 最新的Weblogic 12c不再为 Apache HTTP Server提供缺省 ...