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过滤功能
[摘要] 前面的各种协议已经可以把基本可用的物理网络世界给形成了,在正常情况下,它可以玩的很溜.比如组个局域网办公,或者打个联机魔兽争霸,都没有什么问题. 一.背景介绍 前面的各种协议已经可以把基本可 ...
随机推荐
- html获得当前日期
<html> <head> <title> </title> </head> <body> <!-- 获得当前日期(年月日 ...
- 《Effective Java》 读书笔记(七)消除过期的对象引用
大概看了一遍这个小节,其实这种感觉体验最多的应该是C/C++程序,有多杀少个new就得有多个delete. 一直以为Java就不会存在这个问题,看来是我太年轻. 感觉<Effective Jav ...
- 关于JQUery.parseJSON()函数的知识札记
JSON数据也许大家都很陌生,而对我来讲属于半成品,由于项目问题,做web虽然用的是JSON数据格式传输,但是关于解析这一块还真不知道该注意什么,更不知道它是如何解析的,由于最近要把串口通信协议与此一 ...
- 前端与算法 leetcode 350. 两个数组的交集 II
目录 # 前端与算法 leetcode 350. 两个数组的交集 II 题目描述 概要 提示 解析 解法一:哈希表 解法二:双指针 解法三:暴力法 算法 # 前端与算法 leetcode 350. 两 ...
- CSPS模拟 78
大敛好稳啊..居然在模拟赛拿了540.. 有点畏惧.jpg 而我就是什么什么不行级人物了.. 真正在联赛拉开那么多分怎么追啊.. T1kmp?hash? T2 概率小到炸精时,对答案也就没贡献了 然后 ...
- tarjan学习(复习)笔记(持续更新)(各类找环模板)
题目背景 缩点+DP 题目描述 给定一个n个点m条边有向图,每个点有一个权值,求一条路径,使路径经过的点权值之和最大.你只需要求出这个权值和. 允许多次经过一条边或者一个点,但是,重复经过的点,权值只 ...
- UiPath之Word转换为PDF
前几天在手机上看到其他的文章,里面提到如何将Word转换为PDf,在UiPath的ManagePackage中,下载一个WordToPDF的包, 我按照上面的方法试着做了一下,但是在转换的时候很不稳定 ...
- Box 黑科技 —— 支持手机端反编译 !Box 黑科技 —— 支持手机端反编译 !
项目地址: Box 文末扫码获取最新安装包 . 前言 有将近一个月没有更新文章了,一方面在啃 AOSP ,消化起来确实比较慢.在阅读的过程中,有时候上来就会陷入源码细节,其实这是没有必要的.刚开始更多 ...
- getchar()用法 【转】
1.从缓冲区读走一个字符,相当于清除缓冲区 2.前面的scanf()在读取输入时会在缓冲区中留下一个字符'\n'(输入完s[i]的值后按回车键所致),所以如果不在此加一个getchar()把这个回车符 ...
- ES6学习笔记01 -- 暂时性死区 ( temporal dead zone )
参考文档: let 和 const 命令 - ECMAScript6入门 暂时性死区(temporal dead zone) 理解ES6中的TDZ(暂时性死区) ES6 中 let 暂时性死区详解 ...