linux下的软件防火墙iptables——nat表规则的设定
发布时间 - 2020-11-18 00:00:00 点击率:次iptables除了最常用的filter表外,偶尔也会用到nat表。nat即网络地址转换,它是用来修改源ip地址或目的ip地址的。现在我们看下简单的数据包通过iptables到后端主机的表格与链的流程。
1.经过NAT表的PREROUTING链
2.经过路由判断该数据包是否要进入本机,若不进入,则执行下一步操作
3.经过Filte
r的FORWARD链
4.经过NAT表的POSTROUTING链,最后传送出去
和NAT相关的是第一步和最后一步,也就是PREROUTING链和POSTROUTING链。
PREROUTING链修改的是目的IP,简称DNAT
POSTROUTING链修改的是源IP,简称SNAT
DNAT
那么哪些场景需要用到DNAT,对于SNAT常见的应用有哪些呢?对于DNAT,最常见的是将内网的端口映射到外网中,让其他用户可以访问。这样做内网的安全性大大提升,因为外网是不能直接和内网进行数据传输的。
场景:内网有一台主机A(192.168.1.111)上面架设了一个网站,内网中还有一台主机B(192.168.1.2)具有公网ip(39.100.92.12),那么如何让外网的用户访问到A上面的网站。
这个时候,就需要对B主机上做DNAT操作,让目的地址从公网ip39.100.92.12修改为内网地址192.168.1.111。操作如下:
# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 \ > -j DNAT --to-destination 192.168.1.111:80
PREROUTING链中除了能够对ip做修改,还能对端口进行修改。比如将80端口映射为8080端口,但操作名已经不叫DNAT,而是REDIRECT。
# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 \ > -j REDIRECT --to-ports 8080
SNAT
对于SNAT,我们最常见的应用是内网机器通过代理服务器上网,内网的主机没有公网IP,那么内网的主机数据包通过代理服务器后,代理服务器就需要将该数据包的源地址修改为该代理服务器的公网ip。
场景:内网有一台主机A(192.168.1.111),内网中还有一台主机B(192.168.1.2)具有公网ip(39.100.92.12),那么对于主机A怎么操作可以连接到公网。
# iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 \ > -j SNAT --to-source 39.100.92.12
对于DNAT以及SNAT的操作不是很复杂,主要是要理解DNAT以及SNAT的应用场景,刚开始学的时候容易弄混淆,希望大家能主要到它们的区别。
相关推荐:《linux视频教程》
# linux
# 内网
# 的是
# 代理服务器
# 数据包
# 一台主机
# 网中
# 最常见
# 端口映射
# 也会
# 它是
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
android nfc常用标签读取总结
Laravel如何与Pusher实现实时通信?(WebSocket示例)
在线制作视频网站免费,都有哪些好的动漫网站?
高端建站三要素:定制模板、企业官网与响应式设计优化
1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤
Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】
Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程
制作电商网页,电商供应链怎么做?
js代码实现下拉菜单【推荐】
简历没回改:利用AI润色让你的文字更专业
laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析
Python文件操作最佳实践_稳定性说明【指导】
Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID
laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法
北京网站制作的公司有哪些,北京白云观官方网站?
大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?
深圳网站制作的公司有哪些,dido官方网站?
网站制作软件免费下载安装,有哪些免费下载的软件网站?
如何快速生成专业多端适配建站电话?
Laravel如何使用模型观察者?(Observer代码示例)
百度浏览器网页无法复制文字怎么办 百度浏览器复制修复
三星网站视频制作教程下载,三星w23网页如何全屏?
如何快速生成橙子建站落地页链接?
php json中文编码为null的解决办法
HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】
php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】
Laravel如何为API编写文档_Laravel API文档生成与维护方法
Python面向对象测试方法_mock解析【教程】
google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤
jQuery中的100个技巧汇总
Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】
如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环
如何在IIS7上新建站点并设置安全权限?
JS碰撞运动实现方法详解
如何基于云服务器快速搭建个人网站?
网站制作价目表怎么做,珍爱网婚介费用多少?
Laravel怎么发送邮件_Laravel Mail类SMTP配置教程
如何在新浪SAE免费搭建个人博客?
Internet Explorer官网直接进入 IE浏览器在线体验版网址
详解阿里云nginx服务器多站点的配置
大型企业网站制作流程,做网站需要注册公司吗?
制作旅游网站html,怎样注册旅游网站?
韩国服务器如何优化跨境访问实现高效连接?
如何用花生壳三步快速搭建专属网站?
青岛网站建设如何选择本地服务器?
如何在阿里云部署织梦网站?
Laravel如何实现事件和监听器?(Event & Listener实战)
lovemo网页版地址 lovemo官网手机登录

