Можно ли добавить исключения брандмауэра в основное приложение .Net? - PullRequest
3 голосов
/ 19 апреля 2019

У меня есть несколько базовых микросервисов .Net, которые я сейчас использую с dotnet xyz.dll.

В настоящее время они работают и работают нормально, но для того, чтобы одно общалось с другим, мне, конечно, нужны исключения брандмауэра.

Недолго думая, я использовал скрипт для использования netsh и добавления исключений в dll.Однако, похоже, что это не работает должным образом.

Поскольку dotnet является компилятором, а сама dll, скорее всего, не "работает", это, вероятно, намного сложнее с технической точки зрения, чем кажется.

Добавление исключений в сам файл dotnet.exe звучит как плохая идея, поэтому является единственным решением для компиляции в exe, а затем добавить исключения к этому?

Обновление:Просто добавьте немного фона, если это необходимо.

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

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

netsh advfirewall firewall add rule name="Allow %1" dir=in action=allow program="%2"
dotnet %2
netsh advfirewall firewall delete rule name="Allow %1" dir=in

(очевидно, что netsh работает только на окнах, однако эти две строки могут зависеть от среды)

Крест размещен в ядре dotnet github , что может быть лучше.

...