iptables filter表案例、iptables nat表应用 使用介绍
第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表应用 使用介绍的更多相关文章
- iptables(一)iptables概念
为什么想写这个系列呢?openstack中的安全组.防火墙都是用iptables实现,后面的规则我们如果想要完全理解,不懂iptables的话,或者不精通iptables的话,会看的比较吃力.所以下定 ...
- Linux centos7iptables filter表案例、iptables nat表应用
一.iptables filter表案例 vim /usr/local/sbin/iptables.sh 加入如下内容 #! /bin/bash ipt="/usr/sbin/iptable ...
- iptables filter表 案例、iptables nat表的路由功能 、端口映射
1.小案例 #!/bin/bashipt="/usr/sbin/iptables"$ipt -F$ipt -P INPUT DROP$ipt -P OUTPUT ACCEPT$ip ...
- 四十七.iptables防火墙 filter表控制 扩展匹配 nat表典型应用
1.iptables基本管理 关闭firewalld,开启iptables服务 查看防火墙规则 追加.插入防火墙规则 删除.清空防火墙规则 1.1 关闭firewalld,启动iptables服务 ...
- iptables filter表小案例
案例1:把80端口,22端口,21端口放行 22端口指定IP访问,其它IP拒绝. shell脚本实现: [root@centos7 ~]# vim /usr/local/sbin/iptables.s ...
- iptables详解(2)表中规则管理(增删改查)
我们定义了四张表:raw表.mangle表.nat表.filter表,不同的表有不同的功能 filter表用来过滤,允许哪些ip.端口访问,禁止哪些ip.端口访问,表中会有很多链 ①禁止ip地址访问我 ...
- iptables实战系列:通过NAT转发实现私网对外发布信息
原文地址: http://os.51cto.com/art/201109/289486.htm [51CTO独家特稿]本文将介绍一个使用iptables实现NAT转发功能的案例. 本文假设读者已经对N ...
- iptables、防火墙配置、NAT端口映射
一,配置一个filter表放火墙 (1)查看本机关于IPTABLES的设置情况 [root@tp ~]# iptables -L -n Chain INPUT (policy ACCEPT) targ ...
- 【跟唐老师学习云网络】-第8篇 iptables - filter过滤功能
[摘要] 前面的各种协议已经可以把基本可用的物理网络世界给形成了,在正常情况下,它可以玩的很溜.比如组个局域网办公,或者打个联机魔兽争霸,都没有什么问题. 一.背景介绍 前面的各种协议已经可以把基本可 ...
随机推荐
- 死磕 java线程系列之ForkJoinPool深入解析
(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本. 注:本文基于ForkJoinPool分治线程池类. 简介 随着在硬件上多核处理器的发展和广泛使用,并发编程成为 ...
- mysql 5.6.44 zip 安装教程(基于windows )
首先我们从官网下载最新版本的mysql 5.6.44版本,网页地址: ,我的电脑是64位的版本,所以我选择的是64位版本,如果是32位,根据实际情况下载所需要的安装包.
- [LINQ2Dapper]最完整Dapper To Linq框架(二)---动态化查询
目录 [LINQ2Dapper]最完整Dapper To Linq框架(一)---基础查询 [LINQ2Dapper]最完整Dapper To Linq框架(二)---动态化查询 [LINQ2Dapp ...
- pat 1011 World Cup Betting(20 分)
1011 World Cup Betting(20 分) With the 2010 FIFA World Cup running, football fans the world over were ...
- opencv各种小例子
图像腐蚀 #include <opencv2/highgui/highgui.hpp>//OpenCV highgui 模块头文件 ~ #include <opencv2/imgpr ...
- Linux菜鸟——搭建虚拟机环境
最近在学习Linux搭建服务器,但本人对于Linux一无所知,所以花了两天时间把安装,命令,控制,搭建环境等一系列操作都囫囵吞枣了一遍,但又怕自己记不住太多,所以记录下以前搭建的所有步骤,希望能提醒自 ...
- 【01】主函数main
java和C#非常相似,它们大部分的语法是一样的,但尽管如此,也有一些地方是不同的. 为了更好地学习java或C#,有必要分清它们两者到底在哪里不同. 首先,我们将探讨主函数main. java的主函 ...
- 利用tomcat搭建图片服务器
今天来教大家如何使用 tomcat 来搭建一个图片的服务器 1.先将tomcat解压一份并改名 2.此时apache-tomcat-8.5.43-windows-x64-file为图片服务器 依次打开 ...
- 扛把子组20191114-4 Beta发布用户使用报告
此作业的要求参见:http://edu.cnblogs.com/campus/nenu/2019fall/homework/10007 小组情况: 队名:扛把子 组长:孙晓宇 组员:宋晓丽 梁梦瑶 韩 ...
- 2019-10-16:渗透测试,基础学习,burpsuit笔记
maccms10后门分析下载网址,是假官网http://www.maccmsv10.com/download.htmlMaccms10基于php+mysql的maccms,是苹果的内容管理,方便使用, ...