Назад | Перейти на главную страницу

Как изменить маску петлевой сети или перенаправить подсеть на другой интерфейс

У меня следующая проблема. Прежде всего. Вот мои интерфейсы.

# 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>

Как видите, все пакеты по-прежнему перенаправляются на loopback.

Как лучше всего решить эту проблему?

Как упоминалось в Для чего используется остальная часть адресного пространства 127.0.0.0/8? , то 127.0.0.0/8 block - это блок кольцевой проверки, и все пакеты, предназначенные для этого блока, должны быть возвращены на исходный хост.

Таким образом, вы не можете никуда направить эти пакеты.