我有以下问题。首先。这是我的接口。
# ip addr
ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
inet 10.10.1.15/24 brd 10.10.1.255 scope global eth1
inet6 fe80::a00:27ff:fe28:b0c4/64 scope link
valid_lft forever preferred_lft forever
如您所见,环回接口服务于以下网络127.0.0.1/8
,网络掩码为255.0.0.0
。
我的问题是我需要将所有流量(例如网络流量)路由127.22.0.0/16
到接口eth1
。
我现在有以下路线
default via 10.10.1.2 dev eth1
default via 10.10.1.2 dev eth1 metric 203
10.10.1.0/24 dev eth1 scope link
10.10.1.0/24 dev eth1 proto kernel scope link src 10.10.1.15 metric 203
10.10.1.2 dev eth1 scope link
我尝试添加以下路线
ip route add 127.22.0.0/16 via 10.10.1.2 dev eth1
但不幸的是,它不起作用。
输出如下
root@sys:/ # ip route flush cache
ip route flush cache
root@sys:/ # ip route get "127.22.0.1"
ip route get "127.22.0.1"
local 127.22.0.1 dev lo src 127.0.0.1
cache <local>
正如您所见,所有数据包仍然重定向到环回。
该问题的最佳解决方案是什么?
答案1
正如所提到的127.0.0.0/8 地址空间的其余部分用于什么?,该127.0.0.0/8
块为环回块,所有发往该块的数据包都必须环回到原始主机。
因此,您无法将这些数据包路由到任何地方。