სახლის WireGuard გვირაბს LAN-იდან დაბრუნების მარშრუტი სჭირდება
ხელის ჩამორთმევა მარტივი ნაწილია. გადაწყვიტეთ სამუშაოს განაწილება როუტერსა და კარიბჭეს შორის, შეინარჩუნეთ ლეპტოპის წყარო უცვლელად და მიეცით LAN-ს დაბრუნების მარშრუტი.
სახლზე წვდომა ერთი კერძო სერვისია და არა მეორე ინტერნეტ გასასვლელი. WireGuard მთავრდება როუტერის უკან მდგარ Linux-მანქანაზე, როუტერი ინარჩუნებს არსებულ სამუშაოს, ხოლო ლეპტოპი გვირაბით მხოლოდ სახლის პრეფიქსს აგზავნის. რომელი მოწყობილობა გადაამისამართებს და რომელი ამთავრებს, ეს არის გადაწყვეტილება, რომლიდანაც გამომდინარეობს ყოველი შემდგომი წესი. ამ განაწილების შეცდომით გაატარებთ NAT-ის გამართვას, რომლის დამატებასაც არ აპირებდით.
გადაწყვიტეთ, ვინ გადაამისამართებს და ვინ ამთავრებს
საჯარო შესასვლელი როუტერს ეკუთვნის: ის იღებს UDP პაკეტს და გადასცემს Linux ჰოსტს. ამ ჰოსტს ეკუთვნის WireGuard-ის მსმენელი და LAN-ში გადამისამართების გადაწყვეტილება. პრაქტიკაში ასახვა UDP 51820-ს აგზავნის 192.168.50.10-ზე, ხოლო აპლიკაციის საკუთარი პორტი დახურული რჩება. როლების გამიჯვნა firewall-ს მოკლედ ინახავს.
დაწერეთ მისამართების გეგმა ინტერფეისის შექმნამდე. როუტერი 192.168.50.1, კარიბჭე 192.168.50.10, სერვისი 192.168.50.20, გვირაბი 10.77.0.0/24 კარიბჭე .1-ით და ლეპტოპი .2-ით. გვირაბის დიაპაზონი არ უნდა ემთხვეოდეს ქსელს, რომელზეც ლეპტოპი უკვე აღწევს, წინააღმდეგ შემთხვევაში დანიშნულებები ორაზროვანი ხდება. ოპერატორის დონის NAT ან ზემდგომი როუტერი შეიძლება დაბლოკოს შემომავალი წვდომა და ვერც ერთი ლოკალური პორტის გადამისამართება ვერ გამოასწორებს ამას.
გაცვალეთ გასაღებები, შემდეგ განსაზღვრეთ AllowedIPs-ის ზომა
შექმენით ცალკე გასაღების წყვილი თითოეული ბოლოსთვის და გადაიტანეთ მხოლოდ საჯარო გასაღებები დადასტურებული არხით. კარიბჭის peer-ჩანაწერი ნებას რთავს მხოლოდ ლეპტოპის გვირაბის წყაროს, რადგან სახლის LAN კარიბჭის უკანაა და არა ლეპტოპის უკან. LAN-ის ამ ჩანაწერში ჩასმა აღწერს ტოპოლოგიას, რომელიც არ აგიგიათ.
[Interface]
Address = 10.77.0.2/32
PrivateKey = LAPTOP_PRIVATE_KEY_BASE64
[Peer]
PublicKey = HOME_PUBLIC_KEY_BASE64
Endpoint = home-vpn.example.com:51820
AllowedIPs = 192.168.50.0/24, 10.77.0.1/32AllowedIPs არის სახლის პრეფიქსი პლუს კარიბჭის გვირაბის მისამართი, არასოდეს 0.0.0.0/0, რათა ჩვეულებრივმა დათვალიერებამ შეინარჩუნოს თავისი ლოკალური გზა. შეინახეთ ერთი კონფიგურაციის მფლობელი და არასოდეს მიაერთეთ იგივე ინტერფეისი მეორე ქსელის მენეჯერს.
დაბრუნების მარშრუტი არის ის ნაწილი, რომელსაც ხალხი გამოტოვებს
ეს დიზაინი ინარჩუნებს ლეპტოპის 10.77.0.2 წყაროს იმის ნაცვლად, რომ კარიბჭედ შენიღბოს, ამიტომ სახლის მოწყობილობებმა უნდა იცოდნენ, როგორ უპასუხონ. დაამატეთ სტატიკური მარშრუტი სახლის როუტერზე 10.77.0.0/24-ისთვის, შემდეგი ნახტომით 192.168.50.10, და წაიკითხეთ, რას იღებს wg-quick AllowedIPs-იდან მის საცნობარში. ამ მარშრუტის გარეშე დასრულებული ხელის ჩამორთმევა თანაარსებობს აპლიკაციის პასუხებთან, რომლებიც არასოდეს აღწევს.
თუ როუტერს არ შეუძლია ამ მარშრუტის ტარება, აირჩიეთ დოკუმენტირებული დაბრუნების დიზაინი. ჩუმად NAT-ის დამატება სამაგიეროდ ცვლის იმ წყაროს მოდელს, რომელიც ახლახან დაწერეთ.
ნება დართეთ ერთ სერვისს და არა ქვექსელს
ჩართეთ IPv4 გადამისამართება კარიბჭეზე და სამი firewall-ვალდებულება ცალ-ცალკე შეინახეთ: გაუშვით WireGuard-ის მსმენელი, გადაამისამართეთ ლეპტოპის წყარო მხოლოდ 192.168.50.20-ზე და დატოვეთ სახლის ქსელის დარჩენილი ნაწილი დახურული ამ peer-ისთვის. ინტეგრირეთ წესები უკვე გამოყენებულ firewall მენეჯერში და ნუ გაასუფთავებთ მას. მარშრუტი მთელი სახლის პრეფიქსისთვის არ არის ნებართვა მის შიგნით ყოველი მოწყობილობის გამოყენებაზე.
თავად აპლიკაციის აუთენტიფიკაცია და ჰოსტის firewall ცალკე კარიბჭეა. დაასახელეთ ის სერვისი, რომელსაც წესების ნაკრები უშვებს, რომ შემდეგმა მიმომხილველმა შეძლოს მისი შედარება განზრახულ დავალებასთან.
გამოსცადეთ გარედან და შემდეგ სუფთად გაიყვანეთ
აამაღლეთ პროფილები მათი მფლობელის მეშვეობით, დაადასტურეთ ხელის ჩამორთმევა, შემდეგ სცადეთ განზრახული აპლიკაცია დაშვებული გარე ქსელიდან და შეამოწმეთ პასუხი. სცადეთ სახლის სერვისი, რომელიც უარყოფილი უნდა დარჩეს, რადგან ნებადართული წესი უხილავია, სანამ რამე არ გამოიყენებს მას. HTTPS-ისთვის გამოიყენეთ სერთიფიკატზე არსებული სახელი და მიეცით ვალიდაციას გაშვების საშუალება; ნედლი მისამართის აკრეფა და გაფრთხილების გავლა გზაზე არაფერს ამტკიცებს. PersistentKeepalive სურვილისამებრია: ეხმარება NAT-ში მოქცეულ peer-ს უმოქმედობის შემდეგ, მაგრამ ეს არ არის დაკარგული მარშრუტი და არც ნებართვის შესწორება.
დინამიკურ საჯარო მისამართს სჭირდება DNS განახლებები და ლეპტოპმა ცვლილების შემდეგ თავისი ბოლო წერტილი ხელახლა უნდა გადაწყვიტოს; ახალი DNS ჩანაწერები არ გადაადგილებს კონფიგურირებულ ბოლო წერტილს. გაიყვანეთ ლეპტოპი მისი peer-ის შენახული და აქტიური კონფიგურაციიდან ამოღებით; მხოლოდ ლეპტოპის პროფილის წაშლა არ აუქმებს კარიბჭის ავტორიზაციას.