我有一个运行 Junos 12.1XD46-D30.2 的 SRX 220 集群。我的 ISP 为我提供了一个 /27 公共 IP 范围。假设 80.0.0.64/27
其配置方式是它们使用前两个可用 IP 地址进行 VRRP 冗余路由器设置。这些是我们的默认网关 IP 地址。
我已将 SRX 接口 reth0.0 配置为使用 IP 地址 80.0.0.71/27
问题
如何将设备放置在 IP 地址为 80.0.0.90 的 DMZ 区域中?
我试过什么?
配置1:
reth0.0 在区域 untrust 中
配置为 80.0.0.71/27 reth1.110 在区域 DMZ 中配置为 80.0.0.89/30
SRX 将 80.0.0.65
服务器的默认网关配置为 80.0.0.90/30,其网关为 80.0000。
测试/结果:
- SRX 可以 ping 服务器,反之亦然
- 服务器无法 ping SRX 的默认网关 80.0.0.65
- 当我从远程设备 ping 服务器 (.90) 时,我看到来自提供商网关 80.0.0.65 的 80.0.0.90 ARP 请求,但我没有看到 SRX 发回任何回复
- 当我从远程设备 ping SRX reth1.110 (.89) 地址时,我还看到来自我们的提供商网关 80.0.0.65 的 ARP 请求。我没有看到 SRX 发回任何回复
像这样从 reth0.0 接口捕获流量(通过交换机端口镜像)
13:03:31.967949 arp who-has 80.0.0.89 tell 80.0.0.65
13:03:35.612408 arp who-has 80.0.0.90 tell 80.0.0.65
这清楚地向我表明,SRX 不会代表其较小的 /30 子网发送 ARP 回复,该子网位于 reth0.0 接口之外的不同接口 (reth1.110) 上。
我认为这可能是在 security > nat > proxy-arp 下使用代理 arp 设置的一个很好的理由
检查路由表显示我的流量被路由到正确的接口,所以它不是
inet.0: 258 destinations, 267 routes (258 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
80.0.0.88/30 *[Direct/0] 00:44:23
> via reth1.110
配置2:
与配置 1 相同,但添加以下内容
设置安全 nat 代理-arp 接口 reth0.0 地址 80.0.0.88/30
测试/结果:
- SRX 可以 ping 服务器,反之亦然
- 服务器无法 ping SRX 的默认网关 80.0.0.65,但是我现在看到 ICMP 流量离开外部接口上的 SRX 前往 80.0.0.65。我还看到 80.0.0.65 只是将 ARP 请求发回,而 SRX 没有回应这些请求。
13:17:30.182718 IP 80.0.0.90 > 80.0.0.65: ICMP echo request, id 9514, seq 1, length 64
13:17:30.183316 arp who-has 80.0.0.90 tell 80.0.0.65
13:17:31.240008 IP 80.0.0.90 > 80.0.0.65: ICMP echo request, id 9514, seq 2, length 64
13:17:32.240342 IP 80.0.0.90 > 80.0.0.65: ICMP echo request, id 9514, seq 3, length 64
13:17:32.240990 arp who-has 80.0.0.90 tell 80.0.0.65
13:17:33.239726 IP 80.0.0.90 > 80.0.0.65: ICMP echo request, id 9514, seq 4, length 64
13:17:34.239860 IP 80.0.0.90 > 80.0.0.65: ICMP echo request, id 9514, seq 5, length 64
13:17:34.240758 arp who-has 80.0.0.90 tell 80.0.0.65
- 当我从远程设备 ping 服务器 (.90) 时,我看到来自提供商网关 80.0.0.65 的 80.0.0.90 ARP 请求,但我没有看到 SRX 发回任何回复
- 当我从远程设备 ping SRX reth1.110 (.89) 地址时,我还看到来自我们的提供商网关 80.0.0.65 的 ARP 请求。我没有看到 SRX 发回任何回复
看起来 SRX 仍然没有代表它的 /30 子网发送 ARP 回复,现在我的路由表看起来有点不同,我认为这取决于代理 arp 配置条目。
inet.0: 258 destinations, 268 routes (258 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
80.0.0.88/30 *[Direct/0] 00:58:45
> via reth1.110
[Static/1] 00:08:33
Receive
配置3:
这次我修改了proxy arp语句,让它只覆盖了服务器IP地址
设置安全 nat 代理-arp 接口 reth0.0 地址 80.0.0.90/32
[edit security nat proxy-arp interface reth0.0 address]
+ 80.0.0.90/32;
- 80.0.0.88/30;
测试/结果:
- SRX可以不ping服务器,反之亦然
# run ping 80.0.0.90
PING 80.0.0.90 (80.0.0.90): 56 data bytes
ping: sendto: Can't assign requested address
ping: sendto: Can't assign requested address
--- 80.0.0.90 ping statistics ---
2 packets transmitted, 0 packets received, 100% packet loss
现在查看 SRX 上的路由表会显示此条目
inet.0: 259 destinations, 268 routes (259 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
80.0.0.90/32 *[Static/1] 00:00:29
Receive
- 当我从远程设备 ping 服务器 (.90) 时,我看到来自提供商网关 80.0.0.65 的 80.0.0.90 ARP 请求,现在我看到 ARP 回复
13:23:59.327903 arp who-has 80.0.0.90 tell 80.0.0.65
13:23:59.333994 arp reply 80.0.0.90 is-at 00:00:00:ff:b0:00
- 当我从远程设备 ping SRX reth1.110 (.89) 地址时,我看到来自我们的提供商网关 80.0.0.65 的 ARP 请求。我没有看到 SRX 发回任何回复
现在看起来 SRX 正在发送 ARP 回复,但由于代理 arp 条目/路由规则,实际上无法将流量路由到正确的接口。
有趣的是,如果我现在将转换恢复到原始状态,因为上游路由器已经缓存了 80.0.0.90 的 ARP 条目,一切正常,直到超时。
我将在等待 ARP 条目超时的同时发布此信息(希望不是 4 小时!!)。
有谁知道我错过了什么?
通常这并不难,因为您的 ISP 会在您和您之间提供一个 /30 PTP 链接,然后他们只会将所有流量路由到该链接上,让您可以自由地做任何事情!
