Rya*_*ein 4 linux networking amazon-web-services
我似乎无法找到正确的搜索词组合来谷歌搜索这个答案,但是如果我想创建自己的弹性IP,我可以使用我自己的私人托管指向任何其他上行地址,我该怎么办?一些瓶颈是什么?
添加更多细节:Amazon 的 Elastic 不仅仅是一个您传递请求的服务器,然后它会为您发出请求并传回返回的数据,就像某种 VPN 一样。他们的服务允许您向一个 IP 地址发出请求,就像您完全向另一个 IP 地址发出该请求一样。他们如何做到这一点?
iptables我相信这可以通过简单的规则和网络地址转换(NAT)来完成,但我不确定 AWS 如何在其后端执行此操作。
一个简单的规则
iptables -t nat -I PREROUTING -d 99.99.99.99 -j DNAT --to-destination 12.34.56.78
Run Code Online (Sandbox Code Playgroud)
在此规则中,我们将在表的顶部添加一条规则NAT Prerouting,这将是每个数据包评估的第一个规则 - 疲倦,许多规则会减慢您的数据包流 - 如果您下降,您应该研究 iptables这条路线。
在这里,我们将接收一个发往99.99.99.99- 的数据包,该DNAT规则将简单地重写数据包的目标 IP,然后继续发送。
要删除规则,只需将 更改-I为-D。
上述规则到新服务器的基本故障转移
iptables -t nat -D PREROUTING -d 99.99.99.99 -j DNAT --to-destination 12.34.56.78 # Delete existing forward
iptables -t nat -I PREROUTING -d 99.99.99.99 -j DNAT --to-destination 87.65.43.21 # Add new forward
Run Code Online (Sandbox Code Playgroud)
请注意,您还需要在表中Filter Forward为您计划将数据包发送到的每个目的地制定规则。
iptables -t filter -I FORWARD -d 12.34.56.78 -j ACCEPT
iptables -t filter -I FORWARD -d 87.65.43.21 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
编辑
您询问了负载平衡的问题,因此这也是 3 台主机之间的负载平衡连接。
iptables -t nat -I PREROUTING -d 99.99.99.99 --mode nth --every 1 --packet 0 -j DNAT --to-destination x.y.z.1
iptables -t nat -I PREROUTING -d 99.99.99.99 --mode nth --every 2 --packet 0 -j DNAT --to-destination x.y.z.2
iptables -t nat -I PREROUTING -d 99.99.99.99 --mode nth --every 3 --packet 0 -j DNAT --to-destination x.y.z.3
Run Code Online (Sandbox Code Playgroud)
如果您想将其限制为 HTTP / HTTPS,您可以相应地过滤这些端口:
iptables -t nat -I PREROUTING -d 99.99.99.99 -p tcp --dport 80 -j DNAT --to-destination 12.34.56.78:80
Run Code Online (Sandbox Code Playgroud)
它可能会有所帮助,可能只是更加令人困惑,但这里有一个包含一些有用规则的页面。
| 归档时间: |
|
| 查看次数: |
305 次 |
| 最近记录: |