码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Linux防火墙之SNAT与DNAT


    Linux防火墙之SNAT与DNAT

    文章目录

    • Linux防火墙之SNAT与DNAT
      • 一、snat
        • 1、策略概述
        • 2、转换流程
          • SNAT转换1:
          • SNAT转换2:
        • 3、模拟SNAT
          • 1.web服务器配置
          • 2.网关配置
          • 3.在内网配置win10主机

    一、snat

    1、策略概述

    • SNAT策略的典型应用环境
      局域网主机共享单个公网IP地址接入Internet

    • SNAT策略的原理
      源地址转换,Source Network Address Translation
      修改数据包的源地址,通常被叫做源映射

    • SNAT转换前提条件:
      1.局域网各主机已正确设置IP地址、子网掩码、默认网关地址2.Linux网关开启IP路由转发

      linxu系统本身是没有转发功能只有路由发送数据

    临时打开:
    echo 1 > /proc/sys/net/ipv4/ip_forward
    或
    sysctl -W net. ipv4.ip_ forward = 1 
    ----------------------------------
    永久写入:  
    vim /etc/sysctl.conf
    net.ipv4.ip_forward = 1
    #将此行写入配置文件
    sysctl -p #读取修改后的配置
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    注:还有一种方式静态路由,这个就比较麻烦

    2、转换流程

    image-20220712155012302

    image-20220712122122635

    SNAT转换1:

    固定的公网IP地址:
    #配置SNAT策略,实现snat功能,将所有192.168.100.0这个网段的ip的源ip改为10.0.0.1

    iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j SNAT --to 10.0.0.1
    
    • 1

    可换成单独IP 出站 外网网卡 外网P
    或

    iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33-j SNAT --to-source
    10.0.0.1-10.0.0.10
    
    • 1
    • 2

    内网IP 出站 外网 网卡
    外网IP或地址池

    SNAT转换2:

    非固定的公网IP地址(共享动态IP地址):

    iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -i MASQUERADE
    
    • 1

    小知识扩展:
    一个IP地址做SNAT转换,一般可以让内网100到200台主机实现上网。

    3、模拟SNAT

    1.web服务器配置

    1、安装httpd

    yum install -y httpd
    
    • 1

    image-20220712150047019

    2、更改网卡

    image-20220712150409978

    3、更改网络适配器,为vmnet3

    image-20220712150702084

    systemctl restart network  #重启网络服务
    systemctl start httpd #开启http
    
    • 1
    • 2

    把web服务器的网络连接方式改成VMnet3

    image-20220714141435117

    2.网关配置

    1、更改适配器,加一块网卡。

    image-202207121511413302、配置网卡

    ens33

    image-20220712163939697

    ens35

    image-20220712183641336

    重启服务

    image-20220714152250531

    3、开启路由转发

    配置本地系统做路由转发

    #关闭firewalld安装iptabless
    yum install -y iptables iptables-services 
    #路由转发
    vim /etc/sysctl.conf
    net.ipv4.ip_forward = 1
    #查看
    sysctl -p
    net.ipv4.ip_forward = 1
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    image-20220712152454647

    image-20220714141722302

    4、更改防火墙规则

    iptables -t nat -I POSTROUTING -s 192.168.100.0/24 -o ens33 -j SNAT --to-source 10.0.0.1
    或
    iptables -t nat -I POSTROUTING -s 192.168.100.0/24 -o ens33 -j SNAT --to 10.0.0.1
    
    • 1
    • 2
    • 3

    image-20220712152733984

    3.在内网配置win10主机

    image-20220712153041167

    image-20220712181039312

    访问web

    image-20220714161917195

    image-20220714161856181

    image-20220712152240240

    访问web

    [外链图片转存中…(img-oRxi9wci-1657797984185)]

    [外链图片转存中…(img-zF3XUl4e-1657797984185)]

    [外链图片转存中…(img-ezldd53b-1657797984185)]

    image-20220712152415548

  • 相关阅读:
    HTML <u> 标签
    诺亚财富 X Hologres : 统一OLAP分析引擎,全面打造金融数字化分析平台
    QT-事件循环机制
    投影仪芯片0.33和0.47DMD哪个好?当贝F3 Air实测体验分享
    张高兴的 .NET IoT 入门指南:(八)基于 GPS 的 NTP 时间同步服务器
    Android 修改系统息屏时间.
    【JAVA】-- 简易超市管理系统窗口(三)(实现思路+每步代码)
    Qt文件对话框的使用
    node插件MongoDB(五)—— 库mongoose 的模块化(五)
    child_process exec 不是内部或外部命令,也不是可运行的程序或批处理文件。
  • 原文地址:https://blog.csdn.net/weixin_68579466/article/details/125791303
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号