Merhaba, Aşağıdaki gibi bir altyapı var. Makina içinde ip adresleri vererek container create ediyorum. Fakat karşı tarafa container içerisinden giderken makina ip adresi ile gidiyorum. karşı taraftan container’a container ip adresi ile ulaşabiliyorum. Yapmak istediğim bu trafiği iki yönlü de aktif ederek karşı tarafa da her containerın kendi ip adresi ile gitmesi. Makine üzerinde her container için kendi ip adresi tanımlı bir ethernet interface var. Bunu nasıl gerçekleştirebilirim acaba? sisteme uygulamadan önce AWS’de simülasyonunu yapmaya çalıştım fakat aws sadece primary interface üzerinden çıkış yapmaya izin veriyor. ENİ’ler üzerinden de çıkış yapamıyorum.
Use macvlan networks bunu ancak bu konfigurasyonla sağlayabilirsiniz. Bu arada siz container’lara nasıl host ile aynı ağdan ip verdiniz?
Hocam sistem vmware üzerinde. Her bir container için bir veth interface tanımlanmış. Bu interfaceler üzerinden çıkmasını hedefledim. Container create ederken ‘–ip 10.10.2.21’ ile ip adresi, ‘-p 10.10.2.21:9090:9090’ ile port tanımlıyorum. Public ip için geniş bir CIDR mevcut. Müşteri ortamındaki ip adresleri buradakine benzer başka aralıkta. AWS’de bunu simüle etmek için 10.10.2.0/26 aralığında bir VPC oluşturdum. AWS ilk 5? ip adresini kendisine ayırdığı için aynısını simüle edemem ama benzer olarak, 10.10.2.0/28 subnetinde app server, 10.10.2.16/28 subnetinde Instance-1 ve 10.10.2.32/28 subnetinde Instance-2’yi ayağa kaldırdım. Bu instancelarda(instance-1 ve instance-2) kendi subnetlerinde macvlan ağı oluşturup containerları ayağa kaldırırken bu networke bağlarsam hedefime ulaşabilirim sanırım değil mi?
Evet sonuçta direkt iletişim kurması için kendi mac adresine ihtiyaç var.