ஒரு நிரல் சாதாரண இணைப்பைப் பயன்படுத்த வேண்டும், மற்ற அனைத்தும் சுரங்கப்பாதையில் இருக்கும், மேலும் வாடிக்கையாளரிடம் அதற்கு சுவிட்சு இல்லை. மறைந்த மெனுவும் கிடைக்காது. பாதை பாக்கெட்டின் உள்ளே உள்ள புலங்களில் இருந்து தேர்ந்தெடுக்கப்படுகிறது, பாக்கெட் முகவரிகளையும் துறைகளையும் சுமக்கிறது, அதை உருவாக்கிய செயல்முறையின் அடையாளத்தை அல்ல, எனவே விலக்கு அந்தப் புலங்களில் ஒன்றில் வெளிப்படுத்தப்பட வேண்டும். ஒரு பாக்கெட்டை ஒருமுறை பின்தொடருங்கள், கிடைக்கும் விருப்பங்கள் மர்மமாக இருப்பது நிற்கும்.

வாடிக்கையாளர் அதை வழங்க முடியாதது ஏன்

இலக்கு வழிசெலுத்தல் இலக்கு முகவரியை முன்னொட்டுகளுடன் ஒப்பிட்டு நீளமான பொருத்தத்தை வைத்திருக்கிறது. அந்தக் கணத்தில் ஒவ்வொரு பாக்கெட்டும் ஒரே மாதிரியாகத் தெரிகிறது, எது உருவாக்கியிருந்தாலும். மூலக் கொள்கை வழிசெலுத்தல் ஒப்பீட்டை மூல முகவரி வரை விரிவுபடுத்துகிறது, ஒவ்வொரு நடைமுறை தீர்வும் பயன்படுத்தும் கொக்கி அதுவே: மூலத்தை மாற்றுங்கள், மற்றொரு அட்டவணை தகுதியாகும்.

துறைகள் உதவாது. துறை அடிப்படையிலான விலக்கம் இலக்குத் தேடலுக்கு முன் மதிப்பிடப்பட்டிருக்க வேண்டும், அந்த முடிவில் துறைக்கு எந்தப் பங்கும் இல்லை. துறை அடிப்படையிலான விலக்கம் என்று விளம்பரம் செய்யப்படுவதெல்லாம் உண்மையில் வேறு புலத்தால் விலக்கி அதைத் தளர்வாக விவரிக்கிறது.

உண்மையான பயன்பாட்டு வாரி வழிசெலுத்தல், தளம் அதற்கு இயந்திரத்தைச் சேர்த்த இடத்தில் இருக்கிறது, எடுத்துக்காட்டாக Windows இல் வடிகட்டி அழைப்புகள் அல்லது Android இல் VPN சேவை பிணைப்பு. டெஸ்க்டாப் OpenVPN நிகழ்வு அவற்றில் எதையும் கொண்டு வருவதில்லை, எந்தக் கட்டமைப்புக் கொடியும் அதைக் கற்பனை செய்வதில்லை.

Linux: செயல்முறையைக் குறியிடுங்கள், பிறகு குறியை வழிசெலுத்துங்கள்

மிகத் தூய்மையான அணுகுமுறை முடிவை சாக்கெட்டை வைத்திருக்கும் செயல்முறையுடன் இணைக்கிறது. owner பொருத்தம் OUTPUT சங்கிலியில் உள்ளூரில் உருவாக்கப்படும் போக்குவரத்துக்கு வேலை செய்கிறது, எனவே அங்கு பயன்படுத்தப்படும் குறி தனி அட்டவணையைத் தேர்ந்தெடுக்க முடியும்:

iptables -t mangle -A OUTPUT -m owner --uid-owner 1001 -j MARK --set-mark 0x1
ip rule add fwmark 0x1 table 200
ip route add 192.168.1.0/24 dev eth0 src 192.168.1.0 table 200
ip route add default via 192.168.1.1 dev eth0 table 200

பயனர் 1001 இன் பாக்கெட்டுகள் பிறகு அட்டவணை 200 ஐ அணுகி சாதாரண நுழைவாயில் வழியாக வெளியேறுகின்றன, பிரதான அட்டவணை மற்ற அனைத்தையும் சுரங்கப்பாதைக்கு அனுப்புகிறது. owner பொருத்தம் உள்ளூரில் உருவாக்கப்பட்ட பாக்கெட்டுகளுக்கு மட்டுமே பொருந்தும், அது இங்கே முக்கியமான போக்குவரத்து, மேலும் வேறு ஹோஸ்டுக்கு அனுப்பப்படும் பாக்கெட்டுகளை அது வகைப்படுத்த முடியாது. நோக்கத்தால் அல்ல, கருவிகளால் சரிபாருங்கள்: ss -tnp நிறுவப்பட்ட இணைப்புகளின் உள்ளூர் முகவரியையும் உரிமையாளர் செயல்முறையையும் காட்டுகிறது, ip route get 1.1.1.1 mark 0x1 குறி எந்த அட்டவணையைத் தேர்ந்தெடுக்கிறது என்பதைக் காட்டுகிறது.

பிணையப் பெயர்வெளி தன்னிறைவு நிரலுக்கு மிக உறுதியான பதில், ஏனெனில் அதன் உள்ளே உருவாக்கப்படும் ஒவ்வொரு சாக்கெட்டும் கட்டமைப்பால் அதனுடன் பிணைக்கப்பட்டுள்ளது, எனவே உதவி செயல்முறைகளும் சேய் இணைப்புகளும் எந்த வகைப்படுத்தலும் இல்லாமல் நடத்தையை மரபுரிமையாகப் பெறுகின்றன. விலை குழாய் வேலை: ஒரு veth இணை, ஒவ்வொரு முனையிலும் ஒரு முகவரி, மற்றும் பெயர்வெளிக்குள் ஹோஸ்டை நோக்கித் திரும்பும் இயல்புநிலைப் பாதை.

ip netns add novpn
ip link add veth-host type veth peer name veth-ns
ip link set veth-ns netns novpn
ip addr add 10.200.0.1/24 dev veth-host
ip netns exec novpn ip addr add 10.200.0.2/24 dev veth-ns
ip netns exec novpn ip route add default via 10.200.0.1

Windows: இலக்கே இன்னும் முடிவு செய்கிறது

Windows வெளியேறும் இடைமுகத்தை இலக்கிலிருந்து தேர்ந்தெடுக்கிறது, எனவே வேறு பாதை விரும்பும் நிரல் அந்தத் தேர்வுக்கு முன் அடுக்கு கேட்கும் ஒன்றை மாற்ற வேண்டும். ForceBindIP முதல் பாதியை ஈடுசெய்கிறது: நீங்கள் பெயரிடும் உள்ளூர் முகவரியுடன் சாக்கெட்டுகள் ஏற்கனவே பிணைக்கப்பட்ட நிலையில் நிரலைத் தொடங்குகிறது. அது மட்டும் பாக்கெட் எந்த இடைமுகம் வழியாக வெளியேறுகிறது என்பதை மாற்றாது, ஏனெனில் பாதையை இன்னும் இலக்கே தேர்ந்தெடுக்கிறது. இயல்புநிலைப் பாதை சுரங்கப்பாதையை நோக்கும் மடிக்கணினியில் மூலத்தைப் பிணையுங்கள், பாக்கெட் எப்படியும் சுரங்கப்பாதைக்குச் செல்லும்.

அறிகுறிக்கு ஒருமுறை அறிந்த பின் படிக்கக்கூடிய வடிவம் உண்டு. தேர்ந்தெடுக்கப்பட்ட இடைமுகம் நேரடியாக அடையும் LAN முகவரிக்கு இது பொருந்தும், இணையத்தில் பாதை சுரங்கப்பாதையை நோக்கும் எதற்கும் தோல்வியடைகிறது. நிரல் வேலையை உதவியாளருக்கு ஒப்படைக்கும் வரை அது வேலை செய்வது போலவும் தெரிகிறது, ஏனெனில் தன் சொந்த சாக்கெட்டைத் திறக்கும் உதவியாளருக்கு பிணைப்பைப் பற்றி ஒருபோதும் சொல்லப்படவில்லை.

ஒரு செயல்முறை தவறான அலகாக இருக்கும்போது முடிவை நகர்த்துங்கள்

உண்மையான தேவை நிரல் அல்ல, சாதனம் என்றால், அதை அதன் சொந்த SSID அல்லது VLAN இல் வையுங்கள், திசைவி முடிவு செய்யட்டும்: அந்த மூலம் சாதாரண பாதையை எடுக்கிறது, மற்ற மூலங்கள் சுரங்கப்பாதையைப் பயன்படுத்துகின்றன. தனி நுழைவாயில் இயந்திரம் மற்றொரு நேர்மையான வடிவமைப்பு: அது VPN ஐ வைத்திருக்கிறது, திசைவி அனுப்பும் இலக்குகளை மட்டும் பெறுகிறது. VLAN இல் கொள்கை சாதனம் திறக்கும் ஒவ்வொரு ஓட்டத்தையும் உள்ளடக்குகிறது, Windows அணுகுமுறையை உடைத்த உதவி செயல்முறைகள் உட்பட. பரிமாற்றம் நோக்கம்: அந்தச் சாதனத்தில் உள்ள இரண்டு நிரல்களை இனி வெவ்வேறாகக் கருத முடியாது.

இரண்டும் ஒரு வாக்கியத்தில் சொல்லக்கூடிய நோக்கத்துடன் கூடிய மூல அல்லது இலக்குக் கொள்கைகள். எதுவும் பயன்பாட்டு வாரி அல்ல, மேலும் தன்னைப் பயன்பாட்டு வாரி என்று விளம்பரம் செய்யும் வடிவமைப்பு, நிரல் தன் வேலையை இரண்டாவது செயல்முறைக்கு ஒப்படைக்கும் முதல் தருணத்திலேயே தோல்வியடைகிறது.

தொடர்புடைய கட்டுரைகள்