4.1 问题

本案例要求设置防火墙规则,允许位于局域网中的主机可以访问外网,主要包括下列服务:

搭建内外网案例环境
配置SNAT策略实现共享上网访问

4.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:搭建内外网案例环境

表-4 实验拓扑

这里,我们设定192.168.2.0/24网络为外部网络,192.168.4.0/24为内部网络。

现在,在外部网络中有一台web服务器192.168.2.100,因为设置了网关,client已经可以访问此web服务器了。但,如果查看web1的日志就会发现,日志里记录的是192.168.4.100在访问网页。

我们需要实现的效果是,client可以访问web服务器,但要伪装为192.168.2.5后再访问web服务器(模拟所有位于公司内部的电脑都使用的是私有IP,希望访问外网,就需要伪装为公司的外网IP后才可以)。

步骤二:设置防火墙规则,实现IP地址的伪装(SNAT源地址转换)

1)确保proxy主机开启了路由转发功能

[root@proxy ~]# echo 1 > /proc/sys/net/ipv4/ip_forward            //开启路由转发

2)设置防火墙规则,实现SNAT地址转换

[root@proxy ~]# iptables  -t  nat  -A POSTROUTING \
> -s  192.168.4.0/24 -p tcp --dport 80  -j SNAT  --to-source 192.168.2.5

3)登陆web主机查看日志

[root@proxy ~]# tail  /var/log/httpd/access_log
.. ..
192.168.2.5 - - [12/Aug/2018:17:57:10 +0800] "GET / HTTP/1.1" 200 27 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"

通过日志会发现,客户端是先伪装为了192.168.2.5之后再访问的web服务器!

4)扩展知识,对于proxy外网IP不固定的情况可以执行下面的地址伪装,动态伪装IP。

[root@proxy ~]# iptables  -t  nat  -A POSTROUTING \
> -s  192.168.4.0/24 -p tcp --dport 80 -j MASQUERADE

最后,所有iptables规则都是临时规则,如果需要永久保留规则需要执行如下命令:

[root@proxy ~]# service  iptables save

配置SNAT实现共享上网: 搭建内外网案例环境 配置SNAT策略实现共享上网访问相关推荐

  1. 使用nps搭建内网穿透并配置泛域名解析

    使用nps搭建内网穿透并配置泛域名解析 前言 1. 准备工作 2. 服务器端搭建nps并配置 2.1 配置nps配置文件 2.2 docker安装nps 2.3 web端配置nps并使用 3. 客户端 ...

  2. EVE-NG--华为防火墙USG6000v 内外网打通,并均可通过公网IP访问FTP服务器

    EVE-NG–华为防火墙USG6000v 内外网打通,并均可通过公网IP访问FTP服务器 所有镜像在EVE-NG第一个博客百度云链接里面,自行下载. 需要现成自制镜像的私信我,百度云盘无偿分享给你. ...

  3. CentOS7.4中Postfix邮件服务器的搭建(一)-----环境配置及简单搭建

    CentOS7.4中Postfix邮件服务器的搭建(一)-----环境配置及简单搭建 实验内容: 1. 初始环境的优化 2. DNS服务器的搭建和postfix域名解析 3. Postfix服务器安装 ...

  4. 深度学习环境配置10——Ubuntu下的torch==1.7.1环境配置

    深度学习环境配置10--Ubuntu下的torch==1.7.1环境配置 注意事项 一.2022/9/18更新 学习前言 各个版本pytorch的配置教程 环境内容 环境配置 一.Anaconda安装 ...

  5. 深度学习环境配置5——windows下的torch-cpu=1.2.0环境配置

    深度学习环境配置5--windows下的torch-cpu=1.2.0环境配置 注意事项 一.2021/10/8更新 学习前言 各个版本pytorch的配置教程 环境内容 环境配置 一.Anacond ...

  6. 深度学习环境配置1——windows下的tensorflow-gpu=1.13.2环境配置

    深度学习环境配置1--windows下的tensorflow-gpu=1.13.2环境配置 注意事项 一.2021/9/11更新 二.2021/7/8更新 三.2020/11/5更新 学习前言 环境内 ...

  7. Windows路由表配置:双网卡同时上内外网

    原文来自:http://www.cnblogs.com/lightnear/archive/2013/02/03/2890835.html 一.windows 路由表解释 route print -4 ...

  8. opencv-python:win7下,搭建python2.7.5环境,配置opencv3.1.0准备开工-OpenCV步步精深

    我的个人博客:点这里 搭建python2.7.5环境 下载python2.7.5 64位:https://www.python.org/ftp/python/2.7.5/python-2.7.5.am ...

  9. 后台是怎么判断管理员用户还是普通用户_JavaWeb图像可视化管理系统之后台搭建(一)环境配置与后台设计...

    这个系列文章用来记录一个完整的JavaWeb项目后台的搭建,完整代码也包含前端部分,适合新手,一共两篇. 作者自己也是新手,刚开始写自己的技术文章,其中不合规范之处,还希望各位一定要积极指正. 第一篇 ...

最新文章

  1. 工作后越来越觉得,丢什么也不能丢账号!
  2. jquery操作复选框(checkbox)的12个小技巧总结
  3. linux 文件 目录 默认权限
  4. 用C++写的 Levenshtein 算法实现
  5. DataSet case sensitive issue
  6. void和void*详解 v2
  7. mysql协议重传,MySQL · 源码分析 · 网络通信模块浅析
  8. 输出一个文件的最后n行数据,如果文件总行数不足n行,则显示全部数据
  9. spring学习(6):使用xml方式实现spring基本应用
  10. delphi7 获取dll的类_跟我学Java内存管理----JMM精华终章(类加载器)
  11. Silverlight编译过程
  12. Mybatis入门教程
  13. mysql压缩包部署和常见问题
  14. 阿里中间件技术专家魏鹏:基于Java容器的多应用部署技术实践
  15. Android 仿微信全局字体大小调整
  16. 网络诊断工具ping介绍
  17. Android 获取手机设备信息:名称、型号、系统版本号、厂商、设备制造商、SDK版本、系统语言等等
  18. Ubuntu20.04更换系统默认启动内核
  19. javascript显示本地服务器图片,JavaScript图片本地预览功能的实现方法
  20. SQL Server 2012内部原理及故障排除(专栏)

热门文章

  1. crmsh配置pacemaker集群时报错 CIB not supported: validator 'pacemaker-2.10'
  2. 《令人心动的offer(第二季)》学习笔记
  3. input上传图片之获取图片名字
  4. 菜鸟初学Echarts
  5. 大数据公司挖掘数据价值的49个典型案例
  6. 实战详解Maven部署(deploy)jar到私有仓库Nexus及如何引入私仓jar包
  7. 用C语言进行Windows编程入门
  8. 我也玩单片机:流水灯
  9. Codeforces Round #533(Div. 2) A.Salem and Sticks
  10. 愚见——工大之软件工程