iptables防火墙之SNAT与DNET

NAT

1.SNAT:让内网可以访问外网

2.DNAT:让外网可以访问到内网的机器

网关服务器,要开启路由功能

内核功能:

sysctl -a 列出所有参数 内核参数,然后grep可以查看到默认的内核参数

内核参数配置文件

/etc/sysctl.conf

sysctl -p #改完文件后重新生效

私网地址:

1.10.0.0.0 ~ 10.255.255.255

2.172.16.0.0 ~ 172.31.255.255

3.192.168.0.0 ~ 192.168.255.255

SNAT

SNAT策略概述 SNAT 应用环境

局域网主机共享单个公网IP地址接入Internet (私有IP不能在Internet中正常路由

SNAT原理

源地址转换

修改数据包的源地址

SNAT转换前提条件

局域网各主机已正确设置IP地址、子网掩码、默认网关地址

Linux网关开启IP路由转发

DNAT

DNAT原理与应用: DNAT应用环境:

在Internet中发布位于局域网内的服务器

DNAT原理:

目的地址转换,根据指定条件修改数据包的目的IP地址,保证了内网服务器的安全,通常被叫做目的映谢。

DNAT转换前提条件: 1.局域网的服务器能够访问Internet 2.网关的外网地址有正确的DNS解析记录 3. Linux网关开启IP路由转发

实现SNAT和DNAT

准备环境

首先准备三台虚拟机:网关服务器,内网,外网

先下载httpd服务,全部开启并关掉防火墙。

在网关服务器里增加一块网卡

ens36,删除UID,ip配置成12.0.0.1(外网地址)网关删掉。

ens33,删除DNS和网关,留ip和掩码。(做完并重启网卡)

内网,将网卡网关改成网关服务器里的ip地址(重启网卡)

外网,将ip地址改成外网地址12.0.0.11,网关指向网关服务器里的第二张网卡ip(重启网卡)

SNAT

#先进入服务器开启路由转发

sysctl -a |grep "ip_forward" 复制net.ipv4.ip_forward = 0

vim /etc/sysctl.conf,复制后将0改为1

sysctl -p

#先清空规则,并加入规则

iptabless -t nat -A POSTROUTING -s 192.168.116.0/24 -o ens36 -j SNAT --to 12.0.0.1

#从内网出去用postrouting

#-s 源地址段 从192.168.116.0/24这个地址段起始

#-o ens36 从ens36这个网卡出去

#-j SNAT 跳转到SNAT

#--to 12.0.0.1 最终目的到达12.0.0.1外网网关

#可以用iptables -vnL进行查看规则是否生效

#到内网上crul 12.0.0.11(外网的ip地址)

#到外网查看实时日志 tail -f /var/log/httpd/access_log

DNET

#进入服务器网关,配置规则:

iptebles -t nat -A PREROUTING -i ens36 -p tcp --dort 80 -d 12.0.0.1 -j DNAT --to 192.168.116.20

#prerouitng 外网进入内网的在路由选择前

#-p tcp 指定协议为tcp

#--dort 80 指定tcp协议的80端口

#-d 12.0.0.1 外网的网关为12.0.0.1

#--to 192.168.116.20 要到内网机器ip为192.168.116.20上

#可以用iptables -vnL进行查看规则是否生效

#到外网上crul 12.0.0.1

#到内网查看实时日志 tail -f /var/log/httpd/access_log

相关推荐
ZachOn1y22 分钟前
计算机网络:计算机网络概述 —— 初识计算机网络
网络·计算机网络·知识点汇总·考研必备
三金121381 小时前
SpringIoC容器的初识
网络·网络协议·rpc
韩楚风1 小时前
【linux 多进程并发】linux进程状态与生命周期各阶段转换,进程状态查看分析,助力高性能优化
linux·服务器·性能优化·架构·gnu
陈苏同学1 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
Pythonliu71 小时前
茴香豆 + Qwen-7B-Chat-Int8
linux·运维·服务器
你疯了抱抱我1 小时前
【RockyLinux 9.4】安装 NVIDIA 驱动,改变分辨率,避坑版本。(CentOS 系列也能用)
linux·运维·centos
我是哈哈hh2 小时前
专题十_穷举vs暴搜vs深搜vs回溯vs剪枝_二叉树的深度优先搜索_算法专题详细总结
服务器·数据结构·c++·算法·机器学习·深度优先·剪枝
郭二哈2 小时前
C++——模板进阶、继承
java·服务器·c++
狼头长啸李树身2 小时前
眼儿媚·秋雨绵绵窗暗暗
大数据·网络·服务发现·媒体
挥剑决浮云 -2 小时前
Linux 之 安装软件、GCC编译器、Linux 操作系统基础
linux·服务器·c语言·c++·经验分享·笔记