ඔබ SSH හරහා ළඟා වන යන්ත්‍රයක සම්පූර්ණ-ටනල OpenVPN සේවාදායකය ක්‍රියාත්මක කිරීමෙන් තත්පරයක් තුළ සැසිය කැපිය හැක, යන්ත්‍රය කිසිදු වැරැද්දක් නොකරයි. ටනලය පැකට් සේවාදායකයට ළඟා වන ආකාරය වෙනස් නොකරයි; ප්‍රතිචාර පිටවන ආකාරය වෙනස් කරයි. පෙරනිමි මාර්ගය tun0 වෙත යොමු වූ විට, ඔබේ SSH සේවාලාභියාට යන ප්‍රතිචාරය සැපයුම්කරුගේ ජාලයට යයි, එයට ඔබේ ලිපිනයට ආපසු යාමට මාර්ගයක් නැත. සම්බන්ධතාවය එල්ලී තිබේ, ඊළඟ උත්සාහය කාලය ඉක්මවයි, ඩීමන් සෑම විටම 22 වරායේ සවන් දෙයි.

VPN ලොගය කියවීමට පෙර මාර්ගගත කිරීමේ වගුව කියවන්න. ලොගය ටනලය ඉහළ ගිය බව කියයි, එය නිවැරදිය. ප්‍රශ්නය වන්නේ සෑම ප්‍රතිචාරයක්ම කුමන අතුරුමුහුණතට දෙනවාද යන්නයි, එය ටනලය දැන් නැවත ලියූ වගුවක සෑම පැකට්ටුවකටම සිදු කරන සෙවීමකි.

ප්‍රතිචාරය වැරදි දොරෙන් පිටවෙන්නේ ඇයි

ඇතුළට එන පැකට් තවමත් භෞතික අතුරුමුහුණතට පැමිණේ, මන්ද VPN සේවාලාභියෙකුට අන්තර්ජාලය ඔබේ සේවාදායකයේ පොදු ලිපිනයට ළඟා වන ආකාරය වෙනස් කළ නොහැක. ප්‍රතිචාර වෙනම තීරණයකි: සෑම පැකට්ටුවකටම කර්නලය ගමනාන්තය සොයයි, --redirect-gateway පසුව පෙරනිමි සටහන ටනල යැයි කියයි. සැපයුම්කරුගේ පිටවීම තමා සේවය නොකරන ගමනාන්තයක් දැක පැකට්ටුව ඉවත් කරයි.

OpenVPN හිම සුරැකුම හරියටම එක් ගමනාන්තයක් ආවරණය කරයි. 2.6 අත්පොත --redirect-gateway අනුක්‍රමයක් ලෙස විස්තර කරයි: ටනලයට පෙර භාවිත කළ ද්වාරය හරහා VPN peer සඳහා සත්කාරක මාර්ගයක් එකතු කරයි, එවිට සංකේතනය කළ ගමන් ප්‍රවාහය තමන් තුළට ආපසු නොයයි, පසුව පෙරනිමි මාර්ගය ප්‍රතිස්ථාපනය කරයි. එම සත්කාරක මාර්ගය ඇත්තේ peer සඳහා පමණි. ඔබේ SSH සේවාලාභියා තවත් අන්තර්ජාල ලිපිනයක් පමණක් වන අතර කිසිදු ව්‍යතිරේකයක් නොලැබේ.

එක් උපසර්ග වැරැද්දක් කලින් ඉවත් කිරීම වටී. දිගක් නොමැති ip route add -net 0.0.0.0 gw 10.8.0.1 dev tun0 එකම ලිපිනය 0.0.0.0 සමඟ ගැළපේ, අන්තර්ජාලය සමඟ නොවේ; එය 0.0.0.0/0 විය යුතුය. පෙරනිමිය ගැනීම ටනලයේම ප්‍රවාහනය බිඳ දමන්නේ නම්, අන්ත ලක්ෂ්‍යය භෞතික අතුරුමුහුණත හරහා සත්කාරක මාර්ගයක් ලෙස එකතු කරන්න, සැපයුම්කරුගේ සැබෑ ලිපිනය භාවිතා කරමින්.

ක්ෂණික අලුත්වැඩියාවකට ඔබේ SSH සේවාලාභී ලිපිනය අගුළු දමන්න

වේගවත්ම අලුත්වැඩියාව වන්නේ ටනලය පැවතීමට පෙර සේවාදායකය භාවිත කළ ද්වාරය හරහා ඔබේ සේවාලාභී ලිපිනයට සත්කාරක මාර්ගයක් දැමීමයි. ඔබේ පැත්තෙන් සේවාදායකය දකින ලිපිනය සොයාගෙන, පසුව පරණ ද්වාරය දැන ගැනීමට සේවාදායකයේ වගුව කියවන්න:

curl -s https://ifconfig.co
ip route

සේවාදායකයේ, සේවාලාභියා ආරම්භ වීමට පෙර ව්‍යතිරේකය එකතු කරන්න. මෙහි ලිපින ස්ථාන රඳවන වේ; හැඩයයි වැදගත්:

sudo ip route add 80.128.240.55 via 192.168.178.1

මෙය වාර්තා වූ අවස්ථාවේ භාවිත කළ අලුත්වැඩියාවයි, එය වහාම ක්‍රියා කරයි. එය අනාවැකි කළ හැකි ආකාර දෙකකින් බිඳෙනසුලුය: නැවත ආරම්භයේදී මාර්ගය අතුරුදහන් වේ, ඔබේ ISP ඔබට වෙනත් ලිපිනයක් දෙන මොහොතේ එය වැරදි වේ. එය හදිසි පියවරක් ලෙස සලකා හිතාමතාම කල් පවත්නා කරන්න, ජාල ඒකකයක් හෝ dispatcher කොක්කක් හරහා, නැතහොත් එය තාවකාලික බව පිළිගෙන ප්‍රතිසාධන මාර්ගය ලියා තබන්න.

සේවාලාභියාට පෙරනිමිය ගැනීමට ඉඩ නොදෙන්න

වඩා පිරිසිදු විකල්පය වන්නේ ටනලයට පෙරනිමි මාර්ගය කිසිසේත් ප්‍රතිස්ථාපනය කිරීමට නොදීමයි. route-nopull, --client හෝ --pull සමඟ භාවිතා කරන විට, මාර්ග, block-outside-dns සහ DNS සේවාදායක වැනි DHCP විලාසයේ විකල්ප හැර තල්ලු කළ විකල්ප පිළිගනී, එබැවින් ඔබ අවශ්‍ය උපසර්ග පමණක් එකතු කරයි. වඩා පටු මෙවලමක් වන්නේ ඇද ගැනීමේ පෙරහනයකි, එය ගැටලුකාරී උපදෙසක් ඉවත් කර ඉතිරි දේ තබා ගනී:

route-nopull
pull-filter ignore "redirect-gateway"

එකක් හෝ අනෙක භාවිතා කරන්න, දෙකම නොවේ, සහ කුමක් වෙනස් වේද යන්න පැහැදිලි කරන්න. ටනලය හරහා පෙරනිමි මාර්ගයක් නොමැතිව සේවාදායකය තවදුරටත් සැපයුම්කරු හරහා අන්තර්ජාලය පිරික්සන්නේ නැත; එය ඔබ පැහැදිලිව මාර්ග කළ දේට පමණක් ළඟා වේ. සම්පූර්ණ ටනලය මුළු සැකසුමේම අරමුණ වූයේ නම්, මෙය වැරදි ස්විචය වන අතර ඉහත සත්කාරක මාර්ගය නිවැරදිය.

ආපසු මාර්ගය මූලාශ්‍රය අනුව හෝ සම්බන්ධතාවය අනුව බෙදන්න

ඇතුළට එන ලිපිනය ස්ථාවර වූ විට, මූලාශ්‍ර රීතියක් ටනලයේම මාර්ග ස්පර්ශ නොකර ප්‍රතිචාර දේශීයව තබා ගනී. භෞතික අතුරුමුහුණතේ ලිපිනයට LAN උපසර්ගය සහ භෞතික පෙරනිමිය සහිත තමන්ගේම වගුවක් දෙන්න, පසුව එයින් පැමිණෙන ප්‍රවාහයට එම වගුව තෝරන්න:

ip rule add from 192.168.1.11 table 128
ip route add table 128 to 192.168.1.0/24 dev eth0
ip route add table 128 default via 192.168.1.1

මෙය ක්‍රියා කරන්නේ ඇතුළට එන SSH සම්බන්ධතාවයක ප්‍රතිචාර සේවාලාභියා සම්බන්ධ වූ ලිපිනයෙන්ම පිටවන නිසාය. සෑම ඇතුළට එන සේවාවක්ම දිගටම ක්‍රියා කළ යුතු වූ වාර්තා වූ අවස්ථාවේ හරියටම මෙම හැඩය භාවිත කර ඇත. ඇතුළට එන ලිපිනය පාවෙන හෝ මාර්ගය ගතික වූ විට, ඒ වෙනුවට සම්බන්ධතාවය සලකුණු කරන්න: භෞතික අතුරුමුහුණතින් එන පළමු පැකට්ටුවට conntrack සලකුණක් තබන්න, OUTPUT හි ප්‍රතිචාර පැකට්ටු වෙත එය පිටපත් කරන්න, සහ සලකුණු කළ පැකට් භෞතික ද්වාරයට යොමු වන වගුවක් හරහා මාර්ග කරන්න.

iptables -t mangle -A PREROUTING -i eth0 -m conntrack --ctstate NEW -j CONNMARK --set-mark 1234
iptables -t mangle -A OUTPUT -m connmark --mark 1234 -j MARK --set-mark 4321
ip route add default via 192.168.1.1 dev eth0 table 3412
ip rule add fwmark 4321 table 3412

පරීක්ෂා කිරීමේදී සම්බන්ධතා සලකුණ, firewall සලකුණ සහ වගු අංකය වෙන් වෙන්ව තබන්න. එක් අංකයක් භූමිකා දෙකකට නැවත භාවිත කිරීම නිවැරදි ලෙස පෙනෙන නමුත් වැරදි පැකට් වැදෙන රීතියක් සාදයි. වගුවේ පෙරනිමි සටහනට සාමාන්‍ය Ethernet සබැඳියක LAN ද්වාරය සමඟ via ද අවශ්‍ය වේ; නිරුවත් dev eth0 ක්‍රියා කරන්නේ අතුරුමුහුණත ලක්ෂ්‍ය-සිට-ලක්ෂ්‍යය වූ විට හෝ ඊළඟ පැනීම වෙනත් ආකාරයකින් විසඳන විට පමණි. වාර්තා වූ Jessie සත්කාරකය සිදුවීමකින් නිරුවත් හැඩය ක්‍රියා කළ සබැඳියක තිබුණි, එය පිටපත් කළ යුතු බෙදාහැරීමේ රීතියක් නොවේ.

ඔබව ඇතුළතින් අගුළු නොවැටී සත්‍යාපනය කරන්න

විසන්ධි කිරීමෙන් පරීක්ෂා නොකරන්න. පළමු සැසිය විවෘතව තබන්න, ටනලය ඉහළට ගන්න, සහ ඔබේම ලිපිනය කුමන මාර්ගයක් ගනීදැයි කර්නලයෙන් අසන්න:

ip route get 80.128.240.55

පිළිතුර ටනලය නොව භෞතික අතුරුමුහුණත සහ පරණ ද්වාරය නම් කළ යුතුය. පසුව දෙවන SSH සම්බන්ධතාවයක් විවෘත කරන්න; එයයි සැබෑ පරීක්ෂණය, මන්ද පරණ සැසිය නව සම්බන්ධතාවයකට නැවත නිපදවිය නොහැකි තත්ත්වයක් මත ජීවත් විය හැක. දෙවැන්න එල්ලී තිබියදී පළමුවැන්න තවමත් පිළිතුරු දෙන්නේ නම්, රීතිය කිසිදා වැදගත් ප්‍රවාහයට නොගැළපුණි, සහ සලකුණු හෝ මූලාශ්‍ර ලිපිනය බැලිය යුතු තැනයි.

මුළු අභ්‍යාසය පුරාම කලාපයෙන් පිටත කොන්සෝලයක් ලබා ගත හැකිව තබා ගන්න. ඔබ දැන් කැඩූ ටනලයම එකම ප්‍රවේශ මාර්ගය වන සේවාදායකයක් එම ටනලය හරහා අලුත්වැඩියා කළ නොහැක, ඔබ එකතු කළ වගු අංක සහ උපසර්ග ලියා තැබුවොත් ආපසු හැරවීම පහසුය.

අදාළ ලිපි