Google Cloud Port Forwarding
Я пытаюсь настроить переадресацию портов в 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, поскольку единственная целевая виртуальная машина, которая будет принимать эти порты, является оригинальной.
2 ответа
Брандмауэр 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 не поддерживает ни один из вышеупомянутых сторонних инструментов.