VM, IP iletme olmadan oluşturuldu, VPN yazılımını zaten çalıştırıyor ve sezgi, onu bayrak açıkken şablondan yeniden oluşturmaktır. Bu yeniden oluşturma gereksizdir. Compute Engine, canIpForward'ı güncellenebilir bir özellik olarak sunar ve belgelenen güncelleme yolu onu yeniden başlatma yerine refresh ile uygular. Bayrağın gerçekten denetlediği şey dardır: o olmadan platform, örneğe ulaşan ancak örneğin kendi adresine adreslenmemiş paketleri düşürür. Diğer makinelerin trafiğini ileten bir ağ geçidi tam olarak bunu yapar, bu yüzden bayrak açık olmalıdır. Sonrasındaki her şey konuk yapılandırması ve yönlendirmedir, bayrak bunlara dokunmaz.

Bayrağın izin verdiği ve vermediği şeyler

İletme devre dışıyken platform örneği bir uç nokta olarak ele alır. Hedefi örneğin kendi adresi olan paketler teslim edilir; örneğin başkası adına iletmesi gereken paketler teslim edilmez.

İletme etkinken örnek, bir VPC rotası için sonraki atlama olarak davranabilir ve bu, bir VPN cihazının ihtiyaç duyduğu roldür. Bayrak; güvenlik duvarları, konuk yönlendirmesi, tünel yapılandırması veya dönüş yolları hakkında hiçbir şey söylemez ve bozuk bir ağ geçidindeki true değeri hâlâ bozuk bir ağ geçididir.

Geçerli özelliği okuyun

Herhangi bir şeyi değiştirmeden önce ayarı, amaçlanan örnek, proje ve bölgeye karşı salt okunur bir describe ile inceleyin:

gcloud compute instances describe VM_NAME --project PROJECT_ID --zone ZONE --format='value(canIpForward)'

false değeri yalnızca bu VM'in sonraki atlama olması gerekiyorsa önemlidir. Öyleyse yolun geri kalanı yine de ayrıca denetlenmelidir, çünkü özellik daha uzun bir zincirde tek satırdır.

Mevcut örneği güncelleyin

Google'ın örnek özelliklerini güncelleme yordamı geçerli kaynağı dışa aktarır, özelliği değiştirir ve sonucu gönderir. Bu, oluşturma anındaki --can-ip-forward bayrağından farklı bir iş akışıdır ve çalışan bir VM üzerinde işleyen de budur.

Önce tanımı yerel bir dosyaya aktarın ve karşılaştırma için değişmemiş bir kopya saklayın:

gcloud compute instances export VM_NAME --project PROJECT_ID --zone ZONE --destination=instance.yaml

Dışa aktarılan dosyada özelliği ayarlayın ve başka hiçbir şeyi değiştirmeyin:

canIpForward: true

Kaynağın tamamını, parmak izi dahil koruyun. Dosyayı tek satırlık bir YAML belgesiyle değiştirmek veya makine türü, disk ya da arabirim üzerindeki ilgisiz düzenlemeleri aynı gönderimde birleştirmek, bir özellik değişikliğinin kesintiye dönüşme yoludur.

Herhangi bir fiili değişikliğe izin verilmeden önce güncelleme mekanizmasından dosyayı doğrulamasını ve ne gerektireceğini bildirmesini isteyin:

gcloud compute instances update-from-file VM_NAME --project PROJECT_ID --zone ZONE --source=instance.yaml --most-disruptive-allowed-action=NO_EFFECT

Bu doğrulama çalıştırması iletmeyi etkinleştirmez. Yanıtı geçersiz özellikler ve gerekli olduğu belirtilen eylem için okuyun. Bu yalıtılmış değişiklik için belgelenen eylem REFRESH'tir. Sonuç yeniden başlatma istiyorsa dosya, değiştirmek istediğiniz özellikten daha fazlasını içeriyordur, bu yüzden yeniden başlatmaya izin vermek yerine dosyayı inceleyin.

Gözden geçirilmiş dosyayı refresh sınırıyla uygulayın:

gcloud compute instances update-from-file VM_NAME --project PROJECT_ID --zone ZONE --source=instance.yaml --most-disruptive-allowed-action=REFRESH

İşlemin tamamlandığını doğrulayın ve describe komutunu yeniden çalıştırın. Parmak izi artık eşleşmiyorsa siz düzenlerken başka biri örneği değiştirmiştir, bu yüzden eski dosyanızı zorla geçirmek yerine yeni bir kopya aktarın ve değişikliği yeniden gözden geçirin.

Konuk yine de paketi yönlendirmek zorundadır

Bulut izni cihazı yönlendirici yapmaz. Bir VPC rotasının hedef öneki için bu VM'i sonraki atlama olarak seçtiğini ve konuğun kendi iletme ilkesi açıkken tünel ile doğru arabirim arasında yönlendirme yaptığını doğrulayın.

Güvenlik duvarı ilkesi hem iç akışa hem de dış dinleyiciye izin vermelidir. Yalnızca VPN bağlantı noktasını açmak şifreli taşımayı tanımlar ve içindeki uygulama alışverişi hakkında hiçbir şey söylemez.

Son olarak hedefin istemci havuzuna bir dönüş yolu olmalı ya da tasarım kaynakları bilinçli olarak çevirmelidir. Hedef çevrilmiş trafik görüyorsa çevrilmiş kaynağı denetleyin; tasarım havuzu koruyorsa o havuzu dönüş rotasında ve erişim kurallarında denetleyin. Hangi tasarımı istediğinize karar vermeden NAT eklemek eksik bir rotayı gizler ve hedefin gördüğü ilkeyi değiştirir.

Bir Linux ağ geçidinde çekirdek iletmesi konuk yapılandırmasının parçasıdır. Bir pfSense cihazının kendi karşılığı vardır ve içine bir Linux sysctl komutu kopyalamak eşleşen adım değildir.

Erişime ihtiyaç duyan istemciden doğrulayın

Ağ geçidinin kendisinden değil, bir VPN istemcisinden tek bir hedef hizmete test edin. Ağ geçidinde başlatılan bir bağlantı farklı bir kaynak kullanır ve yeni etkinleştirdiğiniz iletme kurallarını hiçbir zaman çalıştırmaz.

Özelliği cihazı yöneten her neyse oraya kaydedin. Elle düzeltilmiş bir VM, bir sonraki değişimi özgün ayarı sessizce geri getirene kadar çalışır ve bu arıza VPN yazılımında bir gerileme gibi görünecektir.

İş sırası: özelliği okuyun, bir satırı dışa aktarıp düzenleyin, NO_EFFECT ile doğrulayın, REFRESH ile uygulayın, konuğun ilettiğini doğrulayın, ardından bir istemciden test edin.

İlgili makaleler