linux防火墙(四)—— SNET和DNET原理及应用
图(1)
一、SNAT策略
应用环境:局域网主机共享单个公网IP地址接入Internet,简单的说就是企业内部局域网想访问外部服务器时,网关型防火墙需要开启的SNAT应用策略。
SNAT策略原理:网关型防火墙把源地址转换,修改数据包的源地址。
*未作SNAT转换时内网数据包通信的分析:
图(2)中局域网以192.168.1.234的IP访问Web服务,发送数据包时,网络层会封装源地址和目标地址,当Web服务器进行HTTP应答时,找不到192.168.1.234的IP地址(私网地址不允许出现在公网),所以通讯中断。
图 (2)
*进行SNAT转换后的数据包通信分析:
图(3)中网关服务器应用了SNAT策略,当局域网访问外网的数据到达网关,会先进行路由选择,若发现数据包需要从外网接口eht0向外转发,则将其源IP地址修改为网关的外网接口地址218.29.30.31,然后再发送给目标Web服务器,相当于从网关服务器的公网IP地址提交数据访问请求,因为是公网IP,当Web服务器进行HTTP应答时,也可以正确返回响应数据包。
图 (3)
*在上述地址转换的过程中,网关服务器会根据之前建立的SNAT映射,将响应数据包正确返回局域网中的源主机,因此,只要连接的第一个包被SNAT处理了,那么这个连接及对应数据流的其他包也会自动地进行SNAT处理,另一方面,Internet中的服务器并不知道局域网PC的实际IP地址,中间的转换完全由网关主机完成,一定程度上也起到了保护内部网络的作用。
二、设置SNAT规则
前提条件:
局域网各主机正确设置IP地址和子网掩码
局域网各主机正确设置默认网关地址
Linux网关支持IP路由转发,即/etc/sysctl.conf文件中的net.ipv4.ip_forword = 1
(1)SNAT转换规则1:固定的外网IP地址
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 218.29.30.31
(2)SNAT转换规则2:非固定外网IP地址或ADSL
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
三、DNAT策略
应用环境:在Internet中发布位于企业局域网内的服务器
DNAT策略原理:目标地址转换,修改数据包的目标地址
注意:企业所注册的网站域名必须对应公网IP地址
*进行DNAT转换后的数据包通信分析:
图(4)中,外网请求内网服务器时,目的地址是我们的公网IP 218.29.30.31,网关服务器发现你请求的是80端口,就把你的目的地址(我们的公网IP 218.29.30.31)修改为端口号为80端口的Web服务器192.168.1.6;当我们发送应答包的时候就用到了SNAT策略,这样一去一回,就构成了我们完整的通信过程。
图 (4)
四、设置DNAT规则
前提条件:
局域网的Web服务器能够访问Internet
网关的外网IP地址有正确的DNS解析记录
Linux网关支持IP路由转发
(1)DNAT转换规则1:发内网Web服务
iptables -t nat -A PREROUTING -i eth0 -d 218.29.30.31 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.6
(2)DNAT转换规则2:发布时修改目标端口
如果我想在外网访问我们内网服务器的22号端口,连接ssh的话不能直接把 --dport 80改为22,因为网关防火墙本身也有22号端口,我们可以对端口进行转化,把服务器的22号端口,通过网关防火墙转化为了250号端口,因此我们访问250号端口就是访问了服务器的22号端口。如下语句转换了IP的同时也转换了端口。
1 iptables -t nat -A PREROUTING -i eth0 -d 218.29.30.31 -p tcp --dport 250 -j DNAT --to-destination 192.168.1.6:22 #配置方法 2 ssh 218.29.30.31:250 #访问方法
转载于:https://www.cnblogs.com/mangood/p/6024053.html
linux防火墙(四)—— SNET和DNET原理及应用相关推荐
- iptables防火墙和SNET和DNET
iptables概述 Linux系统的防火墙:IP信息包过滤系统,它实际上由两个组件netfilter和iptables组成 主要工作在网络层,针对IP数据包.体现在对包内的IP地址.端口等信息的处理 ...
- Linux系统的iptables防火墙、SNAT、DNAT原理与设置规则
Linux的iptables防火墙.SNAT.DNAT 一.iptables概述 1.netfilter/iptables关系 2.四表五链 四表 五链 规则表之间的优先顺序 规则链之间的匹配顺序 二 ...
- Linux防火墙之“四链五表”
防火墙介绍 防火墙是位于内外网之间的一组软硬件部件的组合,主要目的是保护内外网的数据流通的安全,当外网访问内网的时候发送的数据包必须经过内网的防火墙检验是否符合规则. 能够指定火墙策略的两个工具包: ...
- Linux防火墙iptables学习
http://blog.chinaunix.net/uid-9950859-id-98277.html 要在网上传输的数据会被分成许多小的数据包,我们一旦接通了网络,会有很多数据包进入,离开,或者经过 ...
- 1 Linux防火墙设置
1.(ubuntu)从 iptables 过渡到 nftables 当前,有一个与 nftables 兼容的 iptables-nft 后端,但是很快,即使是它也不再提供了.另外,正如 Red Hat ...
- linux防火墙_硬件防火墙和软件防火墙的区别有哪些?
什么是防火墙? 防火墙,指由软件和硬件设备组合而成.在内部网和外部网之间.局域网与外网之间的保护屏障.就像架起了一面墙,它能使网络之间建立起一个安全网关,从而保护内部网免受非法用户的侵入. 熟悉互联网 ...
- Linux防火墙与iptables命令
Linux防火墙与iptables命令 防火墙概念 一.Firewalld与iptables简介 1.1Firewalld 1.2Firewalld.iptables 二.iptables 2.1四表 ...
- 《Linux防火墙(第4版)》——1.3 传输层机制
本节书摘来自异步社区<Linux防火墙(第4版)>一书中的第1章,第1.3节,作者:[美]Steve Suehring(史蒂夫 苏哈林)著,更多章节内容可以访问云栖社区"异步社区 ...
- linux防火墙策略文件夹,Linux防火墙iptables的策略
iptables策略 iptables -L #查看现有防火墙所有策略 iptables -F #清除现有防火墙策略 只允许特定流量通过,禁用其他流量 1.允许SSH流量(重要) iptables - ...
最新文章
- Python 从入门到精通:一个月就够了?真的能行嘛?
- 使用 Electron 从协议处理器启动应用程序
- python类高级用法_十.python面向对象高级用法
- python 中文件输入输出及os模块对文件系统的操作
- 【JUnit 报错】 method initializationerror not found:JUnit4单元测试报错问题
- 正则表达式之python3版
- Spring AOP EXPRESSION
- 行业牛人和开源软件改变技术世界
- IDEA中如何新建一个带有-P目录的项目
- 揭开容器的神秘面纱:帮助初学者深入了解容器技术
- STM32(六)-------中断(外部中断)
- ROS中阶笔记(九):Movelt!机械臂控制
- 嵌入式Linux系统编程学习之二十九线程的互斥
- 如何更好地优化大数据分析
- 【转】Leopard 安装教程
- 中兴光猫不拆机获取超级密码
- 【烈日炎炎战后端】Linux(0.3万字)
- 【IDEA快捷键】记一些idea快捷键
- SATA硬盘和SATA2硬盘的区别
- php微信公众号向指定客服发信息,微信公众号给用户发送一条消息 客服消息