Успешное добавление маршрутов в Ubuntu Server 12.04

У меня есть виртуальная машина поверх VMware, на которой я запускаю Ubuntu Server 12.04. У меня есть два сетевых адаптера, настроенных для виртуальной машины, и моя конфигурация / etc / network / interfaces выглядит так:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 10.226.83.2
netmask 255.255.255.248
gateway 10.226.83.1

# Management Interface
auto eth1
iface eth1 inet static
address 10.20.9.200
netmask 255.255.240.0
up ip route add 10.20.0.0/20 via 10.20.0.1 dev eth1 || true
up ip route add 10.21.120.0/22 via 10.20.0.1 dev eth1 || true
up ip route add 10.13.122.0/22 via 10.20.0.1 dev eth1 || true

Моя проблема в том, что с этой конкретной конфигурацией я не могу увидеть маршрут к 10.13.122.0/22 ​​при вызове маршрута:

$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use     Iface
default         10.226.83.1     0.0.0.0         UG    100    0        0 eth0
10.20.0.0       *               255.255.240.0   U     0      0        0 eth1
10.21.120.0     10.20.0.1       255.255.252.0   UG    0      0        0 eth1
10.118.233.0    10.118.233.2    255.255.255.0   UG    0      0        0 tun10000
10.118.233.2    *               255.255.255.255 UH    0      0        0 tun10000
10.226.83.0     *               255.255.255.248 U     0      0        0 eth0

Я пытаюсь достичь того, что трафик в и из сетей 10.20.0.0/20 , 10.21.120.0/22 ​​и 10.13.122.0/22 ​​будут проходить через eth1 к 10.20.0.1, в противном случае трафик будет проходить через eth0 и через 10.226.83.1. tun10000 - это адаптер, созданный нашей конфигурацией OpenVPN, и в этом случае его можно игнорировать.

В настоящее время все, кроме 10.13.122.0/22, работает нормально, что отражено в таблице маршрутизации; Я не вижу 10.13.122.0/22 ​​в таблице, хотя маршрут для него был добавлен с использованием того же синтаксиса, что и для двух других сетей.

Кроме того, когда я выполняю sudo /etc/init.d/networking restart, я получаю последующий:

$ sudo /etc/init.d/networking restart
 * Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces
 * Reconfiguring network interfaces...
                                                    ssh stop/waiting
ssh start/running, process 21240
RTNETLINK answers: File exists
RTNETLINK answers: Invalid argument
ssh stop/waiting
ssh start/running, process 21306

Даже с двумя ответами RTNETLINK я получаю функциональный интерфейс, за исключением маршрута к 10.13.122.0/22. Как я могу заставить этот маршрут работать и есть ли способ избавиться от сообщений «Файл существует» и «Недопустимый аргумент»?

0
задан 10 November 2015 в 12:01
2 ответа

У меня в конфигурации была неправильная маска; при замене 10.13.122.0/22 ​​на 10.13.122.0/23 все заработало.

0
ответ дан 4 December 2019 в 16:46

10.21.120.0/22 ​​ - это 10.21.120.0-10.21.123.255, следовательно, идентично 10.13.122.0/22 ​​. Таким образом, установка маршрута для 10.13.122.0/22 ​​ выдаст ошибку «Файл существует» (или, точнее, «запись уже существует»).

Вам нужно определить топологию вашей сети немного лучше.

1
ответ дан 4 December 2019 в 16:46

Теги

Похожие вопросы