啥都不会 发表于 2017-5-15 22:19:06

请教:阿里云的SNAT和DNAT配置问题。

大家好。军哥好

请教一个问题,在阿里云买了几台专网ECS,部署不同的服务;公网IP 买了一个弹性公网IP 。
也就是对外的时候,用户只访问这一个IP 来获取不同的服务;
通过阿里云的DNAT 和SNAT 来做内网几台服务器的转发。但是配置起来并不是那么回事。没那么容易。




官网给的教程:
DNAT :https://help.aliyun.com/knowledge_detail/38761.html
SNAT:https://help.aliyun.com/knowledge_detail/38761.html


上面有 一点说明的是,做DNAT的时候不能使用路由表会冲突; SNAT又必须使用路由表
这两种转发是不能同时存在吗?


还有就是想知道,DNATSNAT 是必须在每台服务器上做 DNAT SNAT的配置吗?
还是只在 绑定了公网IP的机器上做就可以?其他的不用做?
谢谢


填上一段配置。
大家给瞅瞅。多谢啦。


DANT配置(只在绑定了公网IP的机器上做了,其他机器上没有。其他内网机器是不是也需要做呢?)

开启内核转发功能:
sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g' /etc/sysctl.conf
sysctl –p

iptables 添加DNAT转换规则

添加转发规则这里以,访问公网IP的80端口的所有请求,都转给内网机器172.16.3.1处理

iptables -t nat -I PREROUTING -p tcp --dport 80 -j DNAT --to 172.16.3.1(内网机器的IP)

使转发数据包实现“双向通路”,给数据包设置一个正确的返回通道:

iptables -t nat -I POSTROUTING -p tcp --dport 80 -j MASQUERADE







SNAT:也是只在绑定了公网IP的服务器上做了配置,其他内网的机器没做配置。

开启内核转发:

sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g' /etc/sysctl.conf

Sysctl –p

iptables -t nat -I POSTROUTING -s 172.16.3.0/24(内网的网段) -j SNAT --to-source 172.16.3.2

iptables添加SNAT转换 172.16.3.0是内网网段,172.16.3.2是绑定了公网IP的这台机器的内网IP

然后再阿里云的后台,添加路由表。
0.0.0.0/0 下一跳:绑定了公网IP的内网服务器。







求教,这样的配置有没有问题?
目前内网的其他机器,还是无法连入公网;而且通过公网IP访问一些内网上其他机器的服务,也访问不同。


多谢!!


另外、可以有偿请教。可以私信我。


谢谢啦。

licess 发表于 2017-5-16 10:17:33

没用过eip不大了解,看文档说明eip应该和路由差不多实现snat和dnat
阿里云那边应该能发ticket问问吧
页: [1]
查看完整版本: 请教:阿里云的SNAT和DNAT配置问题。