Рейтинг:0

Проблема маршрутизации между Linux-машиной

флаг tn

Привет, у меня есть 3 Linux-сервера, развернутых в облаке Openstack в одной сети.

Сервер A -----> Сервер B ------> Сервер C

  • Диапазон частных IP-адресов каждого сервера — 192.168.10.x/24.

Все 3 сервера общаются друг с другом в диапазоне IP-адресов 192.168.10.x. Я хочу, чтобы сервер A перенаправлял трафик на сервер B, если он принадлежит серверу C, и наоборот.

Для этого я создал статический маршрут на сервере A, который, если пунктом назначения является сервер C, отправил его через сервер B, и для этого трафика был создан такой же обратный маршрут на сервере C.

Проблема в том, что если мы добавим этот конкретный маршрут, связь между сервером A и сервером C прекратится.Я вижу пакеты на сервере B, но они не проходят на сервер C.

Я попытался включить переадресацию IP на каждом сервере, но проблема осталась прежней.

[root@serverB ~]# cat /proc/sys/net/ipv4/ip_forward
1
[root@serverB ~]#
vidarlo avatar
флаг ar
Вы не выполняете маршрутизацию, когда хосты находятся в одной подсети. Что вам нужно, так это переключение.
A.B avatar
флаг cl
A.B
Я успешно воспроизвел вашу настройку, используя 4 сетевых пространства имен (4-е является мостом для связи остальных 3 для AB и C). Этого делать не следует, но это должно сработать. Сервер B будет маршрутизировать/пересылать пакеты *и* возвращать пакеты перенаправления ICMP, поскольку он обнаруживает, что его нельзя использовать для маршрутизации двух узлов в одной и той же локальной сети. Поэтому, если ваш сервер B этого не делает, значит, есть что-то еще, либо на B, либо в среде openstack. Вы должны добавить точный способ настройки в своем вопросе, чтобы его можно было воспроизвести. И, конечно же, здесь серверная ошибка, объясните, ПОЧЕМУ вы это сделаете.
Rohit Singh avatar
флаг tn
Я понимаю вашу точку зрения, потому что из-за этого все серверы находятся в одной подсети, сервер B не может правильно маршрутизировать пакеты. Но я попытался изменить маршруты и IP-адрес, которые упоминаются в обсуждении следа, но это также не сработало. В идеале с новой настройкой IP и маршрута не должно быть проблем между сервером A и сервером C. Я полагаю, что либо логический переключатель на openstack вызывает некоторую проблему, либо потребуется дополнительная настройка на стороне сервера B.
Рейтинг:0
флаг us

Вам нужно поместить сервер B и сервер C в их собственную подсеть. 192.168.11.0/24.

Сервер A и сервер B остаются в 192.168.10.0/24.

Для этого вам нужно иметь два интерфейса на сервере B, которые подключены к двум разным сетям Ethernet.

После этого вы можете настроить B для пересылки пакетов между A и C.

Вам также необходимо настроить таблицы маршрутизации соответственно на A и C:

  • На A вам нужно настроить, чтобы пакеты шли на 192.168.11.0/24 следует отправить через Б.
  • На C вам нужно настроить, чтобы пакеты шли на 192.168.10.0/24 следует отправить через Б.
Rohit Singh avatar
флаг tn
Я попытался поместить сервер B и сервер C в другую сеть `192.168.24.0/24`, но все еще не получил связи между сервером A и сервером C. Вот конфигурация моего сервера. `Сервер A (ETH1 - 192.168.10.24) ----> (ETH1 - 192.168.10.26) Сервер B (ETH2 - 192.168.24.17)------>ServerC (ETH2 -192.168.24.8)` Маршрутизация на `Сервер А --> 192.168.24.0/24 через 192.168.10.26 dev eth1` Маршрутизация на `Сервер C --> 192.168.16.0/24 через 192.168.24.17 dev eth2`
Rohit Singh avatar
флаг tn
Еще одна вещь, которую я хотел бы подчеркнуть, это то, что я отключил брандмауэр на каждом сервере и включил переадресацию IP на сервере B.
флаг us
Маршрут на сервере C предназначен для сети 192.168.16.0/24, но сервер A находится в сети 192.168.10.0/24.
Rohit Singh avatar
флаг tn
Извините, моя ошибка, это была опечатка, правильная маршрутизация на сервере C: «192.168.10.0/24 через 192.168.24.17 dev eth2»
Rohit Singh avatar
флаг tn
Еще одна вещь: в идеале сервер A должен пинговать IP-адрес интерфейса 192.168.24.17 сервера B, если я проложил маршрут на сервер A для сети 192.168.24.0/24, но этого также не происходит.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.