Установите некоторый сервер SSH на поле, затем с помощью PuTTY или любого другого ssh клиента, туннель порт SQL-сервера по соединению SSH. Установите брандмауэр сервера для разрешения только соединения SSH.
Клиенты будут использовать туннель SSH для достижения сервера.
Другая опция состояла бы в том, чтобы использовать своего рода VPN, но для немногих людей, подход SSH лучше.
Брандмауэр не знает, что сервер B имеет два IP-адреса - Он рассматривает каждый IP-адрес как другой источник / объект. Схема ниже показывает то, что видит Ваш брандмауэр.
Чтобы заставить брандмауэр передавать трафик от этого "другого" компьютера, необходимо добавить явные правила позволить зеленый трафик (от второго IP до произвольных хостов в Интернете) - можно сделать это с отдельными правилами или с таблицей адресов (см. pf документацию для большего количества информации о таблицах).
Лучшее решение состоит в том, чтобы, вероятно, определить, почему Вы посылаете ответы с другого адреса, чем, где Вы получаете запросы - Если можно заставить весь трафик произойти к/от одному адресу, Вы сможете использовать в своих интересах автоматическое отслеживание pf состояния и иметь намного более простую среду для управления.
Существует много способов позволить трафик от пула адресов.
Можно использовать подсети CIDR:
pass in on [interface] from 10.0.0.0/8
Можно использовать макрос:
allowed-reply = " {10.0.0.1, 10.0.0.3} "
pass in on [interface] from allowed-reply
Иначе должен был бы использовать привязки
Это позволило бы Вам правилам "вложенного множества" в другом правиле... отчасти...
Документация OpenBSD относительно PF, если очень полезный, как веб-сайт Каломели