问题标签 [routetable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
542 浏览

amazon-web-services - Terraform AWS - 如何将默认路由更改为从 nat-gateway 到 ec2 的现有路由表?

我有一个私有子网,默认路由指向 nat 网关。两者都是由 terraform 创建的。

现在我有另一个代码来提高 ec2 以在我的 VPC 中用作 NAT(因为 cloud-nat-gateway 变得非常昂贵)。我正在尝试将我的 rtb 中的默认路由更改为这个新的 ec2 并收到以下错误:

错误:应用计划时出错:

发生 1 个错误:* module.ec2-nat.aws_route.defaultroute_to_ec2-nat:发生 1 个错误:* aws_route.defaultroute_to_ec2-nat:创建路由时出错:RouteAlreadyExists:由 0.0.0.0/0 标识的路由已存在。状态码:400,请求 ID:408deb59-d223-4c9f-9a28-209e2e0478e9

我知道这条路线已经存在,但是如何将这条已经存在的路线更改为新目标?在这种情况下,我的新 ec2 网络接口?

谢谢你的帮助。

以下是我正在使用的代码:

0 投票
2 回答
4019 浏览

terraform - AWS 路由表的 Terraform 模板

我创建了一个路由表,其中包含引用现有 Internet 网关 ( IGW ) 的路由规则,并且该路由表与通过 TF 模板创建的新 VPC 相关联。但是,相同的 IGW 已附加到另一个VPC。当我应用模板时,它会引发以下错误,

这是因为互联网网关只能连接到单个 VPC 并且必须驻留在同一个 VPC 中吗?还是由于任何其他原因导致此错误?

0 投票
0 回答
57 浏览

networking - 尝试最长前缀匹配

假设我有一个包含以下字段的 route_table_entry 结构:

我想为最长前缀匹配算法构建一个 Trie,如下所示:

好吧,我不确定这是否是存储它的最佳方式,但我应该在 Trie 中存储什么?我将如何考虑获得最大掩码?首先,我使用 routing_table 结构来执行此操作,该结构针对前缀进行排序,然后针对掩码进行递减,并使用易于找到的二进制搜索。但是使用 Trie 时,如何考虑在搜索前缀时获得具有最高掩码的前缀?

0 投票
2 回答
142 浏览

amazon-web-services - AWS VPC 无法删除到不存在 IP 范围的路由规则

我整个上午都在研究这个问题,但它似乎超出了我对 AWS VPC 的了解。

我们有一个旧的 AWS 账户,里面有一系列的 VPC。这些是多年前创建的。我担心的 VPC 很容易有 6 年的历史,如果不是更老的话。现有的 VPC 有:

eu-west-1(爱尔兰)

  • I1:172.31.0.0/16
  • I2:172.102.0.0/16
  • I3:172.201.0.0/16
  • I4:192.168.96.0/20

us-west-2(俄勒冈)

  • O1:192.168.0.144/20

我正在使用的 VPC 是I1:172.31.0.0/16

I1O1被窥视。

是的,我现在有一个新帐户,我在俄勒冈州创建了一个新的 VPC。让我们称之为

  • NO1:10.1.0.0/20

我已经看过了O1NO1。对等工作正常,路由表也可以。

当我凝视时,问题就来I1NO1

  • 创建对等连接很好。
  • NO1路由表添加规则工作正常。

我担心的是:当我去修改路由表时,I1我看到了以下规则。

  • 172.31.0.0/16 local active(这是为此 VPC 设置的 IP 范围,预计)
  • 10.0.0.0/8 local active(这是我的问题)
  • 0.0.0.0/0 inet active
  • 其他一些现有规则...

我不明白这个10.0.0.0/8规则。完整的 IP 范围正在内部路由,并且:

  • 这不在 VPC 的 IP 范围内
  • 万一我遗漏了什么,我检查了我能找到的所有 VPC 和子网。该IP范围没有任何内容。

当我去修改路由表时172.31.0.0/1610.0.0.0/8规则不能被删除,所以我只能假设它们是默认创建的。

active我的问题是,当 IP 范围“不存在”时,这条规则怎么可能?为什么我不能删除这个?我从来没有见过这个范围被默认添加到路由表中,这可能是 AWS 很久以前就做过的事情吗?

我已将规则10.1.0.0/20路由流量添加到我的对等 VPC。我希望因为它更具体,它会正常工作。我这样想是对的吗?

0 投票
1 回答
469 浏览

amazon-vpc - AWS 路由表优先级

我的子网附加到具有以下两条路由的路由表:

它们都是与另外两个账户中的 VPC 的 vpc 对等互连。在这种情况下,由于 CIDR 块范围相同,当发送数据包到 10.25.25.25 时,将使用哪个路由?

如果无法通过上述设置正确控制流量(单个子网路由到具有相同范围的两个 CIDR 块),推荐的方法是什么?使用两个子网并让每个子网都路由到 VPC 对等互连?

0 投票
3 回答
1789 浏览

amazon-web-services - AWS VPC:路由表如何将本地流量重定向到正确的子网和实例?

AWS VPC

这是一个AWS典型的VPC,它由以下组件组成

  • 两个子网
  • 互联网网关
  • 路由表
  • 实例

想象一个场景

step1,subnet1中的instance(私有IP 172.31.0.5)向IP 172.31.16.5(subnet2中)发送一个数据包。

step2,数据包到达路由表,路由表将数据包重定向到目标local

step3,发生了一些神奇的事情。

step4,instance(172.31.16.5)收到数据包。

以下问题是关于step3中的魔法的。

  1. 本地在这个地方是什么意思?VPC 网络?
  2. vpc和子网的拓扑是什么?
  3. 路由表如何知道哪个子网应该是接收此数据包的正确子网?
  4. 路由表如何知道哪个实例应该是接收此数据包的正确实例?
  5. 路由表如何将数据包重定向到实例(172.31.16.5)?
  6. 如果我想更好地理解它,我应该先学习什么样的背景知识?
0 投票
1 回答
183 浏览

amazon-web-services - AWS 路由表中的路由决策

路由表中路由决策列表示例,来源:互联网

在AWS中,如果你能看一下上图,我知道如果子网中的任何实例附加到路由表,试图命中(10.0.0.0-10.0.255.255)之间的IP地址应该去本地,它不应该去互联网。假设我在 VPC 的公有子网中有实例的公有 IP 地址,它正在尝试访问 IP 地址为 10.0.0.5/32 的外部域的公有 IP 地址。

在那种情况下,路由是如何发生的,无论是本地还是互联网?

0 投票
1 回答
102 浏览

amazon-web-services - AWS:VPC、子网、NACL、安全组、IGW、路由表等

我已经看了好几个小时的教程,读到眼睛都要流血了,但我似乎无法理解 Amazon VPC 是如何工作的。我按照教程多次创建和删除了带有 EC2 实例的整个 VPC 环境,但是一旦我去创建一个没有教程的环境,我就迷路了。

我试图提出一个类比来帮助我更好地理解。我到目前为止是这样的:

VPC就像一个Club。在俱乐部的前面,您有一个 入口,即IGW。在俱乐部内部,您有不同的区域;一般区域是公共子网管理区域私有子网

一般区域内,您将有一个舞池/酒吧,相当于一个EC2 实例和一个接收区,管理人员可以在其中接收来自外部世界的交付和诸如此类的东西,即NAT

然后在Management Area中,您将拥有一个Office、另一个EC2 Instance和您的Inventory,就像您的RDS一样。

到目前为止,我认为这是一个有点准确的类比,但是一旦我开始尝试在 SG、NACL、RT 等方面工作,我意识到我并没有完全掌握。

谁能帮我完成这个类比或提供一个更好的类比?我无计可施。

0 投票
1 回答
481 浏览

amazon-web-services - 使用 Terraform 过滤以查找 AWS VPC 中的非主路由表

aws_route_table为了使下面的 Terraform 数据源成功返回在 VPC 中未指定为主路由表的路由表,必须使用什么特定语法?

VPC 中只有一个非主路由表。因此,main=false如果过滤器语法正确,过滤器应该识别它。

上述代码当前产生的错误是:

错误:您的查询未返回任何结果。请更改您的搜索条件,然后重试

0 投票
1 回答
757 浏览

azure - 错误:部署参数使用区分大小写的名称。错误参数名称:名称。(ARM 模板部署)

我正在为创建路由表创建 ARM 模板。从模板部署下载的简单 ARM 模板失败。在我运行 ARM 模板后,它会询问名称并引发以下错误。

在此处输入图像描述

我曾尝试给出 routeVnet、vnetroute 等名称。看到一些帖子在名称中给出小写大写的组合将解决问题。但它在这里不起作用。

手臂模板:

参数模板