# Namespace kullanarak, glb nin fougue tünel fonksiyonunun operasyon testi

### Amaç  
GLB ve apisix in aynı makina üzerinde çalışması 

### Dizayn
Glb, çalışmak ve second chance işini yaptırabilmek adına gue tüneli ve diğer uçta bu tünelden gelen gue headerlarını okuyabilmek için bir kernel modülü kullanır. Bu sayede gue headerdaki second chance verisini modül okur, offline endpointten cevap alamazsa 2nd chance destinasyona yollar.

### Sonuç
Olmadı, gue headerlarından destinasyon bilgisi ölçen kernel modülü olan, glb_redirect namespace aware bir modül olmadığından, çalışmadı. Bu tunel üzerinden healthcheck ve http requestlerin işlenmemesine ve sonuçta paketlerin drop edilmesine sebep oldu. 


Aşağıda high level örnek planı bulabiliriz. 

[![](https://books.netdev.com.tr/uploads/images/gallery/2022-11/scaled-1680-/image-1668002046511.png)](https://books.netdev.com.tr/uploads/images/gallery/2022-11/image-1668002046511.png)

namespace ler arası link için veth lerin oluşturulması ve default namespace için iplendirme.

    ip link add veth0 type veth peer name veth1
    ip addr add 10.10.10.1/30 dev veth0
    ip link set up dev veth0

apisix'in ve kernel modülünün çalışacağı namepsace in oluşturulması, veth pairin iplendirilmesi ve rotalandırma

    ip netns add apisix
    ip link set veth1 netns apisix
    ip netns exec apisix ifconfig veth1 10.10.10.2 netmask 255.255.255.252 up
    ip netns exec apisix ip r add default via 10.10.10.1

FouGue tünelinin process edilebilmesi için namespace te modüle redirect

	ip netns exec apisix iptables -A INPUT -p udp -m udp --dport 19523 -j GLBREDIRECT 


Default namespace ten  apisix namespace e fougue tüneli kurulumu ve up edilmesi

    modprobe fou 
    ip fou add port 19523 gue
    ip link add name tun1 type ipip remote 10.10.10.2 local 10.10.10.1 ttl 225 encap gue encap-sport auto encap-dport 19523
    ip link set up dev tun1


apisix namespace te  http listener

	ip netns exec apisix nc -l 80 < index.html



[Hızlı bir demo için youtube'dan izleyebilirsiniz](https://youtu.be/pfHLuXAFYUs)