Klien Anda melakukan ping ke server, server tidak dapat melakukan ping ke klien, dan tunnel jelas membawa paket dalam kedua pernyataan itu. Yang berbeda bukan jalurnya melainkan paket pertama pada setiap uji: yang satu adalah balasan atas aliran yang sudah dilacak Windows, yang lain adalah permintaan masuk baru yang belum diizinkan aturan mana pun. Perbedaan itu menjelaskan sebagian besar laporan ping satu arah dan langsung menunjuk ke aturan yang harus Anda tulis. Dua uji dalam arah berlawanan memisahkan kasus-kasus itu dalam sekitar satu menit.

Dua arah, dua keputusan berbeda

Saat klien mengirim permintaan gema, firewall Windows melihat koneksi keluar yang telah ia putuskan untuk izinkan. Balasan kembali di dalam aliran yang sudah terbentuk itu, sehingga mesin yang melacak status mengizinkannya tanpa menanyakan aturan masuk mana pun untuk ICMP. Itulah arti penyaringan berbasis status dalam praktik, dan aturan yang tidak ditulis siapa pun tidak terlibat. Karena itu keberhasilan klien tidak mengatakan apa pun tentang kebijakan masuk.

Saat server mengirim permintaan lebih dulu, tidak ada status yang cocok dengannya. Windows memperlakukan paket itu sebagai koneksi masuk baru dan menanyakan kebijakan masuk, yang secara bawaan tidak mengatur apa pun untuk permintaan gema yang datang dari sumber sembarang.

Jadi keberhasilan klien membuktikan bahwa ICMP keluar dan jalur balik berfungsi. Ia tidak pernah menguji keputusan masuk, dan kesimpulan alaminya, bahwa firewall baik-baik saja, masuk akal dan salah. Itulah sebabnya kesalahan ini berulang pada tiket yang sudah memuat buktinya.

Ikuti paket sampai ia hilang

Pastikan alamatnya sebelum mengubah apa pun: gunakan alamat tunnel yang benar-benar dipegang klien, dan periksa bahwa server merutekan ke alamat itu, bukan ke alamat LAN di belakang klien. Kedua kegagalan tampak sama dari prompt server, karena keduanya berakhir dengan waktu tunggu habis. Di mana paket itu mati adalah satu-satunya fakta yang menentukan apa yang harus diubah.

Jika permintaan mencapai antarmuka tunnel dan tidak ada yang keluar, firewall lokal adalah kemungkinan penyebabnya. Jika permintaan tidak pernah mencapai antarmuka, jawabannya ada di hulu: rute di server, kebijakan keluar, atau pengiriman antar-peer milik VPN itu sendiri.

Tangkap lalu lintas di antarmuka tunnel klien selagi server melakukan ping. Melihat permintaan datang tanpa balasan di sisinya adalah bukti yang membenarkan penulisan aturan Windows. Melihat tidak ada apa pun mengirim Anda ke hulu, dan aturan yang ditambahkan dalam keadaan itu hanya membuat mesin lebih permisif untuk paket yang tidak pernah datang. Apa pun kasusnya, penangkapan itu lebih murah daripada dugaan yang digantikannya.

Batasi satu aturan alih-alih membuka ICMP

Identifikasi adaptor dan kategorinya saat ini sebelum menulis apa pun, karena keduanya muncul dalam cakupan yang akan Anda tetapkan. Alias itu adalah nama antarmuka Windows, yang belum tentu nama profil VPN yang Anda impor. Perintah di bawah ini mendaftar apa yang ada, lalu menampilkan pratinjau aturan terbatas tanpa menerapkannya.

Get-NetConnectionProfile
Get-NetAdapter | Where-Object Status -eq 'Up'
New-NetFirewallRule -DisplayName "VPN server echo" -Direction Inbound -Protocol ICMPv4 -IcmpType 8 -RemoteAddress 10.63.0.1 -InterfaceAlias "Office VPN" -Profile Private -Action Allow -WhatIf

ICMPv4 tipe 8 adalah permintaan gema, satu-satunya pesan yang perlu dijawab server. Batasi ia ke alamat tunnel server dan ke antarmuka tunnel, dan biarkan profil sebagaimana adaptor sebenarnya. Mengganti nama jaringan agar sesuai contoh adalah perubahan terpisah dengan konsekuensinya sendiri.

Apa yang tidak dicakup aturan

Gema IPv6 adalah protokol lain dengan tipe pesan lain, jadi aturan ICMPv4 tidak mengatakan apa pun tentangnya, dan tunnel yang membawa kedua keluarga perlu aturannya sendiri untuk yang lain. Aturan ini juga tidak membuka apa pun yang lain: RDP, berbagi berkas, dan setiap layanan lain tetap bergantung pada kebijakannya sendiri. Itulah inti membatasi satu aturan sempit alih-alih mengaktifkan izin ICMP yang luas. Izin luas adalah perbaikan yang mudah dan yang paling lama bertahan, karena tidak ada yang menyadarinya setelahnya.

Pada perangkat terkelola, aturan dapat diganti pada penyegaran kebijakan berikutnya, jadi pemilik kebijakan harus melakukan perubahan yang setara, bukan administrator lokal. Tuliskan maksudnya di tiket bersama perintahnya, karena penyegaran akan menghapus perintah itu dan membiarkan persyaratannya utuh. Keduanya bukan artefak yang sama, dan hanya satu yang bertahan.

Baca hasilnya dalam arah yang benar

Setelah aturan berlaku, lakukan ping dari server dan pastikan balasan mencapai klien, lalu lakukan ping dari sumber yang seharusnya tetap dikecualikan dan pastikan balasan tidak sampai. Ulangi uji keterjangkauan pada keluarga alamat yang lain jika tunnel membawanya.

Get-NetFirewallRule -DisplayName "VPN server echo" | Get-NetFirewallAddressFilter
ping 10.63.4.17
ping -6 fd00:63::17

Mencetak aturan yang berlaku lebih berguna daripada memercayai perintah yang membuatnya, karena pratinjau dan aturan yang diterapkan adalah dua keadaan berbeda. Jika filter alamat menunjukkan sumber yang Anda maksud dan sumber yang dikecualikan tetap kehabisan waktu, aturan itu melakukan tepat seperti yang dikatakan cakupannya. Ping berhasil yang berasal dari klien tidak akan pernah membuktikannya, dan itulah sebabnya arah setiap uji termasuk dalam catatan di samping hasilnya. Simpan kedua arah di tiket, atau pembaca berikutnya akan mengulangi uji yang tidak mungkin gagal.

Artikel terkait