Я пытаюсь настроить переадресацию портов в Google Cloud аналогично локальному брандмауэру. Мне нужен один NAT-адрес, по которому я затем могу управлять серией портов для перехода к конкретным экземплярам виртуальной машины.
например
Внешние порты 10.10.10.10 tcp 100 - 199 -> VM1 Внешние порты 10.10.10.10 tcp 200 - 299 -> VM2 Внешние порты 10.10.10.10 tcp 300 - 399 -> VM3 и т. Д.
Я не могу использовать LB, поскольку единственная целевая виртуальная машина, которая принимает исходные порты, является.
Брандмауэр Google Compute Engine по умолчанию блокирует весь входящий трафик (то есть входящий сетевой трафик) на ваши виртуальные машины. Если ваша виртуальная машина создана в сети по умолчанию, разрешено несколько портов, например 22 (ssh), 3389 (RDP).
# Create a new firewall rule that allows INGRESS tcp:8080 with VMs containing tag 'allow-tcp-8080'
gcloud compute firewall-rules create rule-allow-tcp-8080 --source-ranges 0.0.0.0/0 --target-tags allow-tcp-8080 --allow tcp:8080
# Add the 'allow-tcp-8080' tag to a VM named VM_NAME
gcloud compute instances add-tags VM_NAME --tags allow-tcp-8080
# If you want to list all the GCE firewall rules
gcloud compute firewall-rules list
GCP предоставляет собственное и управляемое решение Cloud NAT, но только для исходящего трафика (виртуальные машины >>> Интернет): https://cloud.google.com/nat/docs/overview.
При этом альтернативой этому сценарию может быть установка главной виртуальной машины (с любым программным решением vRouter, таким как PFsense или OPNsense), который позволит вам применять этот конкретный набор правил переадресации портов для вашего набора виртуальных машин. Имейте в виду, что предлагаемые решения основаны на максимальных усилиях и что Google не поддерживает ни один из вышеупомянутых сторонних инструментов.