码农知识堂 - 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

  • 相关阅读:
    面试准备2022-08
    PTL仓储亮灯拣选系统优化仓库作业流程实现物料快速定位
    java 快速生成javaBean类
    Python 多进程编程《一》: 创建进程的三种模式
    一分钟让你学会如何合并PDF文件
    R语言处理数量很大(千万级及以上)的数据时的拆分策略-案例一
    这么多年 Java 白学了,原来我连个 printf 都不会
    NewStarCTF2023week4-RSA Variation II
    25【中介者设计模式】
    电脑重装系统 win11 怎么关闭系统软件通知
  • 原文地址:https://blog.csdn.net/weixin_68579466/article/details/125791303
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号