Iptables防火墙(SNAT和DNAT)
1、SNAT:源地址转换
实现内网访问外网,修改IP地址,使用POSTROUTING
命令:iptables -t nat -A POSTROUTING -s 192.168.1.10/24 -j SNAT --to-source 202.1.1.1
2、MASQUERADE:地址伪装
适用于外网ip地址非固定的情况
将SNAT规则改为MASQUERADE即可
命令:iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
3、DNAT:目标地址转换
实现发布公司内部服务器,修改目标地址,使用PREROUTING
命令:iptables -t nat -A PREROUTING -d 202.1.1.1 -p tcp --dport 8080 -j DNAT -to 192.168.1.100:80
4、备份和还原规则:
备份:
1)iptables-save > 文件
导出到指定文件
2)service iptables save
导出到/etc/sysconfig/iptables
重启自动加载
还原:
1)iptables-restore < 文件名
2)service iptables restart
从默认文件/etc/sysconfig/iptables还原
5、iptables脚本编写
1)定义变量
2)加载必要的模块
modprobe ip_nat_ftp ftp地址转换模块
modprobe ip_conntrack_ftp ftp连接状态跟踪
lsmod 查看已加载的模块
3)调整内核参数:
启用内核转发功能:有三种方式(详见第十章笔记的第8点)
4)编写防火墙的规则
6、防火墙的类型:
主机型防火墙:针对本机进行保护,使用filter表中的INPUT、OUTPUT链
网络型防火墙:对内、外网转发进行保护,使用filter表中FORWARD链
Iptables防火墙(SNAT和DNAT)应用示例
实验拓扑图:

实验要求:
1、 如图所示,将网络连通,注意在外部服务器上不用配置默认网关。



2、分别在内部和外部服务器上搭建web服务,修改网页,如
内部web服务器的网页内容:
echo “192.168.1.10” > /var/www/html/index.html
在本机访问网页,测试能否成功访问。
步骤:
在网站服务器启动httpd服务
Service httpd start
在访问主页写入内容
echo 192.168.1.10 > /var/www/html/index.html
在本机测试如下图:

外网主机同上,测试结果如下图:

3、分别启动网站服务器和网关服务器的SSh,并把网关ssh服务端口改为2345。
步骤:
启动sshd服务: service sshd restart
进入网关服务器的ssh主配置文件vim /etc/ssh/sshd_confing

4、清空三台服务器的防火墙默认配置:service iptables stop
5、 SNAT(源地址转换):要求内部主机192.168.1.10能访问外部服务器的网站。
验证:在外部服务器通过查看web的访问日志。
步骤:
SNAT源地址转换命令如下:

到网站服务器访问外网

查看外网的Web访问日志,是否是200.0.0.1访问

6、 DNAT(目标地址转换):
1)外部主机通过http://200.0.0.1能够访问到内部服务器的网站。
在网关服务器上配置DANT

验证可以访问

2)外部主机使用ssh –p 2345 200.0.0.1 能够远程管理网关服务器。

3)外部主机使用ssh -p 2222 200.0.0.1 能够远程管理内部192.168.1.10服务器。
在网关服务器配置DNAT

到外网验证可以登录远程登录

7、在网关服务器上对防火墙进行保存和备份。
保存防火墙规则:

备份防火墙规则:iptables -save

8、在网关服务器上写一个防火墙的脚本。实现上面的功能。
脚本提示:路由转发,清空所有防火墙规则,SNAT,DNAT。
设置防火墙开机自动关闭,设置脚本开启自动执行。
脚本如下:

设置脚本开机自启动只需将脚本路径写入/etc/rc.local

文章参考微信公众号:L宝宝聊IT
Iptables防火墙(SNAT和DNAT)的更多相关文章
- 10.Linux防火墙iptables之SNAT与DNAT
Linux防火墙iptables之SNAT与DNAT 目录 Linux防火墙iptables之SNAT与DNAT SNAT策略及应用 SNAT策略概述 SNAT策略典型应用环境 SNAT策略原理 SN ...
- Iptables 下 SNAT、DNAT和MASQUERADE三者之间的区别
Iptables 中可以灵活的做各种网络地址转换(NAT,Network Address Translation) 网络地址转换(NAT)主要有两种:SNAT 和 DNAT,但是也有一种特例 MASQ ...
- iptables snat和dnat
iptables中的snat和dnat是非常有用的,感觉他们二个比较特别,所以单独拿出来说一下. dnat是用来做目的网络地址转换的,就是重写包的目的IP地址.如果一个包被匹配了,那么和它属于同一个流 ...
- iptables snat 和dnat说明
iptables中的snat和dnat是非常有用的,感觉他们二个比较特别,所以单独拿出来说一下. dnat是用来做目的网络地址转换的,就是重写包的目的IP地址.如果一个包被匹配了,那么和它属于同一个流 ...
- iptables SNAT 和DNAT的转化配置实验
原文链接:http://www.jb51.net/LINUXjishu/402441.html DNAT(Destination Network Address Translation,目的地址转换) ...
- Iptables实现公网IP DNAT/SNAT
Iptables实现NAT是最基本的功能,大部分家用路由都是基于其SNAT方式上网,使用Iptables实现外网DNAT也很简单,不过经常会出现不能正常NAT的现象.以下命令将客户端访问1.1.1.1 ...
- [转]IPTABLES中SNAT和MASQUERADE的区别
IPtables中可以灵活的做各种网络地址转换(NAT)网络地址转换主要有两种:SNAT和DNAT SNAT是source network address translation的缩写即源地址目标转换 ...
- iptables防火墙原理详解
1. netfilter与iptables Netfilter是由Rusty Russell提出的Linux 2.4内核防火墙框架,该框架既简洁又灵活,可实现安全策略应用中的许多功能,如数据包过滤.数 ...
- linux 的iptables防火墙
.a文件就是*.o文件的集合, 是object文件的归档文件, 所以, 用nm -A ???.a看到的 symbolic符合名称都是 相应的, 包含的 .o文件.... linux 2.4内核中 ...
随机推荐
- CentOS部署pyspider
0x00 环境 阿里云ECS云服务器 CPU:1核 内存:2G 操作系统:Centos 7.3 x64 地域:华北 2(华北 2 可用区 A) 系统盘:40G 0x01 安装依赖 yum instal ...
- web模拟终端博客系统
本文由QQ音乐前端团队发表 前段时间做了一个非常有意思的模拟终端的展示页:http://ursb.me/terminal/(没有做移动端适配,请在PC端访问),这个页面非常有意思,它可以作为个人博客系 ...
- OpenCV设置保存图像压缩率
OpenCV写入静态图片时,imwrite函数第三个参数可以设置压缩率,默认值为95. cv::Mat inImage= cv::imread("lena.jpg"); vecto ...
- XCode - App installation failed (A valid provisioning profile for this executable was not found)
OSX:10.14 XCode:10.1 iPhone:iPhone 4S IOS9.3.5 我不得不骂那些SB们,不懂就别TMD乱写文章,误导别人!!我今天看了很多关于这个错误的中文文章,结果都没能 ...
- [转]Node.js tutorial in Visual Studio Code
本文转自:https://code.visualstudio.com/docs/nodejs/nodejs-tutorial Node.js tutorial in Visual Studio Cod ...
- Docker版本变化和新版安装
Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE. 社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施.容器 ...
- MVC EF 执行SQL语句(转载)
MVC EF 执行SQL语句 最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精 闲着没事,看了一篇关于LI ...
- Spring Integration实现分布式锁
学习本篇之前,可以先看下文章 什么是分布式锁,了解下基本概念. 之前都是手写一个分布式锁,其实Spring早就提供了分布式锁的实现.早期,分布式锁的相关代码存在于Spring Cloud的子项目Spr ...
- 用HTML,Vue+element-UI做桌面UI
DSkin封装的WebUI开发模式开发桌面应用,使用Vue很方便.使用起来有点像WPF 下面用 element-UI 做个简单的例子. 运行效果:可以自己根据需求改布局效果. 主框架的element- ...
- js之搜索框
目标效果:点击搜索框,搜索框内提示信息消失,可输入搜索信息,点击搜索框外搜索框如果没提示信息或者为空时,显示搜索框提示信息,如果有搜索信息,显示搜索信息. 代码如下: <!DOCTYPE htm ...