LINUX.ORG.RU
ФорумAdmin

Маршрутизация в Linux

 ,


0

1

Привет лор! Подскажите пожалуйста по маршрутизации, что я делаю не так.

Имею: физический пк 192.168.2.12 вм 1. первый адаптер 192.168.2.43 второй адаптер 10.10.10.1 вм 2. у нее один адаптер 10.10.10.5

На вм1 выключил селинукс, выключил firewalld, выполнил sysctl -w net.ipv4.ip_forward=1 для пересылки пакетов между интерфейсами.

На вм2 выполнил ip route add 192.168.2.0/24 via 10.10.10.1

На физическом пк выполнил команду route add 10.10.10.0 mask 255.255.255.0 192.168.2.43

Теперь у меня вот такая картина: С физического пк доступ к вм2 есть, а вот с вм2 до сети 192.168.2.0 нету.

Подскажите пожалуйста почему так?

Ответ на: комментарий от infomeh

на вм1 вот такая ситуация маршрут там уже был по умолчанию

[root@gateway ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:0c:29:ca:25:36 brd ff:ff:ff:ff:ff:ff inet 192.168.2.43/24 brd 192.168.2.255 scope global dynamic noprefixroute ens192 valid_lft 32934sec preferred_lft 32934sec inet6 fe80::e80b:57b:1ea2:ab21/64 scope link noprefixroute valid_lft forever preferred_lft forever 3: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:0c:29:ca:25:40 brd ff:ff:ff:ff:ff:ff inet 10.10.10.1/24 brd 10.10.10.255 scope global noprefixroute ens224 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:feca:2540/64 scope link valid_lft forever preferred_lft forever 4: ens256: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:0c:29:ca:25:4a brd ff:ff:ff:ff:ff:ff [root@gateway ~]# [root@gateway ~]# [root@gateway ~]# ip route show default via 192.168.2.2 dev ens192 proto dhcp metric 100 default via 192.168.2.2 dev ens224 proto static metric 101 10.10.10.0/24 dev ens224 proto kernel scope link src 10.10.10.1 metric 101 192.168.2.0/24 dev ens192 proto kernel scope link src 192.168.2.43 metric 100 192.168.2.2 dev ens224 proto static scope link metric 101

ens192 ()

+ обнаружил что с вм2 идет пинг до 192.168.2.43.

ens192 ()
Ответ на: комментарий от ens192

Во-первых, вы видели в форме помещения сообщения на форум кнопки «Поместить», «Предпросмотр», «Отмена»?

Первая, чтобы поместить сообщение, вторая, чтобы проверить как сообщение будет выглядеть. Она сделана не просто так, используйте.

Во-вторых, вы текст
"Внимание: прочитайте описание разметки LORCODE или Markdown."
в форме помещения сообщений видели?

Откройте описание разметки, прочтите и используйте теги, что бы ваше сообщение не разъезжалось, подсказка для помещения выводов команд, чтобы они выглядели нормально нужен тег для помещения кода.

Ну и если у вас ESXi, то в таком случае вам нужно либо разобраться можно ли включить маргшрутизация в ESXi, если нет, то в таком случае вам нужно треться виртуалка, которая будет иметь интерфейсы в сети 192.168.2.0/24 и в сети 10.10.10.0/24 и её пропишите шлюзом, другого варианта нет.

infomeh ★★ ()
Ответ на: комментарий от infomeh

вм1 и так имеет два интерфейса и по сути является шлюзом в другую подсеть.

физический пк имеет доступ к вм2 через вм1. вм2 может пинговать у вм1 оба интерфейса но дальше вм1 доступа не имеет.

ens192 ()
Ответ на: комментарий от ens192

Так, рисуйте схему сети.

Что такое физический ПК, это хост с гипервизором ESXi или что-то другое?

Схематично, как соединены системы, какие интерфейсы, какие IP адреса, если у системы два интерфейса в разных сетях, то и рисуйте два линка на схематичном прямоугольнике изображающем комптютер и подписывайте какой IP адрес на каждом интерфейсе.

Так же укажите, что является виртуальной системй, а что реальной.

infomeh ★★ ()
Ответ на: комментарий от ens192

На ВМ1 нужно включить IP_FORWARD и на всех остальных узлах прописать ВМ1 шлюзом, либо добавить маршруты до другой сети через ВМ1.

Так же если есть что-то в iptables на ВМ1, то должно быть разрешено прохожение пакетов из одной сети в другую или с одного интерфейса в другой в цепочке forward.

infomeh ★★ ()
Ответ на: комментарий от ens192

Теперь у меня вот такая картина: С физического пк доступ к вм2 есть, а вот с вм2 до сети 192.168.2.0 нету.

Если у вас с Физического компа с адресом 192.168.2.12 есть доступ до ВМ2 с адресом 10.10.10.5, то значит у вас есть доступ и с ВМ2 до физического компа. Т.е. с 10.10.10.5 до компа с адресом 192.168.2.12 в сети 192.168.2.0.

И что вы имеете в виду под фразой «есть доступ», идёт пинг?

Без обратной свящи от ВМ2 к физическому компу ответный ICMP пакет не пришёл бы.

Что бы с ВМ2 были доступны все узлы сети 192.168.2.0 на них всех должен быть прописан маршрут до сети 10.10.10.0 или указан шлюзом ВМ1 и они все должны пинговаться с ВМ1.

Покажите вывод

iptables-save
с ВМ1.

infomeh ★★ ()
Ответ на: комментарий от ens192

Нет, он имеет в виду, что rhel 8 - это платный дистрибутив, который вы ставить без доступа к репозиторию, а значит и купленной тех. поддержки не имеет права, аналогично и с rhel 7.

А раз у вас есть тех. поддержка, то вы можете обращаться в redhat.

А так, прочитай моё предыдущее сообщение.

Что значит «есть доступ» и если у вас с физ. компа пингуется вм2, то значит у вас и с вм2 есть доступ до физ. компа.

infomeh ★★ ()
Ответ на: комментарий от infomeh

Лицензию на редхат, может получить каждый, бесплатно.

Под доступом я подразумеваю то что с физического пк у меня идёт пинг и проваливается ссш до вм2. Но с вм2 не идёт пинг ни к одному хосту в сети 192.168.2.0 кроме 192.168.2.43

ens192 ()
Ответ на: комментарий от ens192

Если у вас физического ПК идёт пинг до ВМ2, то значит и с ВМ2 должен идти пинг до физического ПК.

Проверяйте iptables-save на всех системах, показывайте здесь.

infomeh ★★ ()
Ответ на: комментарий от ens192

Маршрут до сети 10.10.10.0 должен быть прописан на всех хостах сети 192.168.2.0.

infomeh ★★ ()
Ответ на: комментарий от ens192

выключил firewalld

firewalld - это демон, который управляет правилами пакетного фильтра, его выключение не очищает уже загруженные правила.

infomeh ★★ ()
Ответ на: комментарий от infomeh

[root@gateway ~]# iptables-save
# Generated by xtables-save v1.8.2 on Sat Jul 27 03:13:44 2019
*filter
:INPUT ACCEPT [1261:352871]
:FORWARD ACCEPT [708:87750]
:OUTPUT ACCEPT [205:46565]
COMMIT
# Completed on Sat Jul 27 03:13:44 2019
# Generated by xtables-save v1.8.2 on Sat Jul 27 03:13:44 2019
*security
:INPUT ACCEPT [1261:352871]
:FORWARD ACCEPT [708:87750]
:OUTPUT ACCEPT [205:46565]
COMMIT
# Completed on Sat Jul 27 03:13:44 2019
# Generated by xtables-save v1.8.2 on Sat Jul 27 03:13:44 2019
*raw
:PREROUTING ACCEPT [1972:443673]
:OUTPUT ACCEPT [205:46565]
COMMIT
# Completed on Sat Jul 27 03:13:44 2019
# Generated by xtables-save v1.8.2 on Sat Jul 27 03:13:44 2019
*mangle
:PREROUTING ACCEPT [1972:443673]
:INPUT ACCEPT [1261:352871]
:FORWARD ACCEPT [708:87750]
:OUTPUT ACCEPT [205:46565]
:POSTROUTING ACCEPT [913:134315]
COMMIT
# Completed on Sat Jul 27 03:13:44 2019
# Generated by xtables-save v1.8.2 on Sat Jul 27 03:13:44 2019
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
# Completed on Sat Jul 27 03:13:44 2019
[root@gateway ~]#
ens192 ()

Похоже файервол на хосте не пускает. 192.168.2.43 скорее всего доступен с vm2, а 192.168.2.12 не доступен. Как раз из-за файерволла на хосте.

iliyap ★★★★★ ()
Ответ на: комментарий от iliyap

firewall выключен везде.

адрес 192.168.2.43 доступен с vm2

Что меня больше всего поражает, это то что с 192.168.2.12 есть доступ к vm2, но обратного доступа нету, пинги не идут с vm2 в сеть 192.168.2.0/24, кроме интерфеса 192.168.2.43 на vm1.

я уже шлюз переразвернул на дебиане, ситуция такая же.

ткините меня пожалуйста куда смотреть.

А это вообще должно работать без iptables или firewalld с натом или маскарадом?

ens192 ()
Ответ на: комментарий от ens192

Должно работать без ната и маскарада. Собственно, оно работает, когда ssh идет с хоста на vm2. Там ведь пакеты в обе стороны ходят, и раз ssh сессия работает, то ходят успешно. ssh с vm2 на хост это то же самое с точки зрения маршрутизации. Значит дело не в маршрутизации. На хосте esxi, у него свой файервол, ваша уверенность в том, что он выключен, лично меня не убеждает.

iliyap ★★★★★ ()
Ответ на: комментарий от iliyap

Разобрался, теперь траффик бегает в обе стороны без firewalld

ens192 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.