தூதரகம் + iptables = :3

2010 இல் நிறுவனம் போர் விளையாட்டுகள் 50 சர்வர்கள் மற்றும் ஒரு எளிய நெட்வொர்க் மாடல்: பின்தளம், முன்பக்கம் மற்றும் ஃபயர்வால். சேவையகங்களின் எண்ணிக்கை அதிகரித்தது, மாடல் மிகவும் சிக்கலானது: ஸ்டேஜிங், ACLகளுடன் தனிமைப்படுத்தப்பட்ட VLANகள், பின்னர் VRFகள் கொண்ட VPNகள், L2 இல் ACLகள் கொண்ட VLANகள், L3 இல் ACLகள் கொண்ட VRFகள். தலை சுற்றுகிறதா? இது பின்னர் மிகவும் வேடிக்கையாக இருக்கும்.

16 சர்வர்கள் இருந்தபோது, ​​பல பன்முகப் பிரிவுகளுடன் கண்ணீர் இல்லாமல் வேலை செய்ய இயலாது. எனவே நாங்கள் மற்றொரு தீர்வைக் கொண்டு வந்தோம். நாங்கள் Netfilter அடுக்கை எடுத்து, அதில் ஒரு தரவு ஆதாரமாக தூதரைச் சேர்த்தோம், மேலும் வேகமாக விநியோகிக்கப்பட்ட ஃபயர்வாலைப் பெற்றோம். அவர்கள் ரவுட்டர்களில் ACLகளை மாற்றி அவற்றை வெளிப்புற மற்றும் உள் ஃபயர்வாலாகப் பயன்படுத்தினர். கருவியை மாறும் வகையில் நிர்வகிக்க, எல்லா இடங்களிலும் பயன்படுத்தப்படும் BEFW அமைப்பை நாங்கள் உருவாக்கினோம்: தயாரிப்பு நெட்வொர்க்கிற்கான பயனர் அணுகலை நிர்வகிப்பது முதல் பிணையப் பிரிவுகளை ஒருவருக்கொருவர் தனிமைப்படுத்துவது வரை.

தூதரகம் + iptables = :3

இவை அனைத்தும் எவ்வாறு செயல்படுகின்றன, ஏன் இந்த அமைப்பை உன்னிப்பாகப் பார்க்க வேண்டும் என்று அவர் உங்களுக்குச் சொல்வார். இவான் அகர்கோவ் (annmuor) நிறுவனத்தின் மின்ஸ்க் மேம்பாட்டு மையத்தில் பராமரிப்புப் பிரிவின் உள்கட்டமைப்பு பாதுகாப்புக் குழுவின் தலைவர். இவன் ஒரு SELinux ரசிகர், பெர்லை நேசிக்கிறார், மேலும் குறியீடு எழுதுகிறார். தகவல் பாதுகாப்புக் குழுவின் தலைவராக, ஹேக்கர்களிடமிருந்து வார்கேமிங்கைப் பாதுகாக்கவும், நிறுவனத்தில் உள்ள அனைத்து கேம் சர்வர்களின் செயல்பாட்டை உறுதிப்படுத்தவும் அவர் பதிவுகள், காப்புப்பிரதிகள் மற்றும் R&D உடன் தொடர்ந்து பணியாற்றுகிறார்.

வரலாற்று பின்னணி

நாங்கள் அதை எப்படி செய்தோம் என்பதை நான் உங்களுக்குச் சொல்வதற்கு முன், நாங்கள் முதலில் இதை எப்படி வந்தோம், அது ஏன் தேவைப்பட்டது என்பதை நான் உங்களுக்குச் சொல்கிறேன். இதைச் செய்ய, 9 ஆண்டுகள் பின்னோக்கிச் செல்வோம்: 2010, வேர்ல்ட் ஆஃப் டேங்க்ஸ் இப்போது தோன்றியது. போர்கேமிங்கில் தோராயமாக 50 சர்வர்கள் இருந்தன.

தூதரகம் + iptables = :3
நிறுவனத்தின் சேவையக வளர்ச்சி விளக்கப்படம்.

எங்களிடம் ஒரு நெட்வொர்க் மாதிரி இருந்தது. அந்த நேரத்தில் அது உகந்ததாக இருந்தது.

தூதரகம் + iptables = :3
2010 இல் நெட்வொர்க் மாடல்.

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

4 ஆண்டுகளில், சர்வர் கடற்படை 100 மடங்கு வளர்ந்தது, 5000. முதல் தனிமைப்படுத்தப்பட்ட நெட்வொர்க்குகள் தோன்றின - ஸ்டேஜிங்: அவை உற்பத்திக்கு செல்ல முடியவில்லை, மேலும் ஆபத்தானதாக இருக்கும் விஷயங்கள் பெரும்பாலும் அங்கு இயங்கின.

தூதரகம் + iptables = :3
2014 இல் நெட்வொர்க் மாடல்.

மந்தநிலையால், நாங்கள் அதே வன்பொருளைப் பயன்படுத்தினோம், மேலும் அனைத்து வேலைகளும் தனிமைப்படுத்தப்பட்ட VLAN களில் மேற்கொள்ளப்பட்டன: ACL கள் VLAN களுக்கு எழுதப்படுகின்றன, அவை சில வகையான இணைப்பை அனுமதிக்கின்றன அல்லது மறுக்கின்றன.

2016 இல், சேவையகங்களின் எண்ணிக்கை 8000 ஐ எட்டியது. வார்கேமிங் மற்ற ஸ்டுடியோக்களை உள்வாங்கியது, மேலும் கூடுதல் இணைப்பு நெட்வொர்க்குகள் தோன்றின. அவை எங்களுடையவை என்று தோன்றுகிறது, ஆனால் முற்றிலும் இல்லை: VLAN பெரும்பாலும் கூட்டாளர்களுக்கு வேலை செய்யாது, நீங்கள் VRF உடன் VPN ஐப் பயன்படுத்த வேண்டும், தனிமைப்படுத்தல் மிகவும் சிக்கலானதாகிறது. ACL இன்சுலேஷன் கலவை வளர்ந்தது.

தூதரகம் + iptables = :3
2016 இல் நெட்வொர்க் மாடல்.

2018 ஆம் ஆண்டின் தொடக்கத்தில், இயந்திரங்களின் எண்ணிக்கை 16 ஆக வளர்ந்தது. 000 பிரிவுகள் இருந்தன, நிதித் தரவு சேமிக்கப்பட்ட மூடியவை உட்பட மீதமுள்ளவற்றை நாங்கள் கணக்கிடவில்லை. கொள்கலன் நெட்வொர்க்குகள் (குபெர்னெட்ஸ்), டெவொப்ஸ், VPN வழியாக இணைக்கப்பட்ட கிளவுட் நெட்வொர்க்குகள், எடுத்துக்காட்டாக, ஒரு IVS இலிருந்து, தோன்றியுள்ளன. நிறைய விதிகள் இருந்தன - அது வேதனையாக இருந்தது.

தூதரகம் + iptables = :3
2018 இல் நெட்வொர்க் மாதிரி மற்றும் தனிமைப்படுத்தும் முறைகள்.

தனிமைப்படுத்த நாங்கள் பயன்படுத்தினோம்: L2 இல் ACL உடன் VLAN, L3 இல் ACL உடன் VRF, VPN மற்றும் பல. மிக அதிகம்.

பிரச்சினைகள்

அனைவரும் ACL மற்றும் VLAN உடன் வாழ்கின்றனர். என்ன தவறு? இந்த கேள்விக்கு ஹரோல்ட் பதிலளிப்பார், வலியை மறைக்கிறார்.

தூதரகம் + iptables = :3

பல சிக்கல்கள் இருந்தன, ஆனால் ஐந்து பாரிய பிரச்சனைகள் இருந்தன.

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

2018 இல் ஒரு நெட்வொர்க் இன்ஜினியர் கேட்டது இப்படித்தான் இருந்தது: "இன்னும் கொஞ்சம் ACL வேண்டும்."

தூதரகம் + iptables = :3

தீர்வுகளை

2018 ஆம் ஆண்டின் தொடக்கத்தில், இதைப் பற்றி ஏதாவது செய்ய முடிவு செய்யப்பட்டது.

ஒருங்கிணைப்புகளின் விலை தொடர்ந்து அதிகரித்து வருகிறது. சாதனங்களின் நினைவகம் தீர்ந்துவிட்டதால், பெரிய தரவு மையங்கள் தனிமைப்படுத்தப்பட்ட VLANகள் மற்றும் ACLகளை ஆதரிப்பதை நிறுத்தியது.

தீர்வு: நாங்கள் மனித காரணியை அகற்றி, அதிகபட்ச அணுகலை வழங்குவதை தானியங்குபடுத்தினோம்.

புதிய விதிகள் அமலுக்கு வர நீண்ட காலம் எடுக்கும். தீர்வு: விதிகளின் பயன்பாட்டை விரைவுபடுத்தவும், அதை விநியோகிக்கவும் இணையாகவும் மாற்றவும். rsync அல்லது SFTP இல்லாமல் ஆயிரம் அமைப்புகளுக்கு விதிகள் தாங்களாகவே வழங்கப்படுவதற்கு, இதற்கு விநியோகிக்கப்பட்ட அமைப்பு தேவைப்படுகிறது.

பிரிவுகளுக்குள் ஃபயர்வால் இல்லை. ஒரே நெட்வொர்க்கில் வெவ்வேறு சேவைகள் தோன்றும்போது பிரிவுகளுக்குள் ஒரு ஃபயர்வால் எங்களிடம் வரத் தொடங்கியது. தீர்வு: ஹோஸ்ட் மட்டத்தில் ஃபயர்வாலைப் பயன்படுத்தவும் - ஹோஸ்ட் அடிப்படையிலான ஃபயர்வால்கள். கிட்டத்தட்ட எல்லா இடங்களிலும் லினக்ஸ் உள்ளது, எல்லா இடங்களிலும் iptables உள்ளது, இது ஒரு பிரச்சனையல்ல.

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

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

இது தொழில்நுட்ப செயல்முறையை விட நிர்வாக செயல்முறையாகும். சில நேரங்களில் எங்களிடம் வாரத்திற்கு 200-300 புதிய வெளியீடுகள் இருக்கும், குறிப்பாக விளம்பரங்கள் மற்றும் விடுமுறை நாட்களில். மேலும், இது எங்கள் DevOps இன் ஒரு குழுவிற்கு மட்டுமே. பல வெளியீடுகளுடன், என்ன போர்ட்கள், ஐபிகள் மற்றும் ஒருங்கிணைப்புகள் தேவை என்பதைப் பார்க்க முடியாது. எனவே, எங்களுக்கு சிறப்புப் பயிற்சி பெற்ற சேவை மேலாளர்கள் தேவை, அவர்கள் குழுக்களிடம் கேட்டனர்: "எப்படியும் என்ன இருக்கிறது, அதை ஏன் கொண்டு வந்தீர்கள்?"

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

தூதரகம் + iptables = :3

கன்சுல்

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

இதை எப்படி செய்ய முடிவு செய்தோம்?

  • அனைத்து சேவைகள், நெட்வொர்க்குகள் மற்றும் பயனர்களை நாங்கள் சேகரிப்போம்.
  • அவற்றின் அடிப்படையில் iptables விதிகளை உருவாக்குவோம்.
  • நாங்கள் கட்டுப்பாட்டை தானியக்கமாக்குகிறோம்.
  • ....
  • லாபம்.

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

ஏன் தூதரகம்?

தன்னை நன்றாக நிரூபித்துள்ளது. 2014-15 ஆம் ஆண்டில், நாங்கள் கடவுச்சொல்லைச் சேமிக்கும் வால்ட்டின் பின்தளமாக இதைப் பயன்படுத்தினோம்.

தரவை இழக்காது. பயன்பாட்டின் போது, ​​ஒரு விபத்தின் போது கன்சல் தரவை இழக்கவில்லை. ஃபயர்வால் மேலாண்மை அமைப்புக்கு இது ஒரு பெரிய பிளஸ் ஆகும்.

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

வசதியான REST API. Apache ZooKeeper என்றும் நாங்கள் கருதினோம், ஆனால் அதில் REST API இல்லை, எனவே நீங்கள் ஊன்றுகோலை நிறுவ வேண்டும்.

ஒரு முக்கிய வால்ட் (KV) மற்றும் ஒரு அடைவு (சேவை கண்டுபிடிப்பு) ஆகிய இரண்டிலும் வேலை செய்கிறது. நீங்கள் சேவைகள், பட்டியல்கள் மற்றும் தரவு மையங்களை ஒரே நேரத்தில் சேமிக்கலாம். இது எங்களுக்கு மட்டுமல்ல, அண்டை அணிகளுக்கும் வசதியானது, ஏனென்றால் உலகளாவிய சேவையை உருவாக்கும்போது, ​​நாங்கள் பெரிதாக நினைக்கிறோம்.

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

சக்திவாய்ந்த ACL அமைப்பு. தூதரகத்தில், யார் என்ன எழுதுகிறார்கள் என்பதைக் கட்டுப்படுத்த ACLகளைப் பயன்படுத்தலாம். ஃபயர்வால் விதிகள் வேறு எதனுடனும் ஒன்றுடன் ஒன்று சேராது என்றும், இதில் எங்களுக்கு சிக்கல்கள் இருக்காது என்றும் நாங்கள் உத்தரவாதம் அளிக்கிறோம்.

ஆனால் தூதரகத்திற்கும் அதன் குறைபாடுகள் உள்ளன.

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

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

தூதரகம் எவ்வாறு செயல்படுகிறது

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

தூதரகம் + iptables = :3

வாடிக்கையாளர்கள் எந்த வரிசையிலும் சேவையகங்களுடன் இணைகிறார்கள்: அதே முகவர்கள், கொடியுடன் மட்டுமே server = false.

தூதரகம் + iptables = :3

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

தூதரகம் + iptables = :3

உலக அளவில், நாங்கள் பல தரவு மையங்களை இணைக்கிறோம். அவர்கள் P2P ஐ இணைத்து தொடர்பு கொள்கிறார்கள்.

தூதரகம் + iptables = :3

வேறொரு தரவு மையத்திலிருந்து தரவை மீட்டெடுக்க விரும்பினால், கோரிக்கை சேவையகத்திலிருந்து சேவையகத்திற்குச் செல்லும். இந்த திட்டம் அழைக்கப்படுகிறது செர்ஃப் நெறிமுறை. தூதரகத்தைப் போலவே செர்ஃப் நெறிமுறையும் ஹாஷிகார்ப் நிறுவனத்தால் உருவாக்கப்பட்டது.

தூதரகத்தைப் பற்றிய சில முக்கியமான தகவல்கள்

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

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

கிடைமட்ட அளவீடு வேண்டுமா? மன்னிக்கவும், இல்லை.

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

கிளையண்டில் பழைய பயன்முறையை இயக்குவதே அளவிடுவதற்கான ஒரே வழி.

பழைய பயன்முறையில், நீங்கள் கோரம் இல்லாமல் பதிலளிக்கலாம். இது ஒரு பயன்முறையாகும், இதில் நாங்கள் தரவு நிலைத்தன்மையை விட்டுவிடுகிறோம், ஆனால் வழக்கத்தை விட சற்று வேகமாகப் படிக்கிறோம், மேலும் எந்த சேவையகமும் பதிலளிக்கும். இயற்கையாகவே, மாஸ்டர் மூலம் மட்டுமே பதிவு செய்தல்.

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

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

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

ACL அணுகலுக்கு உத்தரவாதம் அளிக்காது (பல சந்தர்ப்பங்களில்). ஒரு கூட்டமைப்பு தரவு மையத்தில் - ACL தரவு மையத்தில் (முதன்மை DC) சேமிக்கப்பட்டுள்ளதால் ACL வேலை செய்யாமல் போகலாம். DC உங்களுக்கு பதிலளிக்கவில்லை என்றால், ACL வேலை செய்யாது.

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

நிலை, கோரம் மற்றும் தேர்தல்கள் ஒரு தனி நூலால் கையாளப்படுகின்றன. மறுதேர்தல் நடக்காது, நிலை எதையும் காட்டாது. உங்களிடம் நேரடி தூதர் இருப்பதாக நீங்கள் நினைக்கிறீர்கள், நீங்கள் கேட்கிறீர்கள், எதுவும் நடக்காது - பதில் இல்லை. அதே சமயம், எல்லாம் நன்றாக இருக்கிறது என்று ஸ்டேட்டஸ் காட்டுகிறது.

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

Consul Enterprise இன் வணிக பதிப்பில் மேலே உள்ள சில குறைபாடுகள் இல்லை. இது பல பயனுள்ள செயல்பாடுகளைக் கொண்டுள்ளது: வாக்காளர்களைத் தேர்ந்தெடுப்பது, விநியோகம், அளவிடுதல். ஒரே ஒரு "ஆனால்" மட்டுமே உள்ளது - விநியோகிக்கப்பட்ட அமைப்பிற்கான உரிம அமைப்பு மிகவும் விலை உயர்ந்தது.

வாழ்க்கை ஹேக்கிங்: rm -rf /var/lib/consul - முகவரின் அனைத்து நோய்களுக்கும் ஒரு சிகிச்சை. ஏதேனும் உங்களுக்கு வேலை செய்யவில்லை என்றால், உங்கள் தரவை நீக்கிவிட்டு, நகலில் இருந்து தரவைப் பதிவிறக்கவும். பெரும்பாலும், கான்சல் வேலை செய்வார்.

BEFW

இப்போது நாம் தூதரிடம் சேர்த்ததைப் பற்றி பேசலாம்.

BEFW என்பதன் சுருக்கமாகும் BACKEndFகோபத்தின்Wஅனைத்து. நான் களஞ்சியத்தை உருவாக்கியபோது தயாரிப்புக்கு எப்படியாவது பெயரிட வேண்டியிருந்தது. இந்தப் பெயர் நிலைத்திருக்கிறது.

விதி வார்ப்புருக்கள்

விதிகள் iptables தொடரியலில் எழுதப்பட்டுள்ளன.

  • -N BEFW
  • -பி இன்புட் டிராப்
  • -ஒரு உள்ளீடு -m நிலை-மாநிலம் தொடர்புடையது, நிறுவப்பட்டது -ஜே ஏற்றுக்கொள்வது
  • -ஒரு உள்ளீடு -i lo -j ஏற்கிறேன்
  • -ஒரு உள்ளீடு -j BEFW

தவிர அனைத்தும் BEFW சங்கிலியில் செல்கிறது ESTABLISHED, RELATED மற்றும் உள்ளூர் ஹோஸ்ட். டெம்ப்ளேட் எதுவும் இருக்கலாம், இது ஒரு எடுத்துக்காட்டு.

BEFW எப்படி பயனுள்ளதாக இருக்கும்?

சேவைகள்

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

தூதரகம் + iptables = :3

தூதரகத்தில் இயங்கும் மற்றும் பதிவுசெய்யப்பட்ட எந்தவொரு சேவையும் iptables விதியாக மாறும். எங்களிடம் SSH - open port 22 உள்ளது. பாஷ் ஸ்கிரிப்ட் எளிமையானது: curl மற்றும் iptables, வேறு எதுவும் தேவையில்லை.

வாடிக்கையாளர்கள்

அனைவருக்கும் அணுகலைத் திறப்பது எப்படி, ஆனால் தேர்ந்தெடுக்கப்பட்டதா? சேவையின் பெயரால் KV சேமிப்பகத்தில் IP பட்டியல்களைச் சேர்க்கவும்.

தூதரகம் + iptables = :3

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

அணுகல்கள்

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

தூதரகம் + iptables = :3

குழுக்கள்

ஒவ்வொரு முறையும் ஆயிரக் கணக்கான ஐபிகளை அணுகல் எழுதினால், நாம் சோர்வடைவோம். KV இல் ஒரு தனி துணைக்குழு - குழுக்கள் கொண்டு வருவோம். அதை மாற்றுப்பெயர் (அல்லது குழுக்கள்) என்று அழைப்போம், அதே கொள்கையின்படி குழுக்களை அங்கே சேமித்து வைப்போம்.

தூதரகம் + iptables = :3

இணைப்போம்: இப்போது நாம் SSH ஐ P2P க்காக திறக்க முடியாது, ஆனால் ஒரு முழு குழு அல்லது பல குழுக்களுக்கு. அதே வழியில், TTL உள்ளது - நீங்கள் ஒரு குழுவில் சேர்க்கலாம் மற்றும் குழுவிலிருந்து தற்காலிகமாக நீக்கலாம்.

தூதரகம் + iptables = :3

ஒருங்கிணைப்பு

எங்கள் பிரச்சனை மனித காரணி மற்றும் ஆட்டோமேஷன் ஆகும். இதுவரை நாங்கள் அதை இந்த வழியில் தீர்த்துள்ளோம்.

தூதரகம் + iptables = :3

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

தரவு பரிமாற்றத்திற்கு உதவும் எளிய தீர்வான befw-sync என்று எழுதினோம். முதலில், ஒத்திசைவு குக்கீகள் puppetdb ஆல் அணுகப்படுகின்றன. ஒரு HTTP API அங்கு கட்டமைக்கப்பட்டுள்ளது: எங்களிடம் என்ன சேவைகள் உள்ளன, என்ன செய்ய வேண்டும் என்று நாங்கள் கோருகிறோம். பின்னர் அவர்கள் தூதரகத்திடம் கோரிக்கை வைத்தனர்.

ஒருங்கிணைப்பு உள்ளதா? ஆம்: அவர்கள் விதிகளை எழுதி, இழுக்கும் கோரிக்கைகளை ஏற்க அனுமதித்தனர். உங்களுக்கு ஒரு குறிப்பிட்ட போர்ட் தேவையா அல்லது சில குழுவில் ஹோஸ்டை சேர்க்க வேண்டுமா? கோரிக்கையை இழுக்கவும், மதிப்பாய்வு செய்யவும் - இனி "இதர 200 ACLகளைக் கண்டுபிடி, அதைப் பற்றி ஏதாவது செய்ய முயற்சிக்கவும்."

தேர்வுமுறை

காலியான ரூல் செயின் மூலம் லோக்கல் ஹோஸ்ட்டை பிங் செய்ய 0,075 எம்எஸ் ஆகும்.

தூதரகம் + iptables = :3

இந்த சங்கிலியில் 10 iptables முகவரிகளைச் சேர்ப்போம். இதன் விளைவாக, பிங் 000 மடங்கு அதிகரிக்கும்: iptables முற்றிலும் நேரியல், ஒவ்வொரு முகவரியையும் செயலாக்க சிறிது நேரம் ஆகும்.

தூதரகம் + iptables = :3

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

ஆனால் நாம் வைத்தால் ipset இல் 10 முகவரிகள் பிங் கூட குறையும்.

தூதரகம் + iptables = :3

புள்ளி என்னவென்றால், எத்தனை விதிகள் இருந்தாலும், ipsetக்கான “O” (அல்காரிதம் சிக்கலானது) எப்போதும் 1 க்கு சமமாக இருக்கும். உண்மை, ஒரு வரம்பு உள்ளது - 65535 க்கும் மேற்பட்ட விதிகள் இருக்க முடியாது, இப்போது நாங்கள் இதனுடன் வாழ்கிறோம்: நீங்கள் அவற்றை இணைக்கலாம், விரிவாக்கலாம், ஒன்றில் இரண்டு ஐப்செட்களை உருவாக்கலாம்.

சேமிப்பு

மறு செய்கை செயல்முறையின் தர்க்கரீதியான தொடர்ச்சியானது சேவைக்கான கிளையன்ட்கள் பற்றிய தகவல்களை ipset இல் சேமித்து வைப்பதாகும்.

தூதரகம் + iptables = :3

இப்போது எங்களிடம் அதே SSH உள்ளது, நாங்கள் ஒரே நேரத்தில் 100 ஐபிகளை எழுதவில்லை, ஆனால் நாம் தொடர்பு கொள்ள வேண்டிய ஐப்செட்டின் பெயரையும் பின்வரும் விதியையும் அமைக்கிறோம் DROP. இதை ஒரு விதியாக மாற்றலாம் "யார் இங்கே இல்லை, டிராப்", ஆனால் அது இன்னும் தெளிவாக உள்ளது.

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

பொது திட்டம்

வரைபட வடிவில், நான் சொன்ன அனைத்தும் இப்படித்தான் தெரிகிறது.

தூதரகம் + iptables = :3

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

மறுப்பதற்கு அனுமதியளி

உலகை விரைவாகக் காப்பாற்ற அல்லது ஒருவரை விரைவாக முடக்க, அனைத்து சங்கிலிகளின் தொடக்கத்திலும் நாங்கள் இரண்டு ஐப்செட்களை உருவாக்கினோம்: rules_allow и rules_deny. எப்படி இது செயல்படுகிறது?

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

தூதரகம் + iptables = :3

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

ஒருமுறை ஃபயர்வாலில் ஏற்பட்ட தவறு காரணமாக நான் எப்படியோ WOTயை முழுமையாக நிறுத்திவிட்டேன். rules_allow - இது போன்ற வழக்குகளுக்கு எதிரான எங்கள் காப்பீடு. ஃபயர்வால் மூலம் எங்காவது தவறு செய்திருந்தால், எங்காவது ஏதாவது தடுக்கப்பட்டிருந்தால், நாம் எப்போதும் நிபந்தனையுடன் அனுப்பலாம் 0.0/0எல்லாவற்றையும் விரைவாக எடுக்க. பின்னர் எல்லாவற்றையும் கையால் சரிசெய்வோம்.

மற்ற தொகுப்புகள்

நீங்கள் விண்வெளியில் வேறு எந்த செட்களையும் சேர்க்கலாம் $IPSETS$.

தூதரகம் + iptables = :3

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

பயனர்கள்

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

என்ன செய்தோம்? விலாசம் கிடைத்த நொடியில் மாட்டிக் கொண்டோம். பொதுவாக இது dot1x, Wi-Fi அல்லது VPN - எல்லாம் RADIUS வழியாக செல்கிறது. ஒவ்வொரு பயனருக்கும், பயனர்பெயரின் மூலம் ஒரு குழுவை உருவாக்கி, அதில் ஒரு ஐபியை அதன் dhcp.leaseக்கு சமமான TTL உடன் வைக்கிறோம் - அது காலாவதியானவுடன், விதி மறைந்துவிடும்.

தூதரகம் + iptables = :3

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

காப்பு

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

தூதரகம் + iptables = :3

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

நேர்மை கட்டுப்பாடு

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

BEFW சங்கிலியில் உள்ள சேவைகளின் விதிகளான befw.conf இல் உள்ள சேவைகள் மற்றும் பட்டியலிலிருந்து ipset ஐ BEFW கட்டுப்படுத்துகிறது. ஆனால் இது மற்ற சங்கிலிகள் மற்றும் விதிகள் மற்றும் பிற இப்செட்களை கண்காணிக்காது.

விபத்து பாதுகாப்பு

BEFW எப்போதும் கடைசியாக அறியப்பட்ட நல்ல நிலையை நேரடியாக state.bin பைனரி கட்டமைப்பில் சேமிக்கிறது. ஏதேனும் தவறு நடந்தால், அது எப்போதும் இந்த நிலைக்குத் திரும்பும்.bin.

தூதரகம் + iptables = :3

இது நிலையற்ற தூதரக செயல்பாட்டிற்கு எதிரான காப்பீடு ஆகும், அது தரவை அனுப்பாதபோது அல்லது யாரோ தவறு செய்து, பயன்படுத்த முடியாத விதிகளைப் பயன்படுத்தினால். நாங்கள் ஃபயர்வால் இல்லாமல் இருக்கவில்லை என்பதை உறுதிப்படுத்த, எந்த நிலையிலும் பிழை ஏற்பட்டால் BEFW சமீபத்திய நிலைக்குத் திரும்பும்.

சிக்கலான சூழ்நிலைகளில், இது ஒரு வேலை செய்யும் ஃபயர்வால் நமக்கு எஞ்சியிருக்கும் என்பதற்கான உத்தரவாதமாகும். அட்மின் வந்து சரி செய்வார் என்ற நம்பிக்கையில் அனைத்து சாம்பல் நெட்வொர்க்குகளையும் திறக்கிறோம். ஒரு நாள் நான் இதை configs இல் வைப்பேன், ஆனால் இப்போது எங்களிடம் மூன்று சாம்பல் நெட்வொர்க்குகள் உள்ளன: 10/8, 172/12 மற்றும் 192.168/16. எங்கள் தூதரகத்திற்குள், இது ஒரு முக்கியமான அம்சமாகும், இது எங்களுக்கு மேலும் மேம்படுத்த உதவுகிறது.

டெமோ: அறிக்கையின் போது, ​​இவான் BEFW இன் டெமோ பயன்முறையை நிரூபிக்கிறார். ஆர்ப்பாட்டத்தைப் பார்ப்பது எளிது видео. டெமோ மூலக் குறியீடு உள்ளது GitHub இல்.

படுகுழிகள்

நாங்கள் சந்தித்த பிழைகள் பற்றி நான் உங்களுக்கு சொல்கிறேன்.

ipset add set 0.0.0.0/0. ஐப்செட்டில் 0.0.0.0/0 ஐ சேர்த்தால் என்ன நடக்கும்? அனைத்து ஐபிகளும் சேர்க்கப்படுமா? இணைய அணுகல் கிடைக்குமா?

இல்லை, இரண்டு மணிநேர வேலையில்லா நேரத்தைச் செலவழிக்கும் ஒரு பிழையைப் பெறுவோம். மேலும், பிழை 2016 முதல் வேலை செய்யவில்லை, இது RedHat Bugzilla இல் #1297092 என்ற எண்ணின் கீழ் அமைந்துள்ளது, மேலும் அதை தற்செயலாக கண்டுபிடித்தோம் - டெவலப்பர் அறிக்கையிலிருந்து.

இது இப்போது BEFW இல் ஒரு கடுமையான விதி 0.0.0.0/0 இரண்டு முகவரிகளாக மாறும்: 0.0.0.0/1 и 128.0.0.0/1.

ipset மீட்டெடுப்பு தொகுப்பு < கோப்பு. நீங்கள் சொன்னால் ipset என்ன செய்யும் restore? இது iptables போலவே செயல்படும் என்று நினைக்கிறீர்களா? இது தரவை மீட்டெடுக்குமா?

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

தனிமைப்படுத்தலைச் சோதித்தபோது பிழையைக் கண்டறிந்தோம். இப்போது ஒரு சிக்கலான அமைப்பு உள்ளது - அதற்கு பதிலாக restore நடத்தப்படுகிறது create temp, பின்னர் restore flush temp и restore temp. இடமாற்று முடிவில்: அணுவிற்கு, ஏனென்றால் நீங்கள் அதை முதலில் செய்தால் flush இந்த நேரத்தில் சில பொட்டலங்கள் வரும், அது நிராகரிக்கப்படும் மற்றும் ஏதோ தவறாகிவிடும். அதனால் அங்கே கொஞ்சம் சூனியம் இருக்கிறது.

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

உள்ளூர் கன்சல் கிளையன்ட் என்பது HTTP APIயின் ரேப்பர். ஆனால் அது தொங்குகிறது மற்றும் Ctrl+C, அல்லது Ctrl+Z, அல்லது எதற்கும் பதிலளிக்காது. kill -9 அடுத்த கன்சோலில். நாங்கள் ஒரு பெரிய கிளஸ்டர் கட்டும் போது இதை சந்தித்தோம். ஆனால் எங்களிடம் இன்னும் தீர்வு இல்லை; தூதரகத்தில் இந்த பிழையை சரிசெய்ய நாங்கள் தயாராகி வருகிறோம்.

தூதரக தலைவர் பதிலளிக்கவில்லை. தரவு மையத்தில் உள்ள எங்கள் மாஸ்டர் பதிலளிக்கவில்லை, நாங்கள் நினைக்கிறோம்: "ஒருவேளை மறுதேர்வு அல்காரிதம் இப்போது வேலை செய்யுமா?"

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

இதை எப்படி சமாளிப்பது? service consul restart ஒவ்வொரு மணி நேரமும் கிரானில். உங்களிடம் 50 சேவையகங்கள் இருந்தால், பெரிய விஷயமில்லை. அவர்களில் 16 பேர் இருக்கும்போது, ​​​​அது எவ்வாறு செயல்படுகிறது என்பதை நீங்கள் புரிந்துகொள்வீர்கள்.

முடிவுக்கு

இதன் விளைவாக, பின்வரும் நன்மைகளைப் பெற்றோம்:

  • அனைத்து லினக்ஸ் இயந்திரங்களின் 100% கவரேஜ்.
  • வேகம்.
  • ஆட்டோமேஷன்.
  • வன்பொருள் மற்றும் நெட்வொர்க் பொறியாளர்களை அடிமைத்தனத்திலிருந்து விடுவித்தோம்.
  • ஒருங்கிணைப்பு சாத்தியங்கள் தோன்றியுள்ளன, அவை கிட்டத்தட்ட வரம்பற்றவை: குபெர்னெட்டஸுடன் கூட, அன்சிபிளுடன் கூட, பைத்தானுடன் கூட.

Минусы: தூதரகம், நாம் இப்போது வாழ வேண்டும், மற்றும் பிழை மிக அதிக செலவு. உதாரணமாக, ஒருமுறை மாலை 6 மணிக்கு (ரஷ்யாவின் பிரதான நேரம்) நெட்வொர்க்குகளின் பட்டியல்களில் எதையாவது திருத்திக் கொண்டிருந்தேன். நாங்கள் அந்த நேரத்தில் BEFW இல் இன்சுலேஷன் கட்டிக்கொண்டிருந்தோம். நான் எங்கோ தவறு செய்தேன், நான் தவறான முகமூடியை சுட்டிக்காட்டினேன், ஆனால் எல்லாம் இரண்டு வினாடிகளில் விழுந்தது. கண்காணிப்பு ஒளிரும், பணியில் இருக்கும் உதவியாளர் ஓடி வருகிறார்: "எங்களிடம் எல்லாம் இருக்கிறது!" இது ஏன் நடந்தது என்பதை வணிகரிடம் விளக்கியபோது துறைத் தலைவர் சாம்பல் நிறமாக மாறினார்.

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

செலவு. நான் மட்டும் 400 மணி நேரம் குறியீடு எழுதினேன். 4 பேர் கொண்ட எனது குழு மாதம் 10 மணிநேரம் அனைவருக்கும் ஆதரவாக செலவிடுகிறது. புதிய தலைமுறை ஃபயர்வாலின் விலையுடன் ஒப்பிடும்போது, ​​இது இலவசம்.

திட்டங்கள். தூதரகத்தை மாற்றுவதற்கு அல்லது நிரப்புவதற்கு மாற்றுப் போக்குவரத்தைக் கண்டுபிடிப்பதே நீண்ட காலத் திட்டமாகும். ஒருவேளை அது காஃப்காவாகவோ அல்லது அதைப் போன்றதாகவோ இருக்கலாம். ஆனால் வரும் ஆண்டுகளில் நாங்கள் தூதரகத்தில் வாழ்வோம்.

உடனடித் திட்டங்கள்: Fail2ban உடன் ஒருங்கிணைத்தல், கண்காணிப்புடன், nftables உடன், பிற விநியோகங்கள், அளவீடுகள், மேம்பட்ட கண்காணிப்பு, தேர்வுமுறை. குபெர்னெட்ஸ் ஆதரவு திட்டங்களில் எங்காவது உள்ளது, ஏனென்றால் இப்போது எங்களிடம் பல கிளஸ்டர்கள் மற்றும் ஆசை உள்ளது.

திட்டங்களிலிருந்து மேலும்:

  • போக்குவரத்தில் முரண்பாடுகளைத் தேடுங்கள்;
  • பிணைய வரைபட மேலாண்மை;
  • குபெர்னெட்ஸ் ஆதரவு;
  • அனைத்து அமைப்புகளுக்கும் தொகுப்புகளை அசெம்பிள் செய்தல்;
  • இணைய UI.

உள்ளமைவை விரிவுபடுத்துதல், அளவீடுகள் மற்றும் மேம்படுத்தல் ஆகியவற்றை அதிகரிப்பதில் நாங்கள் தொடர்ந்து பணியாற்றி வருகிறோம்.

திட்டத்தில் சேரவும். திட்டம் குளிர்ச்சியாக மாறியது, ஆனால், துரதிர்ஷ்டவசமாக, இது இன்னும் ஒரு நபர் திட்டமாகும். வா மகிழ்ச்சியா மற்றும் ஏதாவது செய்ய முயற்சி: உறுதி, சோதனை, ஏதாவது பரிந்துரை, உங்கள் மதிப்பீடு கொடுக்க.

இதற்கிடையில், நாங்கள் தயாராகி வருகிறோம் செயிண்ட் ஹைலோட்++, இது ஏப்ரல் 6 மற்றும் 7 ஆம் தேதிகளில் செயின்ட் பீட்டர்ஸ்பர்க்கில் நடைபெறும், மேலும் அதிக சுமை அமைப்புகளை உருவாக்குபவர்களை நாங்கள் அழைக்கிறோம் ஒரு அறிக்கைக்கு விண்ணப்பிக்கவும். அனுபவம் வாய்ந்த பேச்சாளர்களுக்கு என்ன செய்வது என்று ஏற்கனவே தெரியும், ஆனால் புதிதாக பேசுபவர்களுக்கு குறைந்தபட்சம் நாங்கள் பரிந்துரைக்கிறோம் முயற்சிக்க. ஒரு பேச்சாளராக மாநாட்டில் பங்கேற்பதால் பல நன்மைகள் உள்ளன. எவை என்பதை நீங்கள் படிக்கலாம், எடுத்துக்காட்டாக, இறுதியில் இந்த கட்டுரை.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்