当前位置: 首页 > news >正文

NAT网络地址转换

目录

什么是nat

nat

实验如何使用SNAT  和  DNAT

实验环境   内网连接外网   

1.给网关服务器添加网卡(两张网卡)

2.查看新添加的网卡名  编辑网卡配置

3.开启路由转发

4.打开内网服务器

5.切换到外网服务器(192.168.17.30)

回到网卡服务器ping 外网和内网测试是否连通

添加规则SNAT

打开外网服务器

外网连接内网


什么是nat

NAT(Network Address Translation)是指网络地址转换,这是一种将私有IP地址转换为公共IP地址的技术。它使得在专用网内部的一些主机可以使用本地IP地址(仅在本专用网内使用的专用地址)与因特网上的主机进行通信,无需进行加密。NAT技术需要在专用网(私网IP)连接到因特网(公网IP)的路由器上安装NAT软件,装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址(公网IP地址)。所有使用本地地址(私网IP地址)的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。

nat

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

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

网关  服务器 

内核功能

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

sysctl -a|grep forward

内核参数配置文件

/etc/sysctl.conf

sysctl -p

改完文件后重新生效

实验如何使用SNAT  和  DNAT

实验环境   内网连接外网   

pc1   (内网服务器)192.168.17.55

pc2   (网关服务器)192.168.17.25

pc3   (外网服务器)192.168.17.30

1.给网关服务器添加网卡(两张网卡)

将外网服务器和内网服务器都安装上httpd 软件

2.查看新添加的网卡名  编辑网卡配置

[root@localhost/etc/sysconfig/network-scripts] # cp ifcfg-ens33 ifcfg-ens36

3.开启路由转发

[root@localhost/etc/sysconfig/network-scripts] # sysctl -a|grep ip_forward
#过滤出路由转发
net.ipv4.ip_forward = 0
net.ipv4.ip_forward_use_pmtu = 0

4.打开内网服务器

更改网卡配置

配置完重启服务

5.切换到外网服务器(192.168.17.30)

更改网卡配置文件

重启网卡配置

回到网卡服务器ping 外网和内网测试是否连通

添加规则SNAT

[root@localhost/] # iptables -t nat -A POSTROUTING -s 192.168.17.0/24 -o ens36 -j SNAT --to 12.0.0.1  #将192.168.17网段通过网卡ens36转换成外网ip12.0.0.1

打开外网服务器

[root@localhost~] # tail -f /var/log/httpd/access_log

打开内网服务器   curl 外网服务器

[root@localhost~] # curl 12.0.0.110

外网连接内网

打开内网服务器(192.168.17.55)

实时查看日志文件

[root@localhost~] # tail -f /var/log/httpd/access_log

切换到网卡服务器

[root@localhost/] # iptables -F -t nat #清空nat表的所有规则
[root@localhost/] # iptables -t nat -A PREROUTING -i ens36 -p tcp --dport 80 -d 12.0.0.1 -j DNAT --to 192.168.17.55
#从ens36进来的流量访问的是tcp协议的80端口目的地址是12.0.0.1

切换到外网服务器访问

curl 12.0.0.1

http://www.lryc.cn/news/249359.html

相关文章:

  • PyTorch模型训练过程内存泄漏问题解决
  • 【matlab程序】matlab利用工具包nctool读取grib2、nc、opendaf、hdf5、hdf4等格式数据
  • pytorch训练模板
  • 代码随想录二刷 |字符串 |反转字符串
  • Rust语言入门教程(九) - 结构体
  • 如何使用Qchan搭建更好保护个人隐私的本地图床并在公网可访问
  • AI伪原创软件-AI伪原创工具下载
  • 【python脚本】获取OneNET数据写入本地文件
  • 5 存储器映射和寄存器
  • 决策树学习
  • 如何在Ubuntu系统上安装Git
  • Leetcode.974 和可被 K 整除的子数组
  • Vue打包错误UnhandledPromiseRejectionWarning: CssSyntaxError
  • 鸿蒙系统扫盲(三):鸿蒙开发用什么语言?
  • linux 中vmalloc实现简述
  • homeassistant 随笔
  • 带大家做一个,易上手的家常炒鸡蛋
  • 芒格传奇落幕!生前最后一次谈论比特币,说了什么?
  • Springboot如何快速生成分页展示以及统计条数
  • 数据结构:图文详解顺序表的各种操作(新增元素,查找元素,删除元素,给指定位置元素赋值)
  • 2023 年 IntelliJ IDEA下载、安装教程,附详细图文
  • C++——解锁string常用接口
  • Stable Video Diffusion(SVD)参数使用教程
  • 【传智杯】排排队、小卡与质数 2、1024 程序员节发橙子题解
  • Oracle
  • 2023年c语言程序设计大赛
  • 9.vue3项目(九):spu管理页面的新增和修改
  • 人工智能:让生活更便捷、更智能——探讨人工智能在生活中的作用与挑战
  • 【C++】类和对象——const修饰成员函数和取地址操作符重载
  • express+mySql实现用户注册、登录和身份认证