2016-06-14 23 views
0

Ich habe es mit LXC, iptables und route zu tun, und zu diesem Zeitpunkt bin ich mir nicht einmal mehr sicher, was ich mache. Der Einfachheit halber wird jede Richtlinie in iptables auf ACCEPT gesetzt und die Weiterleitung in sysctl.conf in jedem Host oder Container auf 1 gesetzt.Ping durch einen LXC-Container

Mein Ziel ist hier in der Lage, eine Ping-Anfrage durch einen LXC-Container von außerhalb seines Hosts zu übergeben. Lassen Sie mich das klarstellen:

Lassen Sie uns sagen, dass ich einen Client C haben, der einen Server S ping will, aber ich habe ein Gateway G dazwischen, und einen LXC Behälter L innerhalb 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

dann innerhalb G wir hätte:

(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)

Also im Grunde möchte ich S von C Ping, aber in einer Weise, dass die Anfrage durch L (und damit durch G), mit Hilfe von Iptables und Route.

Hoffe, du kannst mir helfen!

Antwort

0

Können Sie Ihren Grund dafür teilen? Ist das für das Monitoring? Routing durch ein NAT ist unnötig verwickelt.

Ich schlage vor, die Einrichtung eines überbrückten Netzwerk, anstatt einer NAT-ed ein, wobei gilt:

  1. virbr0 mit eth0
  2. virbr1 überbrückt wird überbrückt eth1

diese Weise Ihre Der LXC-Host kann eine IP-Adresse von 192.168.0.x und (dh im selben Subnetz wie eth0 und eth1) tragen.

Sobald dies erledigt ist, erstellen Sie Routing-Einträge sowohl im Server als auch im Client, wobei der LXC-Host als Router verwendet wird. Im Wesentlichen ersetzt LG.

Zuweisen wir 192.168.0.10 und 192.168.1.10 zu L. Das Netzwerk mit Router wird wie folgt aussehen:

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

Lassen Sie mich wissen, ob dies für Sie funktioniert, bevor ich die volle Antwort posten. Es ist ziemlich viel Konfiguration.