VM GCP dengan berbilang NIC: mengapa balasan keluar melalui antara muka yang salah
Laluan awan dan laluan tetamu ialah dua keputusan. Lalui satu permintaan cawangan dan satu permintaan internet melalui kedua-dua NIC sebelum menambah peraturan dasar.
Melampirkan antara muka kedua pada VM Compute Engine memberinya lampiran rangkaian lain, bukan laluan pulang simetri. Tetamu masih memilih antara muka dan alamat sumber daripada laluan dan peraturannya sendiri. Google Cloud kemudian menggunakan penghalaan VPC dan dasar firewall di sekeliling antara muka yang dilalui oleh paket itu. Apabila kedua-dua keputusan tidak sepadan, permintaan tiba pada satu NIC dan balasan keluar melalui yang lain, dan cawangan melihat perbualan separuh terbuka.
Lalui laluan dalam lima langkah dan ketidakserasian akan muncul sebelum anda menulis peraturan dasar.
Langkah 1: petakan NIC awan kepada peranti tetamu
Awan menamakan antara muka nic0, nic1 dan seterusnya, dan tetamu melihat nama peranti yang tidak semestinya sepadan. Selesaikan pemetaan daripada metadata instans atau daripada alamat antara muka itu sendiri sebelum apa-apa lagi. Laluan lalai biasa yang disediakan DHCP dikaitkan dengan nic0, sebab itulah laluan menghadap internet begitu kerap menang secara tidak sengaja. Menulis dasar berdasarkan nama peranti yang diagak ialah cara peraturan yang betul mendarat pada antara muka yang salah.
Catat alamat, nama peranti dan VPC tempat setiap satunya berada. Peta tiga lajur itu ialah input untuk setiap langkah seterusnya.
Langkah 2: namakan dua keputusan penghalaan
Keputusan pertama milik tetamu: antara muka mana dan alamat sumber mana untuk paket ini. Keputusan kedua milik awan: apa yang dibenarkan oleh laluan VPC dan dasar firewall di sekeliling antara muka itu.
Laluan yang kelihatan dalam VPC menghadap VPN tidak menjadi laluan tetamu yang memilih NIC itu. Laluan awan menerangkan apa yang boleh disampaikan oleh rangkaian, manakala laluan tetamu menentukan apa yang dilakukan paket.
Langkah 3: pilih dasar laluan pulang
Bagi set awalan cawangan yang kecil dan stabil, laluan destinasi eksplisit dalam tetamu ialah ungkapan paling mudah: balasan kepada awalan itu keluar melalui antara muka menghadap VPN. Apabila beberapa perkhidmatan sengaja menggunakan alamat sumber tempatan yang berbeza, peraturan berasaskan sumber yang memilih jadual bagi setiap antara muka mengekalkan setiap balasan dalam konteks yang betul. Dokumentasi berbilang antara muka menerangkan penamaan NIC dan tingkah laku laluan lalai yang menjadi asas reka bentuk ini.
Setiap jadual memerlukan laluan bersambung yang sah dan hop seterusnya, serta destinasi yang akan ditanyakan kepadanya. Peraturan yang menunjuk ke jadual tidak lengkap bukanlah reka bentuk laluan pulang. Gunakan gateway yang didokumenkan untuk NIC itu dan bukannya mereka cipta gateway Ethernet daripada rupa subnet.
Langkah 4: periksa penapis tetamu sendiri
Periksa di mana pelayan mendengar dan sumber tempatan mana yang dibawa balasan. Pendengar pada semua alamat tidak mengatasi dasar penghalaan, jadi mengikat kepada semua alamat tidak mengubah apa-apa tentang antara muka tempat jawapan keluar.
Di Linux, semak pengesahan laluan songsang terhadap reka bentuk yang dimaksudkan. Melumpuhkannya secara global sebagai langkah pertama menukar pepijat penghalaan dengan pendedahan kepada penipuan, dan menyembunyikan asimetri yang anda cuba cari.
Langkah 5: uji satu aliran bagi setiap laluan
Sahkan permintaan cawangan yang dibenarkan dan permintaan internet tidak berkaitan secara berasingan, masing-masing dengan sumber dan destinasi sebenarnya. Tangkap pada kedua-dua antara muka apabila boleh, kerana bukti berguna ialah antara muka mana yang membawa balasan. Kemudian sahkan bahawa dasar di sebelah awan menghormati laluan yang anda reka. Satu permintaan yang berjaya membuktikan satu aliran, bukan reka bentuk simetri.
Asingkan kedua-dua ujian dalam nota anda, kerana ia menggunakan laluan berbeza dan peraturan firewall berbeza.
Apa yang NIC kedua tidak berikan kepada anda
Antara muka kedua menambah lampiran rangkaian dan satu lagi alamat. Ia tidak menambah penghalaan simetri automatik dan tidak memintas dasar firewall. Memperlakukannya sebagai pembaikan penghalaan ialah sebab reka bentuk berbilang NIC mengumpul peraturan yang tiada siapa dapat menjelaskan kemudian.
Jika VM mesti memajukan trafik mesin lain, rancang peranan penghala itu secara eksplisit, termasuk tetapan awan yang membenarkan pemajuan dan penapis tetamu yang menyertainya.