Klien VPN Diblokir oleh Profil Firewall Publik Windows
Windows mengklasifikasikan adapter VPN sebagai Publik, sehingga aturan LAN Anda tidak pernah berlaku. Periksa profil, batasi satu aturan masuk ke kumpulan, lalu verifikasi port.
Tunnel Anda sudah aktif, gateway menjawab ping, tetapi berbagi file tetap kehabisan waktu. Kombinasi itu jarang merupakan masalah perutean: Windows menempatkan subnet adapter VPN di profil Publik, dan setiap aturan izinkan yang ditulis untuk Privat atau Domain tidak pernah berlaku. Saya pernah menemui ini pada laptop yang mencapai kantor dengan baik dan pada server RRAS yang melayani semua klien lain, dan perbaikannya singkat begitu Anda menyebut profil yang terlibat. Berikut urutan kerja saya, beserta pemeriksaan yang memberi tahu kapan harus berhenti sebelum langkah berikutnya.
Tentukan profil mana yang sebenarnya dilalui lalu lintas
Firewall Windows tidak punya satu mode global. Setiap antarmuka yang terhubung membawa kategori, dan paket masuk difilter berdasarkan kategori antarmuka tempat paket itu tiba, jadi profil adapter VPN yang menentukan apa yang bisa dicapai klien di tunnel, bukan adapter Wi-Fi atau Ethernet di sebelahnya. Baca kedua fakta itu sebelum mengubah apa pun:
Get-NetConnectionProfile | Select-Object Name, InterfaceAlias, NetworkCategory, IPv4Connectivity
Get-NetFirewallProfile -Name Public | Select-Object Name, Enabled, DefaultInboundAction
Pada pemasangan OpenVPN atau WireGuard standar, adapter VPN muncul sebagai jaringan yang tidak dikenal dan masuk ke profil Publik, yang merupakan nilai default untuk jaringan apa pun yang tidak dapat diklasifikasikan Windows: tidak ada pengontrol domain yang menjawab melaluinya dan tidak ada profil gateway yang cocok. Nama antarmuka tidak relevan di sini, jadi menyebut adapter "VPN" atau "Corp" tidak mengubah apa pun. DomainAuthenticated memerlukan mesin yang tergabung ke domain yang benar-benar dapat menjangkau pengontrol domain melalui antarmuka itu; tunnel terpisah yang hanya membawa satu subnet tidak akan memenuhi syarat itu.
Jika aturan yang Anda butuhkan sudah dibatasi ke kumpulan VPN dan sudah berlaku pada kategori yang baru Anda baca, berhentilah di sini: pemfilteran bukan lapisan Anda, dan tempat berikutnya untuk diperiksa adalah konfigurasi layanan. Pemeriksaan itu memakan sepuluh detik dan menghemat satu jam penyuntingan aturan. Nama kategori dan cakupan masing-masing didokumentasikan di referensi Get-NetConnectionProfile.
Pastikan pemfilteran, bukan perutean, sebelum Anda menyunting aturan
Ping adalah uji yang lemah. ICMP bisa lolos sementara port layanan dibuang, dan host bisa menjawab dari LAN sambil menolak permintaan yang sama melalui tunnel. Uji port yang dibutuhkan klien, dari klien:
Test-NetConnection 10.8.0.1 -Port 445
Test-NetConnection 10.8.0.1 -Port 3389 -InformationLevel Detailed
Jika uji port gagal, pisahkan kedua lapisan. Gangguan tunnel atau rute biasanya tampak sebagai tidak ada jawaban sama sekali dari alamat gateway, sedangkan pembuangan oleh firewall menunjukkan gateway yang menjawab dan port layanan yang tidak menjawab. Pada server Windows yang menerbitkan kumpulan melalui RRAS, jalankan uji yang sama dari klien dan baca profil server itu sendiri: antarmuka RAS bisa berada di kategori yang aturan masuknya tidak pernah menyebut rentang klien, dan itulah sebabnya mesin itu melayani LAN-nya sendiri dan menolak setiap klien di tunnel.
Ketika hasilnya masih ambigu, catat pembuangan untuk profil yang terlibat dan baca catatan itu:
Set-NetFirewallProfile -Name Public -LogBlocked True `
-LogFileName "$env:systemroot\system32\LogFiles\Firewall\pfirewall.log"
Entri yang menyebut alamat dan port klien dengan DROP bersifat meyakinkan, dan juga memberi tahu Anda aturan mana yang hilang. Log yang kosong sementara SYN klien tidak pernah muncul menunjukkan masalah di hulu host, jadi kembali ke tunnel, aturan NAT, atau rute kumpulan sebelum menyentuh objek firewall lain.
Batasi satu aturan masuk ke kumpulan klien
Perbaikannya adalah satu aturan izinkan masuk yang alamat jaraknya adalah kumpulan, bukan seluruh dunia. Dari sesi dengan hak tinggi:
New-NetFirewallRule -DisplayName "VPN clients - SMB 445" `
-Direction Inbound -Action Allow -Protocol TCP -LocalPort 445 `
-RemoteAddress 10.8.0.0/24 -Profile PublicKetika layanan hanya satu berkas biner, utamakan aturan terbatas program dengan -Program alih-alih daftar port; itu membatasi pengecualian pada proses sekaligus pada rentang sumber.
Pemilihan profil adalah tempat kesalahan yang sama dibuat ke arah sebaliknya. -Profile Public cukup ketika adapter bersifat Publik dan tetap Publik. -Profile Any dapat dipertahankan ketika layanan harus bekerja apa pun klasifikasi Windows atas adapter, tetapi hanya selama lingkup jarak tetap ada. Yang tidak pernah dapat dipertahankan adalah -RemoteAddress Any pada profil Publik: aturan itu mengikuti laptop ke setiap jaringan kafe dan hotel yang diikutinya dan membuka port bagi siapa pun yang berbagi subnet itu.
Catat kumpulan di samping aturan. -RemoteAddress 10.8.0.0/24 diam-diam berhenti cocok pada hari kumpulan VPN dinomori ulang, dan kegagalannya terlihat persis seperti bug awal, karena itu memakan satu sore tambahan. Namai aturan menurut layanan dan rentang sumber, simpan bersama dengan -Group, dan baca ulang setiap kali definisi kumpulan berubah. Inventaris aturan yang dapat Anda audit di satu layar mengalahkan aturan yang benar tetapi tidak dapat ditemukan siapa pun.
Ubah kategori hanya ketika kategori itu adalah keputusannya
Mengalihkan antarmuka ke Privat juga berhasil, dan itu default yang salah. Profil Privat membawa daftar panjang aturan izinkan bawaan, yang mencakup berbagi file dan printer, penemuan jaringan, desktop jarak jauh, dan lebih banyak tergantung pada garis dasar, sehingga mengklasifikasi ulang adapter VPN mengaktifkan semuanya sekaligus untuk setiap klien di tunnel. Satu aturan terbatas memberikan satu layanan ke satu rentang. Pada laptop yang juga bergabung ke jaringan tidak tepercaya, perbedaan itu bukan kosmetik.
Ada kasus ketika klasifikasinya benar-benar salah: tunnel yang selalu aktif atau antarsitus yang membawa subnet kantor adalah infrastruktur tepercaya, dan menandai adapter itu sebagai Privat adalah pilihan desain yang sah, diambil sekali berdasarkan kebijakan, bukan per tiket. Ketika Anda melakukannya, lakukan secara eksplisit:
Set-NetConnectionProfile -InterfaceAlias "OpenVPN TAP-Windows6" -NetworkCategory PrivatePada perangkat yang dikelola, periksa dulu apakah Kebijakan Grup atau garis dasar MDM memiliki pengaturan itu. Jika ya, perubahan lokal dibatalkan pada penyegaran berikutnya, dan gpresult /h akan menyebut kebijakan yang memilikinya; perbaiki di sana, bukan di titik akhir.
Verifikasi dari kedua ujung dan tinggalkan jejak
Verifikasi alur yang dilaporkan pengguna, dari klien, setelah perubahan:
Test-NetConnection 10.8.0.1 -Port 445
Get-NetFirewallRule -DisplayName "VPN clients - SMB 445" | Get-NetFirewallAddressFilter | Select-Object RemoteAddress
Get-NetFirewallRule -DisplayName "VPN clients - SMB 445" | Get-NetFirewallPortFilter | Select-Object Protocol, LocalPort
Lalu tutup lingkarannya pada hal-hal yang akan rusak minggu depan. Mulai ulang host dan uji lagi, karena aturan yang dibatasi ke profil yang salah tetap bekerja sampai adapter kembali di kategori lain. Uji dari klien kedua, sebab satu klien dengan sewa yang kedaluwarsa dapat menyembunyikan ketidakcocokan kumpulan. Hitung aturan yang Anda tambahkan terhadap yang Anda hapus, karena pengecualian yang tumpang tindih adalah cara perbaikan dua baris menjadi kebijakan pemfilteran yang tidak dapat ditinjau siapa pun.
Sebelum Anda menyebutnya selesai:
- Profil yang disebut dalam aturan adalah profil pada antarmuka tempat lalu lintas tiba.
- Lingkup jarak adalah kumpulan VPN, dan kumpulan itu cocok dengan yang sebenarnya diberikan server.
- Tidak ada aturan yang Anda tambahkan memakai
-RemoteAddress Anypada profil Publik. - Tidak ada yang dinonaktifkan agar uji lolos, dan setiap perubahan kategori mencatat siapa yang menyetujuinya.