首页 > 编程知识 正文

黑石瞳masquerade,snat配置

时间:2023-05-05 18:48:03 阅读:116541 作者:728

IPtables可以灵活地进行各种网络地址转换(NAT ),网络地址转换主要有SNAT和DNAT两种。

SNAT是sourcenetworkaddresstranslation的缩写,是源地址的转换。 例如,多个PC使用ADSL路由器共享因特网,并且在每个PC上设置了内部网IP。 当PC访问外部网络时,路由器用路由器的IP替换分组头部的源地址,而当外部网络的服务器(如web服务器)收到访问请求时,他的日志显示路由器的IP地址而不是PC的内部网IP 这是因为该服务器接收到的分组头部的“源地址”被替换

DNAT是目标网络地址转换的缩写。 典型的APP应用程序包括将内部网ip放置在内部网中的web服务器,防火墙在前端配置公共网络ip,并且互联网上的访问者使用公共网络ip访问此站点在此数据包的标头中,目标地址写有防火墙的公共ip。 防火墙将重写此数据包的标头一次,将目标地址重写为web服务器的内部网ip,然后将此数据包发送到内部网的web服务器。 这将使数据包穿过防火墙,成为从公共ip到内部网ip的访问,即DNAT和基于目标的网络地址转换。

MASQUERADE,地址伪装,算是snat中的一种特例,可以实现自动化的snat。

iptables的效果与SNAT相近,但存在一些差异。 但是,使用SNAT时,出口ip的地址范围可以是1个,也可以是多个。 例如,情况如下:

以下命令显示将所有10.8.0.0网段的包SNAT作为192.168.5.3的ip发出。

iptables-tnat-a发布- s 10.8.0.0/255.255.255.0-oeth0- js NAT-- to-source 192.168.5.3

以下命令指示将所有10.8.0.0网段的包SNAT发出为几个ip,例如192.168.5.3/192.168.5.4/192.168.5.5

iptables-tnat-a postrouting-s 10.8.0.0/255.255.255.0-oeth0- js NAT-- to-source 192.168.5.3-192

这就是SNAT的使用方法。 NAT可以是一个地址,也可以是多个地址。 但是,对于SNAT,无论有多少个地址,都必须明确指定要SNAT的ip。 如果当前系统使用的是ADSL动态拨号方式,则每次拨号时,出口ip192.168.5.3都会发生变化,并发生重大更改。 地址不一定必须在192.168.5.3到192.168.5.5范围内。 此时,如果像现在这样配置iptables,就会出现问题。 这是因为每次拨号时服务地址都会发生变化,而iptables规则中的ip不会自动发生变化,因此每次地址发生变化时都必须手动修改iptables

MASQUERADE专为这种场景而设计,用于从服务器网卡自动获取当前ip地址并进行NAT。

例如下一个命令:

iptables-tnat-a postrouting-s 10.8.0.0/255.255.255.0-oeth0- jmasquerade

如果这样构成,则无论不指定SNAT的目标ip,在当前的eth0的出口得到什么样的动态ip,MASQUERADE都会自动读取eth0的当前ip地址进行SNAT后出去,所以优秀的动态SNAT地址

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。