Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
LXC Networking
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
forrestfunk81
Guru
Guru


Joined: 07 Feb 2006
Posts: 483
Location: münchen.de

PostPosted: Thu Apr 28, 2016 4:12 pm    Post subject: LXC Networking Reply with quote

Hallo zusammen,

ich habe einen virtuellen Server im Netz (KVM). Darin möchte ich einige LXC Container erstellen um meine Dienste etwas von einander abzugrenzen (WWW, Mail, sonstiges). Leider funktioniert aus diesen Containern heraus der Internetzugriff nicht. Ich verwende LXC Networking mit Bridge. Ich habe mich an die Anleitung aus dem Gentoo Wiki gehalten.

Host:
eth0 - public ip
eth0.1 - VLAN - keine ip
lxcbr0 - Bridge für Container - 192.168.10.1
veth9F8D0H - virtuelles Ethernet Device für Container - keine ip

Container:
eth0 - 192.168.10.2

Die Bridge vom Host aus gesehen:
Code:

# brctl show
bridge name     bridge id               STP enabled     interfaces
lxcbr0          8000.xxxxxxxxxxxx       no              eth0.1
                                                        veth9F8D0H


Die Container Netzwerk Konfiguration /var/lib/lxc/name/config
Code:

lxc.network.type = veth
lxc.network.link = lxcbr0
lxc.network.flags = up
lxc.network.name = eth0
lxc.network.ipv4 = 192.168.10.2/24
lxc.network.ipv4.gateway = 192.168.10.1


Am Host habe ich Port Forwarding aktiviert:
Code:

# cat /proc/sys/net/ipv4/ip_forward
1


IPTables konfiguriert:
Code:

# iptables -L  FORWARD -v
Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
21371 1666K ACCEPT     all  --  lxcbr0 any     192.168.10.0/24      anywhere
21730   98M ACCEPT     all  --  eth0   any     anywhere             192.168.10.0/24

# iptables -L -t nat -v
Chain PREROUTING (policy ACCEPT 9417K packets, 682M bytes)
 pkts bytes target     prot opt in     out     source               destination
  873 45224 DNAT       tcp  --  any    any     anywhere             anywhere             tcp dpt:http to:192.168.10.2:80

Chain INPUT (policy ACCEPT 3708 packets, 219K bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 14451 packets, 868K bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain POSTROUTING (policy ACCEPT 15269 packets, 909K bytes)
 pkts bytes target     prot opt in     out     source               destination
 1048 66482 MASQUERADE  all  --  any    eth0    anywhere             anywhere

Das Prerouting (weiterleiten von Port 80 in den Container) funktioniert. Ein wget aus dem Container heraus funktioniert nicht. Ein Ping aus dem Container heraus funktioniert, ist aber sehr langsam:
Code:

# ping google.de
PING google.de (216.58.214.67) 56(84) bytes of data.
64 bytes from fra15s10-in-f3.1e100.net (216.58.214.67): icmp_seq=1 ttl=58 time=3.85 ms
64 bytes from fra15s10-in-f3.1e100.net (216.58.214.67): icmp_seq=2 ttl=58 time=3.85 ms
64 bytes from fra15s10-in-f3.1e100.net (216.58.214.67): icmp_seq=3 ttl=58 time=3.77 ms
^C64 bytes from 216.58.214.67: icmp_seq=4 ttl=58 time=3.76 ms

--- google.de ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 15070ms
rtt min/avg/max/mdev = 3.765/3.814/3.859/0.076 ms

Es steht dort zwar 3.85 ms, aber unten sieht man die Gesamtzeit von 15 Sekunden.

Auch die Routing Informationen im Container sehen für mich korrekt aus. Der Aufruf von route dauert allerdings auch sehr lange (10 Sekunden im Container vs. 5ms auf dem Host):
Code:
 # time route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.10.1    0.0.0.0         UG    0      0        0 eth0
loopback        0.0.0.0         255.0.0.0       U     0      0        0 lo
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0

real    0m10.043s
user    0m0.000s
sys     0m0.000s


Ich verwende einen Gentoo Hardened Kernel. Vielleicht liegts ja daran. Habt ihr eine Idee, wieso ping und route so langsam sind und wieso ich kein wget aus dem Container heraus machen kann?
_________________
# cd /pub/
# more beer
Back to top
View user's profile Send private message
forrestfunk81
Guru
Guru


Joined: 07 Feb 2006
Posts: 483
Location: münchen.de

PostPosted: Sun May 15, 2016 11:27 pm    Post subject: Reply with quote

Problem Nummer eins gelöst. Sowohl route als auch ping waren so langsam, weil die DNS Anfragen vom Container an den Host durch iptables geblockt wurden. Für erste Tests habe ich jetzt einfach auf Host Seite alle eingehenden Verbindungen aus der Container Bridge erlaubt:
Code:
iptables -I INPUT 1 -i lxcbr0 -j ACCEPT


Ein wget aus dem Container heraus funktioniert leider immer noch nicht.
Code:
wget http://distfiles.gentoo.org/releases/amd64/autobuilds/current-install-amd64-minimal/install-amd64-minimal-20160512.iso
--2016-05-16 01:03:35--  http://distfiles.gentoo.org/releases/amd64/autobuilds/current-install-amd64-minimal/install-amd64-minimal-20160512.iso
Resolving distfiles.gentoo.org... 64.50.233.100, 64.50.236.52, 137.226.34.46, ...
Connecting to distfiles.gentoo.org|64.50.233.100|:80... failed: Connection timed out.
Connecting to distfiles.gentoo.org|64.50.236.52|:80... failed: Connection timed out.
Connecting to distfiles.gentoo.org|137.226.34.46|:80...


Außerhalb des Containers funktioniert wget ohne Probleme. Alle von iptables verworfenen Pakete werden geloggt, leider finde ich auch dort nichts. Mittlerweile habe ich die PAX Security Featuers des Hardened Kernels mal abgeschaltet.

Hat noch jemand eine Idee?
_________________
# cd /pub/
# more beer
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum