Pi-nin arxasına Wi-Fi qutusu qoymaq bir marşrut qərarını dördə çevirir və dördü də bir cihazda verildikdə plan pozulur. İlk sual hansı marşrutun əlavə olunacağı deyil. Sual yeni qutunun körpü qurub-qurmadığı, yoxsa marşrutlaşdırdığıdır, çünki bu cavab neçə alt şəbəkənin olacağını və hansı cihazların onlar haqqında öyrənməli olduğunu müəyyən edir. Əvvəlcə qoşulma modelini seçin; hər marşrut ondan irəli gəlir.

Körpü və ya marşrutlaşdırma: sayı təyin edən seçim

Körpü yeni müştəriləri Pi-nin artıq xidmət verdiyi alt şəbəkəyə qoyur. Bir alt şəbəkə, bir DHCP səlahiyyəti və marşrutlaşdırma üçün heç bir ötürmə yoxdur. Bu daha sadə quruluşdur və ayrı müştəri şəbəkəsi heç vaxt tələb olmadıqda düzgün seçimdir. Marşrutlaşdırılmış keçid fərqli bir dizayndır: qutu öz alt şəbəkəsini saxlayır və həmin prefiks trafikin getdiyi hər yerə daşınmalıdır.

Bu planın qalan hissəsi aşağı axındakı marşrutlaşdırıcını saxlayır və müştəri mənbə ünvanlarını qoruyur. Hədəf tam internet çıxışı deyil, bir özəl VPN şəbəkəsidir. Modeli ünvanlardan əvvəl yazın, çünki aşağıdakı siyahı yalnız marşrutlaşdırılmış qoşulmanın nümunəsidir.

client subnet       10.41.0.0/24
client gateway      10.41.0.1
router-to-Pi link   192.168.71.2
Pi on that link     192.168.71.1
private target      10.72.9.0/24

Nəyi kim qərar verir

Decision ownerEntry that encodes the decisionFailure when the entry is missing
Pi VPN hostReturn route for 10.41.0.0/24 via 192.168.71.2, and a tunnel route for 10.72.9.0/24Replies to downstream clients die at the Pi
Owner of the remote networkA path for 10.41.0.0/24 over the permitted tunnelReplies stop at the first unaware hop
LAN router behind the PiSpecific route for 10.72.9.0/24 via 192.168.71.1, or a suitable defaultClients never send private traffic to the Pi
Client machineDefault via 10.41.0.1, or a specific entry for 10.72.9.0/24The private network is unreachable from the client

Hər cihaz bir qərar verir və heç biri digərinin yerinə qərar verə bilməz. Pi-yə bir deyil, iki qeyd lazımdır və insanların unutduğu qayıdış yoludur. Yönləndirilmiş trafik özəl şəbəkəyə düzgün çatır və sonra geri dönüş yolunda ölür, çünki Pi-nin 10.41.0.0/24-ün harada olduğu barədə heç bir təsəvvürü yoxdur. Bu firewall problemi kimi görünür, əslində isə çatışmayan marşrutdur.

Uzaq tərəfin də öz marşrutuna ehtiyacı var. Əgər uzaq tərəfdəki xidmət 10.41.0.0/24-ə sizin tunelinizdən çatmağın mümkün olduğunu bilmirsə, cavablar cavabsız qalan ilk hopda dayanır. Paket filtrlərini oxumadan əvvəl hər iki istiqaməti əlavə edin.

Növbəti hoplar qoşulmadan gəlir

Növbəti hop cihazın həqiqətən çata bildiyi şəbəkədəki ünvan olmalıdır. VPN peer-inin açıq ünvanı özəl alt şəbəkə üçün növbəti hop deyil və uzaqdakı xidmət şəbəkəsi heç də növbəti hop deyil. Çatılmayan gateway-ə marşrut siyahıda düzgün görünür və hər paketi atır. Hədəfi günahlandırmadan əvvəl gateway-in cavab verdiyini yoxlayın.

Pi-nin xarici VPN peer-i öz underlay marşrutu ilə əlçatan saxlayın. Bu qeyd yük marşrutlarından ayrıdır və onları qarışdırmaq yol dəyişikliyindən sonra yenidən qurula bilməyən tunel verir.

Bu statik marşrut sənədləşməsi hər platformanın menyularını fərqli adlandırmasına baxmayaraq təyinat və gateway fərqini aydın edir. Qarşınızdakı cihazın sənədlərini oxuyun, başqa satıcının ekranını köçürməyin. Aşağıdakı əmrlər Linux-da qeydlərin formasını göstərir.

# on the Pi
ip route add 10.41.0.0/24 via 192.168.71.2
ip route add 10.72.9.0/24 dev tun0
# on the downstream router
ip route add 10.72.9.0/24 via 192.168.71.1

Tərcümə mənbəyə nə edir

Əgər aşağı axındakı marşrutlaşdırıcı müştərilərini artıq tranzit ünvanına tərcümə edirsə, Pi hər müştərinin öz ünvanı yerinə bir tərcümə olunmuş mənbə görür. Bu, yuxarıdakı mənbə qoruyan dizayndan fərqlidir. Bu, mənbə əsaslı siyasəti, loglanmanı və hansı tərəfin bağlantı qura biləcəyini dəyişir. Hər iki dizayn işləyir; onlar fərqli suallara cavab verir.

Yuxarı axındakı VPN xidməti müştəri prefiksini geri marşrutlaşdırmaqdan imtina etdikdə, Pi-nin tunel çıxışında dar bir tərcümə qanuni bir müvəqqəti həll ola bilər. Bu, çatışmayan marşrutun lazımsız olduğuna dəlil deyil. Uzaq şəbəkənin həqiqətən hansı ünvanı gördüyünü və nəticədə hansı qayıdış yolunun yarandığını qeyd edin.

Marşrut seçimi, yönləndirmə icazəsi və mənbə tərcüməsi üç ayrı iş olaraq qalır. Bir naqilli müştəri işlədiyi üçün paylaşılan NAT zəncirini təmizləmək və ya hər interfeysə icazə vermək işləyən testin açıq yönləndiriciyə çevrilmə üsuludur.

Bunu müştəri maşınından sübut etmək

Aşağı axındakı LAN-dakı bir maşından sorğu göndərin, sonra onun mənbəyini çıxış və qayıdış üzrə izləyin. Pi tərəfindən verilən ping heç vaxt aşağı axın qayıdış marşrutunu işlətməz, buna görə uğurlu bir ping göründüyündən daha az sübut edir. Pi-nin öz LAN-ındakı naqilli müştəridən ikinci bir test əlavə edin ki, iki yol müqayisə olunsun. Hər hansı cihazı yenidən başlatdıqdan sonra hər ikisini təkrarlayın.

Əl ilə əlavə edilən marşrutlar və heç vaxt saxlanmayan tərcümələr birlikdə yox olur. Cüt sonra yarımçıq deyil, yeni bir nasazlıq kimi görünür.

Qoşulma modelini marşrutlarla, icazə verilən özəl xidmətlə və hər hansı tərcümə ilə bir qeyddə saxlayın. Növbəti insanın simsiz yerləşdirməni marşrut siyasəti sualı kimi qəbul etməsinin qarşısını məhz bu qeyd alır.

Əlaqəli məqalələr