iptables nat表含义_十(4)iptables语法、iptables filter表小案例、iptables nat表应用

iptables语法

filter表:

INPUT链:作用于进入本机的包

OUTPUT链:作用于送出本机的包

FORWARD链:作用于和本机无关的包

nat表:

PREROUTING链:作用是包在刚刚到达防火墙时改变包的目标地址

OUTPUT链:改变本地产生的包的目标地址

POSTROUTING链:作用是在包将离开防火墙时改变包源地址

1.查看iptables规则

iptables -nvL  (此时默认查看filter表,加选项 -t 可以指定表 iptables -t nat -nvL)

(规则的保持路径: /etc/sysconfig/iptables

)

把所有规则清空 iptables -F:(/etc/sysconfig/iptables仍然是保存着的)

保存默认规则到配置文件(/etc/sysconfig/iptables)

重启一下服务:service iptables restart (因为刚刚删除了规则:iptables -F ,需要重启加载。否则无东西可保持!)

执行:service iptables save     保存

当我们添加规则的时,如果需要保存到配置文件需要保存操作(service iptables save),否则只是保持在当前的内存中。

2. iptables -Z  把计数器清零 (因为每时每刻都是在通信,数据清零一会又会有数据)

iptables -Z; iptables -nvL

3.增加/删除一条规则:

-A/-D  表示增加或删除一条规则

-I :     表示插入一条规则

-p   :  指定协议(tcp、udp、icmp)

--dport   和-p一起使用,指定目标端口  (使用dport必须使用-p指定协议)

--sport    和-p一起使用,指定源端口   (使用dport必须使用-p指定协议)

-s            表示指定源IP

-d           表示指定目标ip

-j     后面加动作: (1)ACCEPT  允许包  (2)DROP 丢掉包 (3)REJECT 拒绝包

-i   指定网卡

(DROP 丢掉包 和 REJECT 拒绝包 :效果一样,DROP 丢掉包,直接把包丢弃;REJECT 拒绝包 :分析过再拒绝)

(3.1)增加规则

如:

(操作默认表filter)

iptables -A INPUT -s 192.168.136.1 -p tcp --sport 1234 -d 192.168.136.123 --dport 80 -j DROP

iptables -I INPUT -p tcp --dport 80 -j DROP

(-I 和-A 的区别 ,-I把规则插入到最前面,-A把规则添加到最后,在过滤时,先执行最前面的)

(3.2)删除规则 -D

1.(记得规则前提下删除规则,直接把选项加-D)

iptables -D INPUT -s 192.168.136.1 -p tcp --sport 1234 -d 192.168.136.123 --dport 80 -j DROP

iptables -D INPUT -p tcp --dport 80 -j DROP

(2)不记得规则命令时删除规则方法:

a.把规则的序列号打印出来 iptables -nvL --line-number

b.针对规则编号进行删除

iptables -D INPUT 规则编号

iptables -D INPUT  1

iptables -nvL 可以看到链的默认策略

通过-P 可以改链的策略(千万不要执行)

iptables -P OUTPUT DROP

(如果执行了这个命令,则我们远程连接就会链接不上,因为我们的包不能正常的返回给我们)

iptables filter表小案例

需求:对filter表开放22端口、80端口、 21端口,INPUT链:DROP ,OUTPUT链和FORWARD链:ACCEPT,22端口只针对192.168.136.0/24开通,所有网段开发80端口、 21端口。

(这条规则必须要写,不然后面的80端口和21端口无法取得包)

看结果:

icmp示例

iptables -I INPUT -p icmp --icmp-type 8 -j DROP

执行命令后,只能ping通外网,别人不能ping通我们的本机(禁ping作用)

命令的 8 是指能在本机ping 同其他机器,而其他机器不能ping通本机。

ptables nat表应用

(一).首先准备两台机器(让A\B能相连)

先在两台机器都添加多一个网络适配器

步骤 :

第一台机器  编辑虚拟机设置 -->添加-->网络适配器-->选中右边LAN(图中操作)-->选中我们定义的LAN区段--->确认

(LAN相当于网卡选到一个内网交换机上,但此时我们的window机连不上这个交换机)

第二台机器:(也是添加一个网络适配器,因为原机器上已经配置了一个ip)

(首先把原来网络适配器设备状态 启动时连接 选项取消,(此时ip不存在,不能再远程连接)。再开始添加网络适配器)

启动两台机器

第一台机器:(查看一下ip,ifconfig)

1.  设置ip

方法一:(步骤和设置虚拟网卡一样)

(1)先复制一份配置文件 cp  /etc/sysconfig/network-scripts/ifcfg-ens33  /etc/sysconfig/network-scripts/ifcfg-ens37

(2) 修改配置文件 vim /etc/sysconfig/network-scripts/ifcfg-ens37

(3)保存退出

方法二:(临时生效)

命令:ifconfig ens37 192.168.100.1/24 (临时设置,重启消失)

第二台机器(B )

(我们在设置网络适配器时已经取消它开机启动,使用命令

ifdown ens33 是为更保险的down掉ens33网卡对实现的影响)

1.设置ip

方法如上第一台机器

设置ip为 ifconfig ens37 192.168.100.100/24

配置完了ip 测试两台机器相ping是否通:

A机器:

ping 192.168.100.100

查看配置的网卡是否有问题方法:

(1)ping 自己的ip

(2)mii-tool 网卡名(mii)

(以上准备工作已经实现A,B两台机器可以通信,能相互ping通)

(二)

1.A机器修改一下配置文件,开启内核转发

内核参数配置文件: /proc/sys/net/ipv4/ip_forward

默认内容为:“0” 表示没有开启内核转发

把配置文件中的"0"改为1 开启内核转发

echo "1" >/proc/sys/net/ipv4/ip_forward

2.A实现设置的网段能上网

iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE

3. B上设置网关为192.168.100.1

(数据包要想从B-->A ,必须设置一个网关)

查看网关命令: route -n

还没网关

设置网关:route add default gw 192.168.100.1 (A机器的网卡ens37的ip)

route add default gw 192.168.100.1

接着测试 是否能ping同A机器的ens33,同则证明能外网/公网通信

设置DNS 链接到网络上

vi /etc/resolv.conf

添加内容保存: nameserver 119.29.29.29

保存后测试是否能ping通外网:ping www.baidu.com

(实验不能ping通外网,可能是和我的网络环境(实验时我用的网络是手机热点),但是此时我能ping通A机器的ens33和ping通网关就行了)

应用需求二:

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

A上打开路由转发echo "1">/ proc/sys/net/ipv4/ip_forward

A上执行iptables -t nat -A PREROUTING -d 192.168.133.130 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22

A上执行iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.136.133

B上设置网关为192.168.100.1

(其实就是端口映射)

1.A上打开端口转发

echo "1">/ proc/sys/net/ipv4/ip_forward

2.删除需求一的nat表的设置,让它恢复为空:

执行命令:iptables -t nat -D POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE

(因之前操作过:iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE)

3.向nat表添加操作:

(3.1)A上执行

iptables -t nat -A PREROUTING -d 192.168.136.133 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22   (实现把进来的包通过端口映射转发到22端口)

(3.2)A上执行

iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.136.133 (返回的包,进行SNAT操作)

4.给B机器加上网关(必须要设置网关)

route add default gw 192.168.100.1

5.测试,使用192.168.136.133 /1234端口远程连接B机器

(实验不成功)

iptables规则备份和恢复

1. service iptables save //命令会把规则保存到 /etc/sysconfig/iptables

根据自己的需求把iptables规则保存到指定的文件中:

步骤:iptables-save > /自定义文件

iptables-save >/tmp/ipt.txt

恢复保存的规则:

iptables-restore < /保存的文件

iptables-restore

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/573529.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言Max错误,C语言编程常见错误.pdf

C 语言常见错误版权声明&#xff1a;以下内容来自互联网C 语言的最大特点是&#xff1a;功能强、使 方便灵活。C 编译的程序对语法检查并不象其它高级语言那么严格&#xff0c;这就给编程人员留下 “灵活的余地”&#xff0c;但还是由于这个灵活给程序的调试带来了许多不便&…

算法训练 连续正整数的和

问题描述78这个数可以表示为连续正整数的和&#xff0c;123&#xff0c;18192021&#xff0c;252627。输入描述输入一个正整数 n(<10000)输出描述输出 m 行(n有m种表示法)&#xff0c;每行是两个正整数a&#xff0c;b&#xff0c;表示a(a1)...bn。对于多种表示法&#xff0c…

android libev 编译,libev-4.20编译安装及简单使用

1.源码下载地址:链接&#xff1a;https://pan.baidu.com/s/1fxotILo3oTMC65z4qFAh9Q 密码&#xff1a;oc312.库的编译与安装解压文件&#xff0c;进入文件目录编译的时候需要首先切换为管理员(root)账户&#xff0c;然后执行以下命令&#xff1a;./configuremakemake install编…

android系统源码的环境下用make来编译,Android源码编译系统入门

做过 Android 平台开发的朋友对make&#xff0c;mm或make clean命令应该很熟悉&#xff0c;但也许大家只是熟知这些命令的作用却不知道这些命令底下有些什么原理&#xff1f;那么今天我就带着大家推开Android编译系统的大门&#xff0c;探索一下这片未知的恐怖之森(问啥要用恐怖…

bootsrap 外边距_Bootstrap CSS 概览

Bootstrap CSS 概览在这一章中&#xff0c;我们将讲解 Bootstrap 底层结构的关键部分&#xff0c;包括我们让 web 开发变得更好、更快、更强壮的最佳实践。HTML 5 文档类型(Doctype)Bootstrap 使用了一些 HTML5 元素和 CSS 属性。为了让这些正常工作&#xff0c;您需要使用 HTM…

jstl表达式替换某些字符

转自:http://www.yiibai.com/jsp/jstl_function_replace.html fn:replace() 函数替换一个字符串与另一个字符串的所有匹配。 语法 fn:replace () 函数语法如下&#xff1a; boolean replace(java.lang.String, java.lang.String, java.lang.String) 例子&#xff1a; 下面是一个…

android socket 闪退,android客户端闪退

老师&#xff0c;我把客户端的代码放在android程序里&#xff0c;给一个button监听事件&#xff0c;就是调用这个socket方法&#xff0c;但是一点button就闪退了&#xff0c;没连接上~protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState)…

(mac)阿里云ECS服务器配置过程

-----首先本人是半只脚入门的iOS开发者&#xff0c;弄这个只是单纯想多学点东西。 -----阿里云服务器的配置选择&#xff1a;既然是学习用的&#xff0c;最最基础的配置就行了。1M带宽&#xff0c;1核1G...这就不详述了。没啥可选的&#xff0c;&#xff08;其中有个创建实例&a…

android 换到iphone,从安卓换到苹果到底是什么感受?最后一个让我彻底放弃了iPhone!...

原标题&#xff1a;从安卓换到苹果到底是什么感受&#xff1f;最后一个让我彻底放弃了iPhone&#xff01;iPhone X是近几年来苹果最具创新力的iPhone&#xff0c;然而高昂的售价让很多消费者望而却步。随着今年苹果秋季新品发布会的临近&#xff0c;苹果即将发布价格更低廉&…

mac谷歌浏览器怎么登陆账户_mac怎么下chrome浏览器

mac怎么下chrome浏览器&#xff1f;首先打开Safari浏览器百度搜一下谷歌浏览器官网&#xff0c;进入官网页面下载或者也可以直接打开下面的网址进入官网https://www.google.cn/intl/zh-CN/chrome/点击网页上的”下载Chrome“弹出提示&#xff0c;选择”接受并安装“等待软件下载…

php 5.5 xhprof for windows

今天看到一个好的性能优软件xhprof&#xff08;有facebook开发的类库)在国内找了很多网站都没有找到相关php5.5的扩展&#xff0c;只好FQ还是外面的世界精彩一下就找到了link (http://windows.php.net/downloads/pecl/releases/xhprof/0.10.6/)如果不能FQ的小伙伴可以到我的百度…

鸿蒙分布式体验,一张图看懂鸿蒙OS 2.0 分布式能力升级构筑全场景体验

原标题&#xff1a;一张图看懂鸿蒙OS 2.0 分布式能力升级构筑全场景体验【手机中国新闻】9月10日下午&#xff0c;华为召开HDC2020大会&#xff0c;全新的HarmonyOS 2.0正式发布。新系统的分布式能力全面升级&#xff0c;同时还为开发者提供了完整分布式设备与应用开发生态&…

怎么卸载python 旧版本_Python 如何移除旧的版本特性,如何迎接新的特性?

2020 年 4 月 20 日&#xff0c;Python 2 的最后一个版本 2.7.18 发布了&#xff0c;这意味着 Python 2 是真正的 EOL(end of life)了&#xff0c;一个时代终于落幕了。Python 2.0 版本是在 2000 年发布的&#xff0c;至今正好到 20 周年(差半年)&#xff0c;一代版本竟然持续了…

如何在android模拟器中安装apk

1. 启动android模拟器 2. 将要安装的apk&#xff0c;拷贝在与adb.exe同文件夹中。我的路径&#xff1a;D:\android\android-sdk-windows\platform-tools 3. 在cmd中&#xff0c;进入上目录&#xff0c;输入adb install xxx.apk&#xff0c;最后可看见success 4. 回到android模拟…

android 本地图片分享,Android 把图片保存到本地相册

【实例简介】把图片保存到本地相册,实现本地相册资源同步化【实例截图】【核心代码】Scanner└── Scanner├── AndroidManifest.xml├── bin│ ├── AndroidManifest.xml│ ├── classes│ │ └── com│ │ └── housheng│ │ └── scanner│…

python工厂模式 取代__init___浅析Python 简单工厂模式和工厂方法模式的优缺点

前言在《设计模式》一书中工厂模式提到了&#xff1a;工厂方法模式(Factory Method)抽象工厂模式 (Abstract Factory)但是在实际过程中还有一种工厂模式经常被使用&#xff0c;那就是 简单工厂模式(SimpleFactory)。有一种常见的分类的方法&#xff1a;根据产品是由具体产品还是…

LaTeX 的对参考文献的处理

LaTeX 的对参考文献的处理实在是非常的方便&#xff0c;我用过几次&#xff0c;有些体会&#xff0c;写出来供大家 参考。当然&#xff0c;自己的功力还不够深&#xff0c;有些地方问题一解决就罢手了&#xff0c;没有细究。LaTeX 对参考文献的处理有这么一些优点&#xff1a;1…

android 拦截外拨电话,Android拦截外拨电话程序示例

拦截监听外拨的电话,并进行处理:向外拨打电话时系统会发出一个有序广播&#xff0c;虽然该广播最终会被拔号器里的广播接收者所接收并实现电话拔打&#xff0c;但我们可以在广播传递给拔号广播接收者之前先得到该广播&#xff0c;然后清除传递给拔号广播接收者的电话号码&#…

linux下达梦数据库启动_linux上安装tomcat和达梦数据库

环境&#xff1a;系统&#xff1a;红帽linux企业版4(红旗LINUX也是一样&#xff0c;会更简单)jakarta-tomcat-5.0.28.tar.gz(二进制源码)jdk-1_5_0_15-linux-i586-rpm.bin(RPM包)达梦数据库目的&#xff1a;大部分政分机关&#xff0c;大型企事业单位都用LINUX作为服务器&#…

传感器系列之4.3流量传感器

4.3 流量数据采集实验 一、实验目的掌握水流量计的结构与工作原理掌握霍尔传感器的使用二、实验材料具有USB 串口通讯的PC 机1 台ADS1.2 集成开发软件1 套J-Link-ARM 仿真器及软件1 套NXP LPC2378 实验节点板1 个LCD 显示实验板1 个BMP085数字气压传感器模块1个三、实验原理流量…