2016-06-14 1 views
0

J'ai affaire à LXC, iptables et route, et à ce stade je ne suis même plus sûr de ce que je fais. Par souci de simplicité, toutes les règles d'iptables sont définies sur ACCEPT et la redirection est définie sur 1 dans sysctl.conf dans chaque hôte ou conteneur.Ping à travers un conteneur LXC

Mon but ici est de pouvoir passer une requête ping via un conteneur LXC, depuis l'extérieur de son hôte. Permettez-moi de préciser ceci:

Disons que j'ai un client C, qui veut ping un serveur S, mais j'ai une passerelle G entre les deux, et un conteneur de LXC L au sein de G.

C (eth0 192.168 .0.3/24) < ---> (eth0 192.168.0.2/24) G (eth1 192.168.1.3/24) < ---> (eth0 192.168.1.4/24) S

alors, à l'intérieur de G nous aurait:

(eth0 192.168.0.2/24) < ---> (virbr0 10.0.0.2/24) L (virbr1 10.0.1.3/24) < ---> (eth1 192.168.1.3/24)Donc, fondamentalement, je voudrais faire un ping de S à partir de C mais de telle manière que la requête doit transiter par L (et donc par G), en utilisant iptables et route.

J'espère que vous pouvez m'aider!

Répondre

0

Pourriez-vous nous expliquer pourquoi? Est-ce pour le suivi? Le routage à travers un NAT est inutilement compliqué.

Je suggère la mise en place d'un réseau ponté, au lieu d'un NAT-ed une, où:

  1. virbr0 ponté avec eth0
  2. virbr1 est comblé eth1

De cette façon, votre L'hôte LXC peut arborer une adresse IP de 192.168.0.x et 192.168.1.x (c'est-à-dire dans le même sous-réseau que eth0 et eth1).

Une fois cela fait, créez des entrées de routage dans le serveur et le client, en utilisant l'hôte LXC comme routeur. Essentiellement L remplace G.

Affectons 192.168.0.10 et 192.168.1.10 à L. Le réseau mis en déroute ressemblera à ceci:

C (192.168.0.3) <--> (192.168.0.10) L (192.168.1.10) <--> S (192.168.1.4)

Laissez-moi savoir si cela fonctionne pour vous avant de poster la réponse complète. C'est un peu de configuration.