Для этого существуют разные подходы и решения. Общее свойство этих подходов – наличие некоего хранилища фактов о том, какие системы живут в каких адресах/сегментах, наличие некоего источника требований к взаимному сетевому доступу этих систем, наличие некоего процесса, которые конфигурирует сетевые ограничения исходя из этого хранилища фактов и требований, и наличие строго ограниченных механизмов записи в это хранилище фактов и изменения требований. Детали имплементации зависят от среды 🙂