LINUX.ORG.RU
ФорумAdmin

Centos 6.6 неопределенные проблемы с сетью.

 ,


0

1

Доброго времени суток.
Есть centos 6.6 vm (vsphere 6.0) с двумя интерфейсами, на eth2 адрес LAN (194.135.107.2/24, да, такая там адресация LAN), на eth3 - белый адрес арендуемого у оператора связи маршрутизируемого пула ipv4 (eth0 и eth1 отсутствуют).
Недавно перестал работать SSHd. Вопрос об этом человек, в ведении которого эта vm находится, здесь задавал. Точнее он работал, аутентификация судя по /var/log/secure проходила успешно, но терминал не отрисовывался и ни на что не реагировал, после чего окно закрывалось по таймауту. Запуск в дебаге полезных деталей в лог не добавил. Теперь пытаются завести vsftpd просто для загрузки файлов, но, однако, и это безуспешно по непонятным причинам.
Первое что я решил сделать - это клон, чтобы на рабочей машине не разводить тесты. Сделал клон, оба интерфейса поместил в порт-группу изолированного vSwitch (без аплинков), в эту же портгруппу поместил другую тестовую vm win7 (чтобы с нее проверять доступность сервисов, не выводя этот самый centos из песочницы и не меняя его адреса). После клонирования исправил udev net правила, интерфейсы называются также как и на продуктивной машине. Итого в песочнице имею:
centos 6.6, eth2 194.135.107.2/24, eth3 83.246.160.45/28
win7 1 интерфейс 194.135.107.193/24 и 83.246.160.46/28
Далее наткнулся на странную проблему: с win7 вижу 83.246.160.45 («белый» интерфейс) centos`а, но 194.135.107.2 не отвечает (ни icmp, ни что либо другое). При этом с centos вижу оба адреса win7 (194.135.107.193 и 83.246.160.46). Т.е. 194.135.107.193 шлет ответы 194.135.107.2, а вот 2 в сторону 193 ничего не шлет. Какой-то бред, особенно учитывая то, что в arp кэше ip адреса корректно соотносятся с mac`ами. Если удалить запись, она корректно обновится.

Что попробовал:
1. У них в ifcfg-eth скриптах для каждого из двух интерфейсов был указан дефолтный шлюз. Это на ситуацию в песочнице не влияет, но оставил только 1.
2. iptables -F, политики ACCEPT.
3. Удалил сетевые интерфейсы (VMXNET3), добавил другие. Ситуация не изменилась.


Попробовал подключиться через SSH на белый адрес продуктивной машины - со скрипом, но подключился (это там, где не работает SSH на LAN интерфейсе). Проверка учетной записи и отрисовка терминала заняла около минуты.
У меня даже идей нет, в чем проблема (особенно с видимостью 194.135.107.2 в песочнице).

Проблема найдена, найден «workaround».
На машине обнаружен pbr. Схема примерно такая: https://hkar.ru/OkDa. Вот в чем суть: есть некая межфилиальная сеть 10.33.0.0/16, на интерфейсе 10.33.31.4 сделан dnat на 194.135.107.2. Т.е. машина должна отвечать клиентам из локальной сети (на eth2), из межфилиальной сети (тоже на eth2) и клиентам из Интернета (на eth3). Шлюз по умолчанию для centos - 83.246.160.33, т.е. если клиенты из 10.33.0.0/16 стучатся на 10.33.31.4, dnat перенаправляет на 194.135.107.2, но эта машина не знает как ответить. Был сделан pbr такой (хотя можно было просто роут указать же):
ip rule add from 194.135.107.2 table branch_net
ip route add default via 194.135.107.12 table branch_net
ну и была создана соответствующая таблица branch_net в rt_tables.
Таким образом если кто-то стучался на 194.135.107.2, машина отвечала через 194.135.107.12, если на «белый» интерфейс, машина отвечала через 83.246.160.33. И это таки работало до недавнего времени. Осталась пара вопросов:
1. Почему перестало работать? И почему в песочнице пока не удалил ip rule from 194.135.107.2 не получал ответ с этого интерфейса. Я ведь стучался из этого же адресного пространства? Тоже самое с SSH - что за глюки, я стучусь, например с 194.135.107.154 на 194.135.107.2. Ну и пусть там есть правило, перенаправляющее в таблицу «branch_net», есть же т.н. «connected route», мне она должна отвечать без промежуточных L3 устройств. При чем ответ я все таки получал, но как писал выше, была очень долгая проверка креденшиалов и потом не отрисовывался терминал.
2. Не смог найти скрипт (grep -r), который делает правило «ip rule add from 194.135.107.2 table branch_net» и добавляет дефолтный маршрут в эту таблицу. НО просто удалил правило и после ребута оно не восстановилось. Я чего-то не знаю о centos? Делал pbr на дебиане, и естественно был нужен скрипт, иначе после ребута все сбрасывалось, а тут скрипта не было, но после ребута правила оставались, пока я их просто руками не удалил.

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