host-only adapterlari mahalliy virtual tarmoq yaratadi, yo'naltirilgan TUN tunnellari esa IP paketlarini manzillar orasida tashiydi. Ikkalasi ham bir-biriga ko'prik emas, shuning uchun ishlaydigan konfiguratsiya kim uzatishini va qaytish marshruti kimga tegishli ekanini aytishi kerak. Bu ikki vazifa chalkashsa, mehmon tunnelga tunnel mijozi hech qachon so'ramagan manba bilan javob beradi. Quyidagi dizayn ikkala prefiksni alohida saqlaydi va qaytish yo'lini aniq qiladi.

Ikki tarmoq, ikki prefiks

Tunnel hovuziga va host-only tarmog'iga turli prefikslar bering va hech qachon birini ikkinchisi o'rniga ishlatmang. Bu misolda VPN hovuzi 10.44.0.0/24, host-only tarmog'i esa 192.168.99.0/24, xost 192.168.99.1 da, mehmon esa 192.168.99.20 da. Bir xil prefiksni ham TUN qurilmasiga, ham host-only adapteriga berish ularni birlashtirmaydi. Bu bitta manzil diapazoniga ikki da'vo yaratadi va marshrutlash jadvali keyin tasodifan saqlab qolgan da'vo foydasiga javob beradi.

host-only adapteri xostda va mehmon ichida mavjud, va uning o'z-o'zidan mashinadan chiqish yo'li yo'q. Ko'prik va NAT ulanishlarining ta'siri boshqacha, va bitta mehmon xizmatiga yetish uchun ko'prik rejimiga o'tish shart emas.

Xost yo'lni allaqachon ushlab turadi

Biror narsa qo'shishdan oldin nima borligini ko'ring. Xostning host-only tarmog'ida interfeysi va shu prefiks uchun marshruti bor, ikkalasi ham adapter ko'tarilganda yaratilgan.

ip -br addr show
ip route show 192.168.99.0/24
sysctl net.ipv4.ip_forward

Uchinchi qator xostni sakrash nuqtasiga aylantiradigan mexanizm. Usiz tunneldan kelgan paket xost yeta oladigan, lekin uzatmaydigan tarmoqqa manzillanadi. Uzatish zarur va yetarli emas. Filtr siyosati tunnel interfeysi va host-only interfeysi o'rtasidagi muayyan oqimga ruxsat berilganini hali ham hal qiladi va bu qaror hech kim o'qimagan standart siyosatda emas, yozma bo'lishi kerak.

Marshrutni suring, keyin u yetadigan joyni filtrlang

Server surilgan marshrutlarni qabul qiladigan mijozlarga host-only prefiksini bera oladi, bu tunnel orqasidagi har qanday boshqa quyi tarmoq uchun ishlatiladigan bir xil mexanizm.

push "route 192.168.99.0 255.255.255.0"
iptables -A FORWARD -i tun0 -o vboxnet0 -d 192.168.99.20 -p tcp --dport 5432 -j ACCEPT
iptables -A FORWARD -i vboxnet0 -o tun0 -s 192.168.99.20 -p tcp --sport 5432 -m conntrack --ctstate ESTABLISHED -j ACCEPT

Bu ikki qoida bir yo'nalishda bitta xizmatga va uning javoblariga ruxsat beradi. Butun prefiksga yetadigan marshrut va bitta portga ruxsat beradigan filtr ataylab qilingan birikma; marshrut va shartsiz qabul laboratoriya xizmatining ochiq xizmatga aylanish yo'lidir. Surilgan marshrut ham ruxsat emas. Mijoz uni qabul qiladi, xost uni uzatadi, mehmonning xavfsizlik devori va xizmatning o'zi hali ham so'zga ega.

Mehmonga qaytish yo'li kerak

10.44.0.x dan yetib boriladigan mehmon javoblarini xostning host-only manziliga yuborishi kerak, yoki xost manbani tarjima qilishi kerak. VirtualBox DHCP dan manzil olish bu ikki tuzilmaning hech biri haqida hech narsa aytmaydi.

ip route add 10.44.0.0/24 via 192.168.99.1 dev enp0s8
ip route get 10.44.0.15

Bu marshrutni mehmon ichida qo'shish asl manbani saqlaydi, bu esa har bir mijoz bo'yicha siyosat va jurnallarni mazmunli qiladi. Xostda cheklangan manba tarjimasi muqobil bo'lib, u ishlaydi, ammo qaysi mijoz ulanganini yashirish evaziga. Ustma-ust tushish boshqa nosozlik usuli. Uy LAN tarmog'i allaqachon 192.168.99.0/24 dan foydalanadigan masofaviy mijoz surilgan marshrutni o'z tarmog'i deb o'qiydi va server tomonidagi hech qanday o'zgarish bu noaniqlikni bartaraf etmaydi. Bir tomonni qayta raqamlang yoki to'qnashuv ehtimoli kam bo'lgan prefiks tanlang.

TUN qurilmasi IP paketlarini tashiydi, shuning uchun mehmon ichida standart shlyuz qo'shish tunnelni host-only adapteri bilan Ethernet segmentiga aylantirmaydi. TAP ko'prigi o'z mijoz qo'llab-quvvatlashi va manzil egaligiga ega boshqa dizayn, va ikki tavsifni aralashtirish hech qachon yaqinlashmaydigan konfiguratsiyalarga olib keladi.

Tekshiring, so'ng uni qayta yuklashga chidamli qiling

Oddiy masofaviy mijozdan bitta zararsiz xizmatni sinab ko'ring, mehmonning qaytish marshrutini tekshiring va siz ruxsat bermagan xizmat sekin emas, rad etilishini tasdiqlang.

ss -lntp '( sport = :5432 )'
conntrack -L | grep 192.168.99.20

So'ng VPN xizmatini va virtual mashina tarmog'ini qayta yuklang va o'sha uchta tekshiruvni takrorlang. Qo'lda qo'shilgan marshrut keyingi qayta yuklashgacha yashaydi, va faqat issiq sessiyada ishlaydigan konfiguratsiya dizayn emas. Ikki prefiksni, uzatish siyosatini va mehmon marshrutini birga yozib qo'ying. Keyingi virtual mashinani qo'shadigan kishi uchalasiga ham muhtoj bo'ladi, aks holda u ularni har bir muvaffaqiyatsiz ulanishda qaytadan kashf etadi.

O'xshash maqolalar