strongSwan இல் முழு டன்னலுக்கு இரு பக்கமும் 0.0.0.0/0 தேவை
முழு டன்னலுக்கு வாடிக்கையாளரின் remote_ts மற்றும் நுழைவாயிலின் local_ts ஆக 0.0.0.0/0 தேவை, மேலும் அனுப்பல், NAT மற்றும் திரும்பும் வழி. நான்கையும் சரிபார்க்கவும்.
ஒரு தனியார் துணை வலையத்திற்கு வேலை செய்யும் strongSwan இணைப்பு, யாரோ ஒரு வரியைத் திருத்தியதால் மட்டும் இணையப் போக்குவரத்தை எடுத்துச் செல்லாது. முழு டன்னல் என்பது child SA எந்த முகவரிகளைப் பாதுகாக்கிறது என்பதைப் பற்றிய இரு பக்கங்களின் உடன்பாடு, ஒவ்வொரு பக்கமும் மற்றொன்றைத் தன்னைப் பொறுத்து அழைக்கிறது. ஒரு பக்கத்தைச் சரியாகவும் மற்றதைத் தவறாகவும் வைத்தால் child SA ஒன்று எழாது அல்லது நோக்கத்தை விடக் குறுகலாக எழும். கீழே உள்ள ஐந்து சரிபார்ப்புகள் அந்த உடன்பாட்டை வாடிக்கையாளரிலிருந்து நுழைவாயில் வழியாக இணையம் வரை பின்பற்றுகின்றன.
முதலில் வாடிக்கையாளரின் தேர்வியைச் சரிபார்க்கவும்
வாடிக்கையாளர் தொலைப் பக்கத்தில் எதைப் பாதுகாக்க விரும்புகிறாரோ அதை remote_ts என விவரிக்கிறார், மேலும் அவர் அனுப்புவது அனைத்தும் அவருக்கு ஒதுக்கப்பட்ட முகவரியிலிருந்து செல்கிறது. இணையப் போக்குவரத்திற்கு அந்த மதிப்பு பயனர் உண்மையில் அடையும் இடங்களை உள்ளடக்க வேண்டும், இது நடைமுறையில் முழு IPv4 பகுதியைக் குறிக்கிறது. இன்னும் ஒரு துணை வலையத்தைப் பட்டியலிடும் வாடிக்கையாளர், இடைமுகத்தில் சுயவிவரத்தின் பெயர் எதுவாக இருந்தாலும் பிளவுபட்ட டன்னலைக் கேட்கிறார். மூலப் பக்கம் பொதுவாக dynamic ஆகும், ஏனெனில் இணைக்கும் போது முகவரி ஒதுக்கப்படுகிறது. அங்கு எழுதப்பட்ட நிலையான மூலம் முகவரிக் குழு மாறியவுடன் உடைகிறது.
children {
net {
local_ts = dynamic
remote_ts = 0.0.0.0/0
}
}
இந்தப் பகுதி முழு இணைப்புக் கோப்பு அல்ல, மேலும் இது அங்கீகாரம், அடையாளங்கள் மற்றும் மெய்நிகர் முகவரிக் குழு ஏற்கனவே அமைக்கப்பட்டதாகக் கருதுகிறது. வாடிக்கையாளரின் மூலத் தேர்வி மற்றும் சேவையகம் ஒதுக்கும் முகவரி இன்னும் பொருந்த வேண்டும், இல்லையெனில் child SA எந்தப் பக்கமும் எதிர்பாராத அளவுடன் எழும். அதை swanctl --load-all மூலம் ஏற்றி வெற்றியைக் கருதும் முன் வெளியீட்டைப் படிக்கவும். பகுப்பாய்வு செய்யப்படும் கோப்பும் மற்றப் பக்கத்தின் முன்மொழிவுடன் ஒத்துப்போகாத தேர்வியால் நிராகரிக்கப்படலாம்.
நுழைவாயிலின் தேர்வியை அதன் சொந்தப் பக்கத்தில் சரிபார்க்கவும்
நுழைவாயில் அதே கருத்தை எதிர் திசையிலிருந்து படிக்கிறது. இணைய இடங்கள் நுழைவாயிலுக்கு உள்ளூர், எனவே அதன் local_ts அகலமானது மற்றும் remote_ts வாடிக்கையாளர் குழுவை விவரிக்கிறது. இந்தத் தலைகீழ் மாற்றம் முழு-டன்னல் கட்டமைப்பில் மிகவும் பொதுவான தவறு, மேலும் இரு வரிகளும் தனித்தனியாக நம்பத்தகுந்ததாகத் தோன்றுவதால் இது மறுஆய்வைத் தாண்டுகிறது.
children {
rw {
local_ts = 0.0.0.0/0
remote_ts = 10.77.0.0/24
}
}
வாடிக்கையாளர் பகுதியை நுழைவாயில் கோப்பில் நகலெடுப்பது பயனுள்ள எதையும் விவரிக்காத தேர்வி இணையை உருவாக்குகிறது, ஏனெனில் இரு பக்கங்களும் ஒரே பாத்திரத்தைக் கோரும். strongSwan அனுப்பல் வழிகாட்டி வாடிக்கையாளர் மற்றும் நுழைவாயில் இணையை வெளிப்படையாக ஆவணப்படுத்துகிறது, அதைத் தோல்விக்குப் பிறகு அல்ல, இணைப்புக் கோப்பின் அருகில் படிக்க வேண்டும். நுழைவாயில் கோப்பிற்கு remote_ts குறிப்பிடும் குழுவின் வரையறையும் தேவை. இல்லாத குழுவைப் பெயரிடும் தேர்வி புகாரின்றி ஏற்றப்பட்டு இணைக்கும் போது தோல்வியடைகிறது.
பழைய ipsec.conf வெவ்வேறு விசைகளுடன் இடது மற்றும் வலது பாத்திரங்களைப் பயன்படுத்துகிறது, மேலும் rightsubnet வரி swanctl மதிப்பிற்கு நேரடி மாற்று அல்ல. ஒன்றை மற்றொன்றில் ஒட்டுவதற்குப் பதிலாக இரு தொடரியல்களையும் தனிக் கோப்புகளில் வைக்கவும். அவற்றை ஒரே அடைவில் கலப்பதே வேலை செய்யும் இணைப்பு மறுதொடக்கத்திற்குப் பிறகு அமைதியாகப் பின்வாங்கும் வழி.
கோப்பை அல்ல, பேசப்பட்ட child SA ஐச் சரிபார்க்கவும்
சேமிக்கப்பட்ட கட்டமைப்பு நோக்கத்தை மட்டுமே நிரூபிக்கிறது, அதற்கு மேல் எதுவுமில்லை. மற்றப் பக்கம் கோரியதைக் குறுக்கலாம், மேலும் அதன் கீழ் உள்ள கோப்பு மாறியதால் மட்டும் இருக்கும் child SA மாற்றப்படாது. வேறு எதையும் மாற்றும் முன் உண்மையில் என்ன நிறுவப்பட்டுள்ளது என்பதை உறுதிப்படுத்தவும்.
swanctl --list-conns
swanctl --list-sas
ip xfrm policy list
முதல் கட்டளை டீமன் எதை ஏற்றியது என்பதைக் காட்டுகிறது, இரண்டாவது நிறுவப்பட்ட child SA களைக் காட்டுகிறது, மூன்றாவது கர்னல் பயன்படுத்தும் கொள்கைகளைக் காட்டுகிறது. கோப்பு 0.0.0.0/0 என்று சொல்லி பட்டியல் ஒரு துணை வலையத்தைக் காட்டினால், பேச்சுவார்த்தை அளவைக் குறுக்கியது, கோப்பை மீண்டும் படிப்பது அதை விளக்காது. child ஐ நிறுத்தி மீண்டும் தொடங்கி மூன்று வெளியீடுகளையும் மீண்டும் ஒப்பிடவும். அதே குறுகிய அளவுடன் திரும்பும் child உள்ளூர் கோப்பால் அல்ல, தொலைப் பக்கத்தால் குறுக்கப்படுகிறது, அது உள்ளூர் திருத்தம் அல்ல, மற்ற நிர்வாகியுடனான உரையாடல்.
கொள்கைப் பட்டியலில் இரு திசைகளையும் படிக்கவும், ஏனெனில் ஒரு திசையை நிறுவி மற்றதை நிறுவாத டன்னல் கட்டமைப்பு உடையில் உள்ள வழியமைப்புப் பிரச்சினை. முன்னோக்கு மற்றும் பின்னோக்கு கொள்கைகள் அதே தேர்வி இணையை கண்ணாடி வடிவில் பெயரிட வேண்டும், காணாமல் போன கண்ணாடி தேர்வி உரையில் அல்ல, டீமன் அல்லது முன்மொழிவில் உள்ள குறை.
அனுப்பல் மற்றும் திரும்பும் வழியைச் சரிபார்க்கவும்
ஒரு தேர்வி போக்குவரத்தை நுழைவாயில் வரை அனுமதிக்கிறது, ஆனால் நுழைவாயிலை அதை மேலும் வழியமைக்க வைக்காது. அனுப்பல் இயக்கப்பட வேண்டும், தீச்சுவர் ஓட்டத்தை அனுமதிக்க வேண்டும், பதில் வாடிக்கையாளர் குழுவிற்குத் திரும்பும் வழியைக் கண்டறிய வேண்டும். இவை மூன்று தனித் தேவைகள், ஒவ்வொன்றும் வேறு அறிகுறியுடன் தோல்வியடைகிறது. காணாமல் போன அனுப்பல் விதி கருந்துளை போல நடந்துகொள்ளும், காணாமல் போன திரும்பும் வழி ஒருவழிப் பாதை டன்னல் போல.
sysctl net.ipv4.ip_forward
iptables -t nat -S | grep -i masq
ip route get 1.1.1.1
தனியார் வாடிக்கையாளர் முகவரிகள் பொதுவாகப் பொது இடைமுகத்தை விட்டு வெளியேறும் முன் வேண்டுமென்றே மூல மொழிபெயர்ப்பு தேவை, அதேசமயம் வெளிப்படையாக வழியமைக்கப்பட்ட ஒதுக்கீட்டிற்கு வேறு அணுகுமுறை தேவை. NAT ஈடுபட்டிருந்தால், பாதுகாப்புக் கொள்கை பரிசோதிக்க வேண்டிய போக்குவரத்து அதைத் தாண்டி மொழிபெயர்க்கப்படாதபடி செயலாக்கம் ஆதரிக்கும் விதிவிலக்குகளை வைத்திருங்கள். மற்றொரு நுழைவாயிலிலிருந்து நகலெடுக்கப்பட்ட பரந்த masquerade விதி எழுத்தாளர் நினைத்ததை விட மிகக் கூடுதல் ஓட்டங்களை மாற்றுகிறது. விதியை வாடிக்கையாளர் குழுவிற்கு மட்டும் எழுதி, அது ஏன் உள்ளது என்பதை விளக்கும் குறிப்பை விடவும்.
வாடிக்கையாளரில், நீங்கள் கருதிய வழிகளை அல்ல, backend நிறுவிய வழிகளை உறுதிப்படுத்தவும். வழி நிறுவல் முடக்கப்பட்ட நிர்வாகியிடம் கையால் பராமரிக்கப்படும் வழியமைவு வடிவமைப்பு தேவை, டன்னல் மாறும்போதெல்லாம் அந்த வடிவமைப்பு புதுப்பிக்கப்பட வேண்டும். மீண்டும் இணைந்த பிறகு வழியமைவு அட்டவணையைச் சரிபார்க்கவும், புதிய துவக்கத்திற்குப் பிறகு மட்டும் அல்ல.
டன்னல் இன்னும் எதை உள்ளடக்கவில்லை என்பதைச் சரிபார்க்கவும்
தேர்வி இணை IPv4 ஐ மட்டுமே உள்ளடக்கிறது, வேறு எதையும் அல்ல. IPv6, DNS மற்றும் எந்தப் பயன்பாட்டு-நிலைக் கொள்கையும் தனி முடிவுகள், பரந்த IPv4 தேர்வி அவற்றை அமைதியாகப் புறக்கணிக்கிறது. ஒவ்வொரு IPv4 பாக்கெட்டையும் எடுத்துச் செல்லும் டன்னலும் ஒவ்வொரு பெயர்த் தேடலையும் கசியவிடலாம்.
எதிர்பார்க்கப்பட்ட DNS வழியை வெளிப்படையாகக் கூறவும், ஏனெனில் உள்ளூர் தீர்வியின் மூலம் பெயர்களை இன்னும் தீர்க்கும் முழு டன்னல் வினவல்களை டன்னலுக்கு வெளியே கசியவிட்டு தனியார் பெயர்களை உடைக்கிறது. வாடிக்கையாளருக்கு IPv6 முகவரி ஒதுக்கப்பட்டால், அந்த முகவரிக் குடும்பத்திற்கும் அதே அணுகுமுறை தேவை, இல்லையெனில் புரவன் டன்னல் பாதுகாக்காத வழியை விரும்பும். தனியார் பக்கம் மட்டுமே பதிலளிக்கக்கூடிய பெயரைக் கொண்டு சோதிக்கவும், பொது பதிலைக் கசிவாகக் கருதவும்.
resolvectl query intranet.example.internal
traceroute -n 1.1.1.1
மேலே உள்ள பட்டியலிலிருந்து பேசப்பட்ட தேர்விகளுடன் அந்த இரண்டு கட்டளைகளால் சங்கிலியை உறுதிப்படுத்தவும். traceroute உள்ளூர் திசைவியை முதல் தாவலாகக் காட்டினால், தேர்விகள் எதைக் கூறினாலும் போக்குவரத்து டன்னலைப் பயன்படுத்தவில்லை. இணைய அணுகல் தேர்ந்தெடுக்கப்பட்ட போக்குவரத்து வடிவமைக்கப்பட்ட நுழைவாயில் வழியாக ஏற்கப்பட்டு, அனுப்பப்பட்டு, திரும்பக் கொண்டுவரப்படும்போது மட்டுமே முழுமையாகும். சுயவிவரத்தில் 0.0.0.0/0 கண்டுபிடிப்பது அந்தச் சங்கிலியின் தொடக்கம், அதன் சான்று அல்ல.