Windows ની જાહેર ફાયરવોલ પ્રોફાઇલ દ્વારા VPN ક્લાયન્ટ્સ અવરોધાય છે
Windows VPN એડેપ્ટરને જાહેર તરીકે વર્ગીકૃત કરે છે, તેથી તમારા LAN નિયમો ક્યારેય લાગુ પડતા નથી. પ્રોફાઇલ તપાસો, એક ઇનબાઉન્ડ નિયમ પૂલ સુધી મર્યાદિત કરો, પછી પોર્ટ ચકાસો.
તમારું ટનલ ચાલુ છે, ગેટવે ping નો જવાબ આપે છે, અને ફાઇલ શેરિંગ છતાં ટાઇમઆઉટ થાય છે. આ સંયોજન ભાગ્યે જ રૂટિંગની સમસ્યા હોય છે: Windows એ VPN એડેપ્ટરનું સબનેટ જાહેર પ્રોફાઇલમાં મૂક્યું છે, અને ખાનગી કે ડોમેન માટે લખાયેલો દરેક પરવાનગી નિયમ ક્યારેય લાગુ જ થયો નથી. મેં આ એ લેપટોપ પર જોયું છે જે ઓફિસ સુધી બરાબર પહોંચે છે અને એ RRAS સર્વરો પર પણ જે બાકીના બધા ક્લાયન્ટની સેવા કરે છે, અને સંબંધિત પ્રોફાઇલનું નામ આપતાં જ સુધારો ટૂંકો થાય છે. આ છે મારો કામનો ક્રમ, સાથે એ તપાસ જે કહે છે કે આગલા પગલા પહેલાં ક્યારે અટકવું.
ટ્રાફિક ખરેખર કઈ પ્રોફાઇલ પર આવે છે તે શોધો
Windows ફાયરવોલમાં એક પણ વૈશ્વિક મોડ નથી. દરેક જોડાયેલું ઇન્ટરફેસ એક શ્રેણી ધરાવે છે, અને ઇનબાઉન્ડ પેકેટ જે ઇન્ટરફેસ પર આવે છે તેની શ્રેણી પ્રમાણે ફિલ્ટર થાય છે, તેથી ટનલમાં બેઠેલા ક્લાયન્ટ સુધી શું પહોંચી શકે તે VPN એડેપ્ટરની પ્રોફાઇલ નક્કી કરે છે, બાજુનું Wi-Fi કે ઇથરનેટ એડેપ્ટર નહીં. કંઈપણ બદલતા પહેલાં બંને તથ્યો વાંચો:
Get-NetConnectionProfile | Select-Object Name, InterfaceAlias, NetworkCategory, IPv4Connectivity
Get-NetFirewallProfile -Name Public | Select-Object Name, Enabled, DefaultInboundAction
સામાન્ય OpenVPN કે WireGuard ઇન્સ્ટોલેશનમાં VPN એડેપ્ટર અજાણ્યા નેટવર્ક તરીકે દેખાય છે અને જાહેર પ્રોફાઇલમાં જાય છે, જે Windows વર્ગીકૃત ન કરી શકે તેવા દરેક નેટવર્ક માટે ડિફોલ્ટ છે: તેના પર કોઈ ડોમેન કંટ્રોલરે જવાબ આપ્યો નથી અને કોઈ ગેટવે પ્રોફાઇલ મળી નથી. ઇન્ટરફેસનું નામ અહીં મહત્વનું નથી, તેથી એડેપ્ટરને "VPN" કે "Corp" કહેવાથી કંઈ બદલાતું નથી. DomainAuthenticated માટે ડોમેન સાથે જોડાયેલ મશીન જરૂરી છે , જે તે ઇન્ટરફેસ દ્વારા ખરેખર ડોમેન કંટ્રોલર સુધી પહોંચી શકે; ફક્ત એક સબનેટ લઈ જતું સ્પ્લિટ ટનલ આ શરત પૂરી નહીં કરે.
જો તમને જોઈતો નિયમ પહેલેથી VPN પૂલ સુધી મર્યાદિત હોય અને તમે હમણાં વાંચેલી શ્રેણી પર પહેલેથી લાગુ હોય, તો અહીં જ અટકો: ફિલ્ટરિંગ તમારું સ્તર નથી, અને જોવાની આગલી જગ્યા સેવા કન્ફિગરેશન છે. આ તપાસ દસ સેકન્ડ લે છે અને એક કલાકનું નિયમ સંપાદન બચાવે છે. શ્રેણીઓનાં નામ અને દરેક શું આવરે છે તે Get-NetConnectionProfile સંદર્ભ માં દસ્તાવેજ કરેલું છે.
નિયમો સંપાદિત કરતા પહેલાં ખાતરી કરો કે આ ફિલ્ટરિંગ છે, રૂટિંગ નહીં
Ping નબળી કસોટી છે. ICMP પસાર થઈ શકે છે જ્યારે સેવા પોર્ટ છોડી દેવાય છે, અને હોસ્ટ LAN થી જવાબ આપી શકે છે જ્યારે એ જ વિનંતી ટનલ દ્વારા નકારે છે. ક્લાયન્ટને જોઈતો પોર્ટ ક્લાયન્ટ પરથી ચકાસો:
Test-NetConnection 10.8.0.1 -Port 445
Test-NetConnection 10.8.0.1 -Port 3389 -InformationLevel Detailed
જો પોર્ટ કસોટી નિષ્ફળ જાય, તો બંને સ્તરો અલગ કરો. ટનલ કે રૂટની ખામી સામાન્ય રીતે ગેટવે સરનામાં પરથી કોઈ જવાબ ન આવવા તરીકે દેખાય છે, જ્યારે ફાયરવોલ દ્વારા છોડી દેવું એવું ગેટવે બતાવે છે જે જવાબ આપે છે અને એવો સેવા પોર્ટ જે જવાબ આપતો નથી. RRAS દ્વારા પૂલ પ્રકાશિત કરતા Windows સર્વર પર એ જ કસોટી ક્લાયન્ટ પરથી ચલાવો અને સર્વરની પોતાની પ્રોફાઇલ વાંચો: RAS ઇન્ટરફેસ એવી શ્રેણીમાં હોઈ શકે છે જેના ઇનબાઉન્ડ નિયમો ક્યારેય ક્લાયન્ટ શ્રેણીનો ઉલ્લેખ કરતા નથી, અને તેથી જ તે મશીન પોતાના LAN ની સેવા કરે છે અને ટનલના દરેક ક્લાયન્ટને નકારે છે.
જ્યારે પરિણામ હજુ અસ્પષ્ટ હોય, ત્યારે સંબંધિત પ્રોફાઇલના ડ્રોપ નોંધો અને તેમને વાંચો:
Set-NetFirewallProfile -Name Public -LogBlocked True `
-LogFileName "$env:systemroot\system32\LogFiles\Firewall\pfirewall.log"
ક્લાયન્ટનું સરનામું અને પોર્ટ DROP સાથે લખતી એન્ટ્રીઓ નિર્ણાયક છે, અને કયો નિયમ ખૂટતો હતો તે પણ જણાવે છે. એવો લોગ જેમાં કંઈ ન હોય જ્યારે ક્લાયન્ટનું SYN ક્યારેય ન દેખાય, હોસ્ટની ઉપર તરફ ઇશારો કરે છે, તેથી બીજા ફાયરવોલ ઑબ્જેક્ટને અડકતા પહેલાં ટનલ, NAT નિયમ કે પૂલ રૂટ પર પાછા જાઓ.
એક ઇનબાઉન્ડ નિયમ ક્લાયન્ટ પૂલ સુધી મર્યાદિત કરો
સુધારો એક જ ઇનબાઉન્ડ પરવાનગી નિયમ છે જેનું દૂરનું સરનામું પૂલ છે, આખી દુનિયા નહીં. ઉન્નત સત્રમાંથી:
New-NetFirewallRule -DisplayName "VPN clients - SMB 445" `
-Direction Inbound -Action Allow -Protocol TCP -LocalPort 445 `
-RemoteAddress 10.8.0.0/24 -Profile Publicજ્યારે સેવા એક જ બાઇનરી ફાઇલ હોય, ત્યારે પોર્ટ યાદીને બદલે -Program પેરામીટરવાળા પ્રોગ્રામ-મર્યાદિત નિયમને પ્રાધાન્ય આપો; આનાથી અપવાદ પ્રક્રિયા અને સ્રોત શ્રેણી બંને સુધી મર્યાદિત રહે છે.
પ્રોફાઇલની પસંદગી એ જગ્યા છે જ્યાં એ જ ભૂલ વિરુદ્ધ દિશામાં થાય છે. -Profile Public જ્યારે એડેપ્ટર જાહેર હોય અને જાહેર જ રહે ત્યારે પૂરતું છે. -Profile Any જ્યારે સેવાએ Windows એડેપ્ટરને કેવી રીતે વર્ગીકૃત કરે તે ધ્યાનમાં લીધા વિના ચાલવું પડે ત્યારે વાજબી છે, પણ ફક્ત ત્યાં સુધી જ જ્યાં સુધી દૂરનો વ્યાપ રહે. જે ક્યારેય વાજબી નથી તે છે -RemoteAddress Any જાહેર પ્રોફાઇલ પર: એ નિયમ લેપટોપ સાથે તે જોડાય તે દરેક કાફે અને હોટેલ નેટવર્કમાં જાય છે અને તે સબનેટ વહેંચતા દરેક માટે પોર્ટ ખોલે છે.
નિયમની બાજુમાં પૂલ નોંધો. -RemoteAddress 10.8.0.0/24 જે દિવસે VPN પૂલ ફરી ક્રમાંકિત થાય તે દિવસે ચૂપચાપ મેળ ખાવાનું બંધ કરે છે, અને નિષ્ફળતા બરાબર મૂળ બગ જેવી દેખાય છે, તેથી જ તે બીજી બપોર ખાય છે. નિયમોનાં નામ સેવા અને સ્રોત શ્રેણી પ્રમાણે રાખો, તેમને -Group સાથે રાખો, અને પૂલની વ્યાખ્યા બદલાય ત્યારે તેમને ફરી વાંચો. એક સ્ક્રીન પર તપાસી શકાય એવી નિયમની યાદી એ સાચા નિયમ કરતાં સારી છે જે કોઈને મળતો નથી.
શ્રેણી ફક્ત ત્યારે બદલો જ્યારે શ્રેણી જ નિર્ણય હોય
ઇન્ટરફેસને ખાનગીમાં બદલવું પણ કામ કરે છે, અને તે ખોટું ડિફોલ્ટ છે. ખાનગી પ્રોફાઇલમાં ઘણા બિલ્ટ-ઇન પરવાનગી નિયમો છે, જે ફાઇલ અને પ્રિન્ટર શેરિંગ, નેટવર્ક શોધ, રિમોટ ડેસ્કટોપ અને આધાર રેખા પ્રમાણે વધુ આવરે છે, તેથી VPN એડેપ્ટરને ફરી વર્ગીકૃત કરવાથી તે બધા ટનલના દરેક ક્લાયન્ટ માટે એકસાથે સક્રિય થાય છે. એક મર્યાદિત નિયમ એક સેવા એક શ્રેણીને આપે છે. એવા લેપટોપ પર જે અવિશ્વસનીય નેટવર્કમાં પણ જોડાય છે, તે તફાવત સપાટીનો નથી.
એવા કિસ્સાઓ છે જ્યાં વર્ગીકરણ ખરેખર ખોટું છે: ઓફિસનું સબનેટ લઈ જતું હંમેશા-ચાલુ કે સાઇટ-થી-સાઇટ ટનલ વિશ્વસનીય માળખું છે, અને તે એડેપ્ટરને ખાનગી તરીકે ચિહ્નિત કરવું એ એક વાર નીતિથી લેવાયેલો કાયદેસર ડિઝાઇન નિર્ણય છે, દરેક ટિકિટ પર નહીં. જ્યારે કરો, ત્યારે સ્પષ્ટ રીતે કરો:
Set-NetConnectionProfile -InterfaceAlias "OpenVPN TAP-Windows6" -NetworkCategory Privateમેનેજ થયેલ ઉપકરણ પર પહેલાં તપાસો કે સેટિંગ કોઈ ગ્રુપ પોલિસી કે MDM આધાર રેખાની માલિકીનું છે કે નહીં. જો હોય, તો સ્થાનિક ફેરફાર આગલા રિફ્રેશ પર પાછો ખેંચાય છે, અને gpresult /h તે નીતિનું નામ આપશે; ત્યાં જ સુધારો, એન્ડપોઇન્ટ પર નહીં.
બંને છેડેથી ચકાસો અને નિશાન છોડો
ફેરફાર પછી વપરાશકર્તાએ જણાવેલો પ્રવાહ ક્લાયન્ટ પરથી ચકાસો:
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
પછી આવતા અઠવાડિયે તૂટનાર વસ્તુઓ પર ચક્ર બંધ કરો. હોસ્ટ ફરી શરૂ કરો અને ફરી પરીક્ષણ કરો, કારણ કે ખોટી પ્રોફાઇલ સુધી મર્યાદિત નિયમ એડેપ્ટર બીજી શ્રેણીમાં પાછું ન આવે ત્યાં સુધી કામ કરતો રહે છે. બીજા ક્લાયન્ટ પરથી પરીક્ષણ કરો, કારણ કે જૂની લીઝ ધરાવતો એક ક્લાયન્ટ પૂલની અસંગતિ છુપાવી શકે છે. ઉમેરેલા નિયમોને દૂર કરેલા નિયમો સાથે ગણો, કારણ કે ઓવરલેપિંગ અપવાદ એ જ રસ્તો છે જેમાં બે લીટીનો સુધારો એવી ફિલ્ટરિંગ નીતિ બની જાય છે જે કોઈ સમીક્ષા કરી શકતું નથી.
તેને પૂર્ણ કહેતા પહેલાં:
- નિયમમાં દર્શાવેલી પ્રોફાઇલ એ ઇન્ટરફેસની પ્રોફાઇલ છે જેના પર ટ્રાફિક આવે છે.
- દૂરનો વ્યાપ VPN પૂલ છે, અને તે પૂલ સર્વર ખરેખર જે આપે છે તેની સાથે મેળ ખાય છે.
- તમે ઉમેરેલા કોઈ પણ નિયમમાં
-RemoteAddress Anyજાહેર પ્રોફાઇલ પર વપરાતું નથી. - કસોટી પાસ કરાવવા માટે કંઈપણ બંધ કરવામાં આવ્યું નથી, અને દરેક શ્રેણી ફેરફાર નોંધે છે કે કોણે તેને મંજૂરી આપી.