NAT实现

原创 2017年11月02日 11:40:56

一、SANT

请求报文源地址替换
实现内网(192.168.129.0/24)通过路由访问外网(172.17.16.169)
路由器: 172.17.16.173和192.168.129.173

1.缺点

缺点
  多个内网主机同时访问外网主机的web服务;则路由的地址不够,此时需要用PNAT(端口转换)

2.内网路由指向路由器的内网网段IP

 nmcli c modify con-eth1  ipv4.gateway 192.168.129.173 

3.在路由器POSTROUTING加策略

#静态IP转换
iptables -t nat -A POSTROUTING -s 192.168.129.0/24  ! -d 192.168.129.0/24 -j SNAT --to-source 172.17.16.173
#动态IP转换
 iptables -t nat -A POSTROUTING -s 192.168.129.0/24  ! -d 192.168.129.0/24 -j MASQUERADE

4.开启转发功能

 sysctl -w net.ipv4.ip_forward=1

5.与网络防火墙区别

#不同
    只设置内网的路由记录
    在172.17网段查看,是172.17.16.173访问,但其实是192.168.129.174在访问
#相同
    都要开启路由转发功能

二、DANT

请求报文目标地址替换

1.实现

外网访问路由器的某个端口时,路由器替换目标地址IP和端口为内网的某个服务器的IP和端口
实现外网可以访问内网的服务

2.缺点

只能映射一个内部服务器主机

3.内网路由指向路由器的内网网段IP

 nmcli c modify con-eth1  ipv4.gateway 192.168.129.173 

4.在路由器POSTROUTING加策略

#转换IP加端口
iptables -t nat -A PREROUTING -d 172.17.16.173 -p tcp --dport 80 -j DNAT --to-destination 192.168.129.174:8080
#转换IP
iptables -t nat -A PREROUTING -d 172.17.16.173  -j DNAT --to-destination 192.168.129.174

4.开启转发功能

 sysctl -w net.ipv4.ip_forward=1

5.结果

这里写图片描述

三、REDIRECT

访问本机a端口时,将端口转换为本机的b端口

1.实现访问172.17.16.169的80端口时,转换为本机端口8080

iptables -t nat -A PREROUTING  -d 172.17.16.169 -p tcp --dport 80 -j REDIRECT --to-ports 80

2.访问本机的80端口,转换为本机的8080端口,则在本机执行,写本机IP

iptables -t nat -A PREROUTING  -d 本机IP -p tcp --dport 80 -j REDIRECT --to-ports 80
版权声明:本文为博主原创文章,未经博主允许不得转载。

图示基于FreeBSD、Linux 的NAT实现

  • 2012年09月23日 19:46
  • 5.45MB
  • 下载

一个iptables的stateless NAT模块实现

  • 2014年12月27日 20:35
  • 15KB
  • 下载

Windows 2003单网卡实现VPN+NAT完整攻略

一、问题的提出       如图1所示,在单位有个私有地址为192.168.0.0的网络,各电脑是通过ADSL共享方式接入Internet,在家中有台电脑也通过ADSL访问Internet,现在想...

使用nat123实现外网访问内网LINUX

使用nat123,外网连接访问内网LINUX主机 当LINUX主机部署在内网,且主机没有固定公网IP或网络有限制时,怎么在外网用SSH访问内网LINUX? 解决办法:在内网启动NAT123端口映射...

Linux的NAT实现浅谈

NAT实际上就是一个代理,代理NAT内部的所有机器,NAT的分类就是按照“如何代理”来讲的,不管是基于连接的NAT实现,还是基于包的NAT实现,都要处理好一个映射关系,那就是转换后的包的返回包如何转换...
  • dog250
  • dog250
  • 2012年06月14日 18:19
  • 9995
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:NAT实现
举报原因:
原因补充:

(最多只允许输入30个字)