第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. 死磕 java线程系列之ForkJoinPool深入解析

    (手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本. 注:本文基于ForkJoinPool分治线程池类. 简介 随着在硬件上多核处理器的发展和广泛使用,并发编程成为 ...

  2. mysql 5.6.44 zip 安装教程(基于windows )

    首先我们从官网下载最新版本的mysql 5.6.44版本,网页地址: ,我的电脑是64位的版本,所以我选择的是64位版本,如果是32位,根据实际情况下载所需要的安装包.

  3. [LINQ2Dapper]最完整Dapper To Linq框架(二)---动态化查询

    目录 [LINQ2Dapper]最完整Dapper To Linq框架(一)---基础查询 [LINQ2Dapper]最完整Dapper To Linq框架(二)---动态化查询 [LINQ2Dapp ...

  4. pat 1011 World Cup Betting(20 分)

    1011 World Cup Betting(20 分) With the 2010 FIFA World Cup running, football fans the world over were ...

  5. opencv各种小例子

    图像腐蚀 #include <opencv2/highgui/highgui.hpp>//OpenCV highgui 模块头文件 ~ #include <opencv2/imgpr ...

  6. Linux菜鸟——搭建虚拟机环境

    最近在学习Linux搭建服务器,但本人对于Linux一无所知,所以花了两天时间把安装,命令,控制,搭建环境等一系列操作都囫囵吞枣了一遍,但又怕自己记不住太多,所以记录下以前搭建的所有步骤,希望能提醒自 ...

  7. 【01】主函数main

    java和C#非常相似,它们大部分的语法是一样的,但尽管如此,也有一些地方是不同的. 为了更好地学习java或C#,有必要分清它们两者到底在哪里不同. 首先,我们将探讨主函数main. java的主函 ...

  8. 利用tomcat搭建图片服务器

    今天来教大家如何使用 tomcat 来搭建一个图片的服务器 1.先将tomcat解压一份并改名 2.此时apache-tomcat-8.5.43-windows-x64-file为图片服务器 依次打开 ...

  9. 扛把子组20191114-4 Beta发布用户使用报告

    此作业的要求参见:http://edu.cnblogs.com/campus/nenu/2019fall/homework/10007 小组情况: 队名:扛把子 组长:孙晓宇 组员:宋晓丽 梁梦瑶 韩 ...

  10. 2019-10-16:渗透测试,基础学习,burpsuit笔记

    maccms10后门分析下载网址,是假官网http://www.maccmsv10.com/download.htmlMaccms10基于php+mysql的maccms,是苹果的内容管理,方便使用, ...