
Привет, у меня есть 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 ~]#
решение1
Вам необходимо поместить сервер 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
через B. - На C необходимо настроить
192.168.10.0/24
отправку пакетов через B.