Простое решение создает туннель между этими двумя серверами, например:
На сервере A:
ip tunnel add tunnel mode ipip remote 10.10.60.10
ip addr add 10.1.1.1/24 dev tunnel
sysctl -w net.ipv4.ip_forward=1
Последняя команда к передачам пакетов с Вашего недавно созданного туннельного устройства на Ваши виртуальные устройства Ethernet.
На сервере C
ip tunnel add tunnel mode ipip remote 10.10.51.182
ip addr add 10.1.1.2/24 dev tunnel
ip route add 192.168.0.0/16 via 10.1.1.1
В зависимости от Ваших брандмауэров между серверами Вам, вероятно, придется скорректировать некоторые правила.
Explenation: Server A
и Server B
находятся на общем сетевом сегменте, например, они могут отправить пакеты друг другу без потребности отправить пакеты на их шлюз. Это означает Server B
просто попытки непосредственно для разрешения адреса 192.168.1.1
через ARP и Server A
ответы им.
Server A
и Server C
находятся на различных сегментах сети, например, если Server C
просто просит 192.168.1.1
(это было бы Вашей командой маршрута для Server C
) это не получит ответа. Для решения этой проблемы, обычно можно указывать, как можно достигнуть определенной системы через таблицы маршрутизации, но можно только указать следующий транзитный участок. Как router Z
кажется, не знает о 192.168.0.0/24
необходимо создать туннель между этими двумя системами.
Одна маленькая дополнительная подсказка, Вы не должны создавать виртуальные устройства Ethernet, можно добавить произвольное число IP-адресов к одному сетевому устройству, например:
for first in {1..4} ; do
for second in {1..255} ; do
ip addr add 192.168.$first.$second/16 dev eth0
done
done
PAM продолжается через объекты на стеке в последовательности. Это только сохраняет память того, какое состояние это находится в (успех или отклонено, с успехом значения успеха до сих пор), не того, как это достигло того состояния.
Если объект отмечен sufficient
успешно выполняется, библиотека PAM прекращает обрабатывать тот стек. Это происходит, были ли там предыдущими required
объекты или нет. На данном этапе PAM возвращает текущее состояние: успех, если не предыдущий required
объект перестал работать, иначе отклоненный.
Точно так же, если объект отмечен requisite
сбои, библиотека PAM прекращает обрабатывать и возвращает отказ. В той точке это не важно ли предыдущее required
объект перестал работать.
Другими словами, required
не обязательно заставляет целый стек быть обработанным. Это только означает продолжать идти.
По-моему, a required
флаг управления должен быть всегда успешным для модуля, чтобы быть успешным.
A sufficient
отмеченный модуль проигнорирован, если он перестал работать. Если это успешно и нет required
отмеченные модули выше перестали работать затем, никакие другие модули того же типа не должны быть проверены, и модуль считают успешным. Так в основном, required
флаг имеет более высокий приоритет, чем sufficient
флаг, но последний имеет способность прекратить проверять остальную часть их если предыдущее required
за следуют.
Пример:
1 auth required /lib/security/pam_nologin.so
2 auth required /lib/security/pam_securetty.so
3 auth required /lib/security/pam_env.so
4 auth sufficient /lib/security/pam_rhosts_auth.so
5 auth required /lib/security/pam_stack.so service=system-auth
Если строки 1, 2, 3 и 4 успешны затем, строка 5 может быть пропущена и модуль auth
успешно. Если строка 4 не успешна, она проигнорирована, и строка 5 проверяется. Если какая-либо из строк 1, 2, 3 перестала работать затем, строка 4 не принята во внимание.
required
объект перестал работать, почему делаетPAM
должен продолжать проходить стек? если это наконец перестанет работать так или иначе? – Mohammed Noureldin 21.08.2017, 15:31