Raspberry Pi VPN சேவையகத்தை Ethernet-க்கு எப்படி நகர்த்துவது
எண்ட்பாயிண்ட் பெயர், லிசனர் பைண்டிங், போர்ட் ஃபார்வர்டிங் அல்லது ஒரு-படி பின்னடைவுப் பாதையை மாற்றாமல் Raspberry Pi VPN சேவையகத்தை Wi-Fi-இலிருந்து Ethernet-க்கு நகர்த்தவும்.
Pi-ஐ Wi-Fi-இலிருந்து கேபிளுக்கு மாற்றுவது ஐந்து நிமிட வேலையாகத் தெரிகிறது, மேலும் இந்த மாற்றத்தை ஒன்றாக அல்ல, நான்கு தனித்தனி அமைப்புகளாகப் பார்க்கும்போது மட்டுமே அது அப்படியே இருக்கும். உங்கள் கிளையண்ட்கள் டயல் செய்யும் எண்ட்பாயிண்ட் பெயர் அப்படியே இருக்கலாம், அதன் கீழே உள்ள முகவரி மாறும்போது. உண்மையில் உடைவது பழைய முகவரியில் பொருத்தப்பட்ட லிசனர், இன்னும் வயர்லெஸ் லீஸை நோக்கும் போர்ட் ஃபார்வர்டு, அல்லது நீங்கள் ஓய்வு பெற்றதாக நினைத்த இன்டர்ஃபேஸ் வழியாக வெளியேறும் திரும்பும் பாதை. இந்த வழிகாட்டி ஒவ்வொரு கட்டத்திலும் மீட்புப் பாதையைத் திறந்தே வைக்கிறது, எனவே தோல்வியடைந்த மாற்றம் ஒரு மறுதொடக்கத்தை மட்டுமே செலவாக்கும்.
எதையும் கழற்றும் முன் நான்கு உரிமையாளர்களை எழுதுங்கள்
நான்கு அமைப்புகள் மாற்றம் தாக்குப்பிடிக்குமா என்பதைத் தீர்மானிக்கின்றன: Pi-யின் முகவரி, OpenVPN-இன் பைண்டிங் முகவரி, ரவுட்டரின் திருப்பிவிடும் இலக்கு மற்றும் பதில்கள் செல்லும் பாதை. கேபிளைத் தொடும் முன் நான்கையும் எழுதுங்கள், ஏனெனில் வயர்லெஸ் லீஸ் மறைந்ததும் இயந்திரத்திலிருந்து பழைய மதிப்புகளைப் படிக்க முடியாது. வயர்டு இன்டர்ஃபேஸ் வயர்லெஸ் சுயவிவரத்தை மரபுரிமையாகப் பெறாது, மேலும் Bookworm-இல் முகவரி NetworkManager-இல் வாழ்கிறது, அதே நேரம் Bullseye அதை dhcpcd.conf-இல் வைத்திருக்கிறது. வயர்லெஸ் MAC முகவரியைப் பொருத்திய முன்பதிவு eth0 பற்றி எதுவும் கூறாது. புதிய முகவரியை அதன் சொந்த ஆதாரம் தேவைப்படும் புதிய ஒதுக்கீடாகக் கருதுங்கள்.
Old wireless lease: 10.42.7.24/24 on wlan0
New wired address: 10.42.7.31/24 on eth0
Client endpoint: vpn.lab.example:1194/udp
லிசனர் இரண்டாவது உரிமையாளர். சேவை ஒரு குறிப்பிட்ட பைண்டிங் முகவரியுடன் தொடங்கியிருந்தால், சாக்கெட் பழைய இன்டர்ஃபேஸுடன் இறக்கும்; எல்லா முகவரிகளையும் பிணைத்தால், சாக்கெட் தாக்குப்பிடிக்கும், ரவுட்டர் விதி மட்டுமே சரிசெய்ய மீதமிருக்கும்.
திருப்பிவிடும் இலக்கும் திரும்பும் பாதையும் மக்கள் தவிர்க்கும் உரிமையாளர்கள். இன்னும் 10.42.7.24-ஐ நோக்கும் ஃபார்வர்டு, வரும் ஹேண்ட்ஷேக்கை Pi வைத்திராத முகவரிக்கு அனுப்புகிறது, எனவே சேவையகப் பக்கத்தில் ஒரு வரி பதிவும் இல்லாமல் கிளையண்ட்கள் நேரம் முடிந்து நிற்கின்றன. இரண்டு இணைப்புகளும் சிறிது நேரம் செயலில் இருக்கும்போது திரும்பும் பாதை முக்கியமாகிறது, ஏனெனில் Pi ரவுட்டிங் அட்டவணை விரும்பும் இன்டர்ஃபேஸிலிருந்து பதிலளிக்கிறது, அது எப்போதும் பேக்கெட் வந்த இன்டர்ஃபேஸாக இருக்காது. கீழே உள்ள ரூட் தேடல் கர்னல் எந்த மூலத்தைத் தேர்ந்தெடுக்கிறது என்பதைக் காட்டுகிறது.
புதிய முகவரியை நம்பும் முன் உண்மையான சாக்கெட்டைப் படியுங்கள்
கட்டமைப்புக் கோப்புகள் நோக்கத்தை விவரிக்கின்றன, சாக்கெட் யதார்த்தத்தை. நீங்கள் நினைவில் வைத்திருக்கும் கட்டமைப்பை நம்புவதற்குப் பதிலாக இயங்கும் சேவையிடம் அது எதில் பிணைக்கப்பட்டுள்ளது என்று கேளுங்கள். OpenVPN 2.6 கையேடு --local ஒரு முகவரிக்குப் பைண்டிங்காக வரையறுக்கிறது, அதைத் தவிர்த்தால் ஒவ்வொரு இன்டர்ஃபேஸும் பிணைக்கப்படும் என்று குறிப்பிடுகிறது.
sudo systemctl cat openvpn-server@server | grep -n -- '--local'
sudo ss -lunp '( sport = :1194 )'
நிலை நிரலுக்குப் பதிலாக உள்ளூர் முகவரி நிரலைப் படியுங்கள். காட்டும் வரி 10.42.7.24:1194 நீங்கள் அகற்றப்போகும் முகவரியில் சாக்கெட் பொருத்தப்பட்டுள்ளது என்பதைக் குறிக்கிறது, அதே நேரம் 0.0.0.0:1194 அல்லது *:1194 டீமன் இன்டர்ஃபேஸ் மாற்றத்தைத் தானே பின்தொடரும் என்பதைக் குறிக்கிறது. முகவரி பொருத்தப்பட்டிருந்தால், இயங்கும் சாக்கெட்டைக் கையால் மீண்டும் எழுதுவதற்குப் பதிலாக சுயவிவரத்தைத் திருத்தி யூனிட்டை மறுதொடக்கம் செய்யுங்கள், பிறகு சேவை இன்னும் அதன் சான்றிதழ் மற்றும் விசைக் கோப்புகளை அடைகிறதா என்பதை உறுதிப்படுத்துங்கள்.
மாற்றத்தை உங்களை அணுகக்கூடியதாக வைக்கும் வரிசையில் செய்யுங்கள்
இங்கே வரிசை வேகத்தை விட முக்கியம். வயர்லெஸ் இன்னும் இயங்கும்போது வயர்டு இணைப்பை மேலேற்றுங்கள், புதிய முகவரியையும் திரும்பும் பாதையையும் உறுதிப்படுத்துங்கள், அதன் பிறகே வயர்லெஸ் சுயவிவரத்தை ஓய்வு பெறச் செய்யுங்கள். அந்த வரிசை மாற்று நிரூபிக்கப்படும் வரை வேலை செய்யும் அமர்வைத் திறந்தே வைக்கிறது.
ip -br addr show eth0
ip route get 203.0.113.10
nmcli -g ipv4.method,ipv4.addresses con show "Wired connection 1"
முதல் கட்டளை eth0 நீங்கள் நினைத்த முகவரியைப் பெற்றதா என்று பதிலளிக்கிறது, இரண்டாவது கர்னல் வெளி இலக்குக்குப் பயன்படுத்தும் மூல முகவரியை அச்சிடுகிறது, எனவே மாற்றத்திற்கு முன்னும் பின்னும் இயக்குங்கள். அந்த மூலம் இன்னும் வயர்லெஸ் முகவரியாக இருந்தால், வயர்டு இணைப்பு இன்னும் விருப்பமான பாதை அல்ல, வெளியிலிருந்து செய்யும் சோதனை OpenVPN-க்கு எந்தத் தொடர்பும் இல்லாத காரணத்தால் தோல்வியடையும். ஃபார்வர்டைத் தொடும் முன் ரவுட்டிங் முன்னுரிமையைச் சரிசெய்யுங்கள்.
இரண்டு இணைப்புகளும் செயலில் இருக்கும்போது Pi வயர்லெஸ் இயல்புநிலை ரூட்டை விரும்பலாம், ஏனெனில் அது முதலில் நிறுவப்பட்டது அல்லது வயர்டு இணைப்பின் மெட்ரிக் அதிகம். Bookworm-இல் ஆதரிக்கப்படும் அமைப்பு இணைப்பில் உள்ள ipv4.route-metric ஆகும், Bullseye-இல் அதற்கு இணையானது இன்டர்ஃபேஸ்-குறிப்பிட்ட metric வரி dhcpcd.conf-இல் உள்ளது. பின்னடைவுப் பாதை ஒரு கட்டளையின் தூரத்தில் இருக்க வயர்லெஸ் இணைப்பை முடக்குவதற்குப் பதிலாக அதன் முன்னுரிமையைக் குறைக்கவும்.
டன்னலை வெளியிலிருந்து நிரூபியுங்கள், LAN-இலிருந்து அல்ல
சோஃபாவிலிருந்து வேலை செய்யும் VPN இணைப்பு தெரிவதை விடக் குறைவாகவே நிரூபிக்கிறது. LAN-க்கு உள்ளேயிருந்து பொது முகவரிக்குச் செல்லும் ட்ராஃபிக், ரவுட்டர்கள் சீரற்ற முறையில் செயல்படுத்தும் hairpin அல்லது பிரதிபலிப்பு விதிகளின் வழியாகச் செல்கிறது, எனவே வெற்றிகரமான LAN சோதனை உடைந்த வெளிப்பாதையுடன் சேர்ந்திருக்கலாம். ஏற்புச் சோதனைக்கு செல்லுலார் தரவுள்ள தொலைபேசி அல்லது வலையமைப்புக்கு வெளியே உள்ள எந்த ஹோஸ்டையும் பயன்படுத்துங்கள். LAN முயற்சியைத் தனி விருப்பக் கண்டறிதலாக வைத்திருங்கள்.
பிறகு பேக்கெட்டுகள் வரும் வரிசையில் பதிவைப் படியுங்கள். எதுவும் இல்லை என்றால் ஹேண்ட்ஷேக் Pi-ஐ அடையவே இல்லை, எனவே திருப்பிவிடும் இலக்கு அல்லது ஹோஸ்ட் ஃபயர்வால் தவறு. தொடங்கி நின்றுவிடும் ஹேண்ட்ஷேக் விசைகள், சான்றிதழ்கள் அல்லது MTU-ஐச் சுட்டுகிறது. முடிந்து விழும் அமர்வு பொதுவாகத் திரும்பும் பாதை அல்லது இரண்டாவது இயல்புநிலை ரூட்டைக் குறிக்கிறது, கிளையண்டின் பதிவு வரி Initialization Sequence Completed டன்னல் தானே மேலெழுந்தது என்பதைக் கூறுகிறது.
sudo journalctl -u openvpn-server@server -n 40 --no-pager
sudo tcpdump -ni any udp port 1194 -c 20
கிளையண்ட் மீண்டும் முயலும்போது சேவையகப் பதிவில் எதுவும் தெரியவில்லை என்றால், OpenVPN கட்டமைப்பைப் படிப்பதை நிறுத்தி திருப்பிவிடும் இலக்குக்குத் திரும்புங்கள். பிடிப்பு வந்தடைந்ததா என்ற கேள்விக்கு நொடிகளில் பதிலளிக்கிறது, பதில் இல்லாத வரும் பேக்கெட்டுகள் சிக்கலை ரூட்டுக்குள் சுருக்குகின்றன.
ஒரு-படி பின்னடைவை வைத்திருந்து வயர்லெஸ் சுயவிவரத்தை ஓய்வு பெறச் செய்யுங்கள்
வயர்டு ஏற்பாடு ஒரு மறுதொடக்கத்தைக் கடக்கும் வரை வயர்லெஸ் சுயவிவரத்தை நிறுவியே விடுங்கள். nmcli con show உங்களுக்குத் தேவைப்படும் சுயவிவரப் பெயர்களைப் பட்டியலிடுகிறது, நீக்கப்பட்ட சுயவிவரம் மோசமான தருணத்தில் நினைவிலிருந்து மீண்டும் கட்டப்பட வேண்டும். இன்டர்ஃபேஸ் பெயர், முகவரி முறை மற்றும் மெட்ரிக்கை மற்ற நான்கு மதிப்புகளுக்கு அருகில் எழுதுங்கள். குறிப்பிலிருந்து தட்டச்சு செய்யக்கூடிய பின்னடைவு மீண்டும் கட்ட வேண்டியதை விட மதிப்புமிக்கது.
வயர்லெஸ் சார்பை ஓய்வு பெறச் செய்வது நீக்குவது அல்ல, பண்பு மாற்றம். connection.autoconnect no அமைப்பதன் மூலம் சான்றுகளும் முகவரி வரலாறும் அப்படியே இருக்கும், அதே நேரம் Pi நீங்கள் விட்டு வந்த வலையமைப்பில் மீண்டும் இணைவது தடுக்கப்படுகிறது.
nmcli con show
sudo nmcli con up "Wired connection 1"
sudo nmcli con mod "previously-used-wifi" connection.autoconnect no
வேலை முடிந்ததாக அறிவிக்கும் முன் நான்கு விஷயங்களை உறுதிப்படுத்துங்கள்: திருப்பிவிடும் இலக்கு வயர்டு முகவரியுடன் பொருந்துகிறது, லிசனர் ஒரு மறுதொடக்கத்தைத் தாண்டியது, வெளிக் கிளையண்ட் ஹேண்ட்ஷேக்கை முடிக்கிறது, மறுதொடக்கத்திற்குப் பிறகும் Pi வயர்டு முகவரியில் பதிலளிக்கிறது. மறுதொடக்கம் என்பது இயங்கும் கர்னலில் மட்டும் இருந்த ஒதுக்கீட்டைப் பிடிக்கும் மலிவான வழி. நான்கில் ஏதேனும் தோல்வியடைந்தால், sudo nmcli con up மூலம் வயர்லெஸ் சுயவிவரத்தை மீண்டும் மேலேற்றி, எழுதிய மதிப்புகளை இயங்கும் மதிப்புகளுடன் ஒப்பிடுங்கள்.