ஒவ்வொரு வரியிலும் ஒரு OpenVPN கட்டளை, மற்றும் வரி மடக்குதல் ஏன் பொய் சொல்கிறது
மெதுவாக மடக்கப்பட்ட திரை கோப்பில் புதிய வரி அல்ல. சிதைந்த பகுதியை அந்நியரின் டெம்ப்ளேட்டால் மாற்றுவதற்கு முன் உண்மையான வரி இடைவெளிகளைச் சரிபார்க்கவும்.
முன்பு தொடங்கிய ஒரு சுயவிவரம் இப்போது விருப்பப் பிழையுடன் தோல்வியடைகிறது, மேலும் பாகுபடுத்தி மேற்கோள் காட்டும் வரி திரையில் முற்றிலும் நியாயமானதாகத் தெரிகிறது. இதுதான் பொறி: கட்டமைப்புக் கோப்பு என்பது இயற்பியல் வரிகளின் பட்டியல், ஒவ்வொன்றிலும் ஒரு விருப்ப முக்கியச்சொல் மற்றும் அதன் அளவுருக்கள் உள்ளன, மேலும் திருத்தியால் மடக்கப்பட்ட நீண்ட வரி பைட்டுகளைப் பார்க்கும் வரை இரண்டு வரிகளைப் போலவே தெரிகிறது. பிணையம், சான்றிதழ் அல்லது சுரங்கப்பாதை இந்த வகைத் தோல்வியில் ஈடுபடவில்லை. திரையில் ஒரே மாதிரி தெரியும் இரண்டு வரிகள் ஒரு பைட்டால் வேறுபடலாம்.
கீழே உள்ள சரிபார்ப்புகளை வரிசையாகச் செய்து முதல் தோல்வியில் நிற்கவும். ஒவ்வொன்றும் அடுத்ததை விட மலிவானது, மேலும் ஒவ்வொன்றும் வேறு விளக்கத்தை நீக்குகிறது.
ஒரு வரி, ஒரு கட்டளை
பாகுபடுத்தி ஒரு வரியைப் படித்து, முதல் சொல்லை விருப்பமாக எடுத்து, மீதியை அந்த விருப்பத்தின் அளவுருக்களாகக் கருதுகிறது. எனவே cert server.crt port 1194 போன்ற வரி தொடர்ச்சியான இரண்டு கட்டளைகள் அல்ல. இது மூன்று அளவுருக்கள் கொண்ட ஒரு cert விருப்பம், மூன்றாவது விருப்பம் ஏற்கும் கோப்புப் பெயர் அல்ல. பிழையை இல்லாத வரி இடைவெளியாகப் படிப்பது சரி; அதை இல்லாத கட்டளையாகப் படிப்பது சரி அல்ல.
# malformed: one option, three arguments
cert server.crt port 1194
# intended: two options, one argument each
cert server.crt
port 1194
அந்த இரண்டு திருத்தப்பட்ட வரிகளும் ஒரு துண்டு, கட்டமைப்பு அல்ல. எல்லை எங்கே உள்ளது என்பதைக் காட்ட அவை உள்ளன. சுயவிவரத்தில் உள்ள ஒவ்வொரு சாதாரண கட்டளையும் அதே விதியைப் பின்பற்றுகிறது, இரண்டை இணைக்கும் வரி அளவுருப் பிழையையோ அல்லது விருப்பம் எதிர்பார்க்காத மதிப்பையோ தருகிறது.
வரி இடைவெளி உண்மையானது என நிரூபிக்கவும்
திருத்திகள் காட்சிக்காக மடக்குகின்றன. சில ஒட்டும்போது கடினமான இடைவெளிகளையும் செருகுகின்றன, சில இல்லை, எனவே ஒரே காட்சி முடிவு இரண்டு மிக வேறுபட்ட கோப்புகளிலிருந்து வரலாம். எதையும் மாற்றுவதற்கு முன் வரி முடிவுகளைக் காட்டி வரிகளை எண்ணுங்கள். அளவிடுவது ஒரு கட்டளையின் செலவு; ஊகிப்பது ஒரு மாலையின் செலவு.
cat -A /etc/openvpn/server/lab.conf | sed -n '10,20p'
awk 'NR>=10 && NR<=20 {printf "%d:%s\n", NR, $0}' /etc/openvpn/server/lab.conf
முதல் வெளியீட்டில் ஒவ்வொரு உண்மையான வரி இடைவெளியும் $ குறியாகத் தோன்றுகிறது, எனவே மடக்கப்பட்ட ஆனால் பிரிக்கப்படாத வரி உங்கள் திரை மடக்கும் இடத்தில் எந்தக் குறியும் காட்டாது. இரண்டாவது கட்டளை எண்ணிடப்பட்ட வரிகளை அச்சிடுகிறது, இது பாகுபடுத்தியின் அறிக்கையையும் கோப்பின் உள்ளடக்கத்தையும் ஒப்பிடும் வேகமான வழி.
கூடுதல் இடைவெளிகளும் கட்டளையை உருவாக்காது. உள்தள்ளல் அலங்காரமானது, மேலும் இடைவெளியில் தொடங்கும் வரி அதே ஒற்றை விருப்பமாகவே இருக்கும். பிழைச் செய்தி வரி எண்ணைக் காட்டினால், அது சேர்ந்த பத்தியை அல்ல, அந்த வரியையே படியுங்கள்.
கட்டளைகளின் பட்டியல் அல்ல, பாதையை மேற்கோள் காட்டுங்கள்
மேற்கோள் குறிகள் இடைவெளி உள்ள அளவுருக்களுக்கானவை, விருப்பங்களைக் குழுவாக்குவதற்கு அல்ல. இடைவெளி உள்ள சான்றிதழ் பாதைக்கு அதன் சொந்த மேற்கோள் குறிகள் தேவை; ஒரு ஜோடி மேற்கோள் குறிகளைப் பகிரும் இரண்டு கட்டளைகள் இன்னும் ஒரு சிதைந்த வரியே.
cert "/etc/openvpn/pki/lab certs/server.crt"
key "/etc/openvpn/pki/lab certs/server.key"
விருப்பங்களின் பெயர்களை அமைப்புடன் சேர்த்தே சரிபார்க்கவும், ஏனெனில் இணைந்த வரி நம்பத்தகுந்ததாகத் தோன்றும் டோக்கனை உருவாக்கலாம், அது ஒருபோதும் இருந்ததில்லை. போர்ட் கட்டளை port; அதே கருத்துக்கு வேறொன்றைப் பயன்படுத்தும் சுயவிவரம் வரி எல்லைகளைச் சரிசெய்த பிறகும் தோல்வியடையும். ஒரு பெயர் அறிமுகமில்லாததாகத் தோன்றினால், அதை மன்றத்தின் எடுத்துக்காட்டுடன் அல்ல, நீங்கள் இயக்கும் பதிப்பின் விருப்பப் பட்டியலுடன் ஒப்பிடுங்கள்.
இன்லைன் தொகுதிகளைத் தொகுதிகளாக வைத்திருங்கள்
சுயவிவரங்கள் சான்றிதழ்களையும் விசைகளையும் இன்லைனாக வைத்திருக்கலாம், அந்தத் தொகுதிகள் தரவு, கட்டமைப்பு அல்ல. தொகுதிக்குள் உள்ள PEM வரிகள் தட்டையாக்கவோ, மீண்டும் உள்தள்ளவோ அல்லது இணைக்கவோ வேண்டிய விருப்பங்கள் அல்ல, மேலும் தொகுதிக் குறிகள் தங்கள் சொந்த வரிகளில் இருக்க வேண்டும்.
இன்லைன் தொகுதியை ஒளிபுகா பகுதியாகக் கருதுங்கள்: சுற்றியுள்ள விருப்ப வரிகளைச் சரிசெய்யுங்கள், அதன் உள்ளடக்கத்தை பைட் பைட்டாகத் தொடாமல் விடுங்கள், அதை ஒருபோதும் பொது ஆதரவு இழையில் ஒட்டாதீர்கள். வடிவமைப்புக் கருவி தொகுதியை மீண்டும் எழுதியிருந்தால், கையால் பழுதுபார்ப்பதற்குப் பதிலாக உங்கள் PKI-இலிருந்து மீட்டெடுங்கள்.
டெம்ப்ளேட்டை அல்ல, மிகச் சிறிய பகுதியைச் சரிசெய்யுங்கள்
கவர்ச்சிகரமான பழுது என்பது முழு கோப்பையும் „வேலை செய்யும்” பயிற்சியின் கட்டமைப்பால் மாற்றுவது. இது ஒரு சிதைந்த வரியை யாரும் மறுஆய்வு செய்யாத கொள்கை மாற்றங்களின் தொகுப்புடன் மாற்றுகிறது: வேறு DH அளவுருக்கள், சுருக்க அமைப்புகள், சைஃபர் தேர்வுகள், இரட்டைக் கேட்பவர்கள். அசல் சிக்கல் சிறியது மற்றும் உள்ளூரானது, மாற்று அவை இரண்டும் அல்ல.
சுயவிவரத்தைப் பாதுகாக்கப்பட்ட வேலைக் கோப்பில் நகலெடுங்கள், அந்த நகலில் வரி எல்லைகளைச் சரிசெய்யுங்கள், சேவையின் வழக்கமான உரிமையாளர் அதை ஏற்றட்டும். பின்னர் இன்ஸ்டன்ஸைத் தொடங்கி முதல் பிழையை, இருந்தால், தொடக்கத்திலிருந்து படியுங்கள்.
openvpn --config /etc/openvpn/server/lab.conf --verb 3 --log /tmp/parse.log
grep -n 'Options error' /tmp/parse.log
பாகுபடுத்தும் நிலை கடந்ததும், அடுத்த தோல்வி சொல்லகராதி அல்ல, கோப்பு, சான்றிதழ் அல்லது சைஃபர் பற்றியதாக இருக்கும், அது உண்மையான முன்னேற்றம். வேலை நகலையும் என்ன இணைக்கப்பட்டது என்பது பற்றிய ஒரு வரிக் குறிப்பையும் வைத்திருங்கள்; அதே ஒட்டுதல் அதே அணியின் வேறொருவருக்கு மீண்டும் நடக்கும்.