频道栏目
首页 > 网络 > 其他 > 正文

iptables的NAT-流年似水-51CTO博客

2019-08-07 20:45:27           
收藏   我要投稿

网络防火墙

NAT(network address translation)网络地址转换,又分为SNAT、DNAT和PNAT

SNAT:NAT转换时请求报文替换了源地址,响应报文替换了目标地址,所以又为SNAT

DNAT:当外网用户访问局域网内的站点时,网关收到请求报文并将请求报文内的目标地

址和端口更换为局域网内的地址和端口,局域网内的站点收到请求报文后将响应报文发送

给网关,网关再将响应报文中的源地址替换为外网地址,将报文发送回外网用户

PNAT:以http服务为例,外网用户要访问内网的http服务请求的端口是80,而内网的httpd服

务工作在非标准的端口8080上,此时内网的http服务器就需要将发送给本机80端口的数据报文

重新重定向至本机的8080端口,这就叫做PNAT 也叫端口重定向

环境要求:三台主机

充当路由器的主机开启ip_forward

echo net.ipv4.ip_forward >> /etc/sysctl.conf

sysctl -p

网络配置安装图中配置,

SNAT:

image.png

假设左侧NAT网卡连接的部分为内网,本地公网ip172.16.12.7,172.16.12.6不配置网关

直接在本地pc? ?ping??172.16.12.6是不通的,因为数据报文到达B,B查看和A不在同一网段,又没有网关,只能收到来自

A的请求报文没有回应

image.png

用SNAT解决这种情况

SNAT又分为二种情况

(1)固定的本地公网ip

iptables?-t?nat?-A?POSTROUTING?-s?192.168.12.0/24?-j?SNAT?--to-source?172.16.12.7

数据包可能是从防火墙本身发出或者由内部主机发出,所以由 POSTROUTING汇总后转发,因此添加在POSTROUTING

(2)拨号上网公网ip不固定,其实这种写法也适用于固定ip

iptables? -t nat -A POSTROUTING -s 192.168.12.0/24 -j MASQUERADE

DNAT:

image.png

通过互联访问本地公网ip172.16.12.7从而将请求发给本地pc,类似于调度器

iptables?-t?nat?-A?PREROUTING?-d?172.16.12.7?-p?tcp?--dport?80?-j?DNAT?--to-destination?192.168.12.17:80

应该加在PREROUTING上,以httpd为例,数据报文传送过来如果经过PREROUTING到达INPUT没有找到对应服务,

报文直接被丢弃

在B上访问172.16.12.7,访问日志源ip还是172.16.12.6

image.png

iptables?-t?nat?-F
iptables?-t?nat?-A?PREROUTING?-d?172.16.12.7?-p?tcp?--dport?80?-j?DNAT?--to-destination?192.168.12.17:8080

将本地公网ip80端口映射成内网的8080,一个本地公网ip的80只能映射成1个端口,

PNAT:

外网访问本地pc80端口,自动转到8080,需要将httpd服务端口修改为8080

在本地pc添加端口转发规则

iptables?-t?nat?-A?PREROUTING?-d?192.168.12.17?-p?tcp?--dport?80?-j?REDIRECT?--to-ports?8080

???image.png?

相关TAG标签
上一篇:awk入门及进阶-TomJames的博客-51CTO博客
下一篇:NFS服务搭建(linux和windows)-mb5ce6a8349c2c8的博客-51CTO博客
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站