我在一台机器上有一个公共IP地址:
a.b.c.156/32
GW是abc133(位于/ 27网络中,其网关为abc129)
我静态添加了一个arp路由:
sudo arp -an
a.b.c.133 at ab:cd:ef:12:34:56 [ether] PERM on eth0
如果我ping a.b.c.156/32
:
From a.b.c.133: icmp_seq=2 Redirect Host (New nexthop: a.b.c.129)
然后:
sudo arp -an
a.b.c.129 at aa:bb:cc:dd:ee:ff [ether] on eth0 # !<------ why? (it is even not from the same network)
a.b.c.133 at ab:cd:ef:12:34:56 [ether] PERM on eth0
如何防止它在我的路由器(abc133)后面发送arp?这样abc129只能通过IP级别3访问,而不是像子网一样?
更新:
网络结构:
provider's GW (a.b.c.129/27) <--- my host (a.b.c.133/27) <--- my second host (a.b.c.156/32)
<--- my third host (a.b.c.151/32)
...
(a.b.c.x - public IP)
如何防止后面的主机"my host (a.b.c.133)"
发送arp "provider's GW (a.b.c.129/27)"
,但是使用路由呢?那么abc129只能通过IP级别3访问,而不是直接访问?那么如何隔离第二个,第三个...主机发送arp到"provider's GW (a.b.c.129/27)"
?
更新2:
我有以下内容"route -n"
:
Dest. GW. Mask Flags Metrics Ref Interface
0.0.0.0 a.b.c.133 0.0.0.0 UG 0 0 eth0
a.b.c.133 0.0.0.0 255.255.255.255 UH 0 0 eth0
更新3:
===============
my host (a.b.c.133/27):
> ip r
a.b.c.151 dev vmbr0 scope link # third host
a.b.c.156 dev vmbr0 scope link # second host
192.168.1.0/24 dev vmbr1 proto kernel scope link src 192.168.1.1 # local network
default via a.b.c.129 dev vmbr0 # provider's gw
> ip n
a.b.c.129 dev vmbr0 lladdr AA:BB:CC:DD:EE:FF REACHABLE
a.b.c.156 dev vmbr0 lladdr AB:CD:EF:12:34:56 PERMANENT
a.b.c.151 dev vmbr0 lladdr A1:B2:C3:D4:E5:F6 PERMANENT
===============
my second host (a.b.c.156/32):
> ip r
default via a.b.c.133 dev eth0
a.b.c.133 dev eth0 scope link
> ip n # before "ping a.b.c.129" or "ping 8.8.8.8"
a.b.c.133 dev eth0 lladdr F1:E2:D3:C4:B5:A6 PERMANENT
> ip n # after "ping a.b.c.129" or "ping 8.8.8.8"
a.b.c.129 dev eth0 lladdr AA:BB:CC:DD:EE:FF REACHABLE # after some minutes idle => STALE
a.b.c.133 dev eth0 lladdr F1:E2:D3:C4:B5:A6 PERMANENT
===============
other hosts the similar to "my second host"
很难弄清楚你在谈论什么。在什么机器上你静态添加ARP条目,为什么?你在最后一段谈到的“它”是什么?
—
David Schwartz 2013年
我知道了。更新了这个问题。
—
静态
有些东西仍然没有意义。ARP是以太网的东西。您的图片显示了与提供商的GW在单独的以太网上的第二台和第三台主机。因此他们无法向他们发送ARP请求。“背后”究竟意味着什么?路由器是“我的主机”吗?如果是这样,它是第二个和第三个主机的默认网关吗?
—
David Schwartz
我希望“我的主机(abc133)”成为路由器。这是一台普通的电脑。
—
静态
然后你需要添加路由,而不是ARP条目。并且abc133需要是第二个和第三个主机的默认网关。(并且“我的主机”需要与第二个和第三个主机一起位于子网上,以便他们可以交换流量。)
—
David Schwartz