Если они - псевдонимы, необходимо будет записать это:
myFunction() {
export SOME_VAR=/path/to/main/folder
. "$SOME_VAR/loading/stuff.sh" --quiet
eval '
loadApp1
loadApp2
loadApp3
loadApp4'
}
псевдонимы расширены в то время, когда они читаются/анализируются. eval
вызывает такой парсинг.
Я наконец-то нашел способ сделать все, что я говорил раньше. Я собираюсь объяснить это:
В /etc/pf.conf
:
(Кроме интерфейса LAN)
block in all
pass in quick on $int_if
Первая строка блокирует все, в то время как вторая разрешает все, что угодно из интерфейса LAN.
Если вам интересно, что такое ключевое слово quick
, прочтите this.
Как вы можете быть уверены, что это работает? Просто сделайте pfctl -sr
, он должен выдать что-то вроде:
block drop in all
pass in quick on em1 all flags S/SA
Как уже было сказано ранее, я уже настроил рабочие DNS, DHCP, DDNS. Это означает, что если у меня есть VM nginx, которая запрашивает аренду DHCP, то она автоматически свяжет запись nginx.local.lan
домена с IP-адресом, взятым в аренду.
Зная это, я попытался сделать его элегантным в конфигурационном файле с помощью макроса :
nginx_vm_map=80 443
pass in quick on $ext_if proto tcp from any to any port {$nginx_vm_map} rdr-to nginx.local.lan
Первая строка определяет порты, которые я хочу перенаправить на мою ВМ, затем я использую этот макрос $nginx_vm_map
внутри правила natting, чтобы сделать его легко изменяемым.