LXC - nepingnu z kontejneru internet

Brigde

LXC - nepingnu z kontejneru internet
« kdy: 22. 04. 2018, 21:05:49 »
Zdravim,

celej den bojuji s LXC a sitovanim. Struktura> Hyper-V v nem mam VM Debain, v Debianu mam LXC container.
Problem je, ze se nedstanu ven z kontajneru. Z contejneru pingnem HOSTA Debian (VM v Hyper-V), ale uz nic za nim, t.j. ze nepingnu ani fizicky stroj, na kterem bezi Hyper-V. Ale z Hyper-V z VM toho Debainu se dostanu bez problemu do internetu.
Skutecne si uz nevim rady...

Konfigurace kontajneru
Kód: [Vybrat]
# Container specific configuration
lxc.rootfs = /var/lib/lxc/kokot/rootfs
#lxc.mount =
lxc.rootfs.backend = dir
lxc.utsname = kokot

# Network configuration
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.ipv4 = 192.168.1.130/24 192.168.1.255
lxc.network.ipv4.gateway = 192.168.1.1
lxc.network.hwaddr = 00:16:3e:e8:d7:44
lxc.network.veth.pair = kokot
lxc.start.auto = 1
lxc.start.delay = 9

/etc/network/interfaces - na VM Debianu - tu dostanem IP z DHCP bez problemov
Kód: [Vybrat]
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet manual

auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0

ifconfig z hosta  VM Debianu
Kód: [Vybrat]
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.103  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::215:5dff:fe01:6801  prefixlen 64  scopeid 0x20<link>
        ether 00:15:5d:01:68:01  txqueuelen 1000  (Ethernet)
        RX packets 3176  bytes 416891 (407.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 841  bytes 120011 (117.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 00:15:5d:01:68:01  txqueuelen 1000  (Ethernet)
        RX packets 9301  bytes 2562072 (2.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1275  bytes 192843 (188.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

kokot: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::fc21:14ff:fe9f:7c23  prefixlen 64  scopeid 0x20<link>
        ether fe:21:14:9f:7c:23  txqueuelen 1000  (Ethernet)
        RX packets 192  bytes 46884 (45.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 989  bytes 204727 (199.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 2  bytes 78 (78.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2  bytes 78 (78.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lxcbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 10.0.3.1  netmask 255.255.255.0  broadcast 0.0.0.0
        ether 00:16:3e:00:00:00  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Kód: [Vybrat]
root@debian:~# lxc-ls -f
NAME  STATE   AUTOSTART GROUPS IPV4          IPV6
kokot RUNNING 1         -      192.168.1.130 -

/etc/netwrok/interfaces - v kontajneru
Kód: [Vybrat]
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp // ci setnu manual alebo static, zadny rozdil.....

ifconfig v kontajneru
Kód: [Vybrat]
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.130  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::216:3eff:fee8:d744  prefixlen 64  scopeid 0x20<link>
        ether 00:16:3e:e8:d7:44  txqueuelen 1000  (Ethernet)
        RX packets 955  bytes 196257 (191.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 186  bytes 44832 (43.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 29  bytes 3248 (3.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 29  bytes 3248 (3.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Kód: [Vybrat]
root@kokot:~# ip -4 route show - v kontajneru
default via 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.130

OSPRAVEDLNUJEM sa za hrube/vulgarne pomenovani kontajneru.....





Re:LXC - nepingnu z kontejneru internet
« Odpověď #1 kdy: 23. 04. 2018, 10:12:20 »
zacal bych timhle:

Hyper-V Manager:
Virtual Machine Settings -> Network Adapter -> Advanced Features -> Enable MAC address spoofing

Sten

Re:LXC - nepingnu z kontejneru internet
« Odpověď #2 kdy: 23. 04. 2018, 12:17:23 »
Máte povolený IP forwarding?

Bridge

Re:LXC - nepingnu z kontejneru internet
« Odpověď #3 kdy: 23. 04. 2018, 13:35:03 »
IP forward mam samozrejme zapnuty. Nie osm si isty, ci mam zapnuty MAC address spoofing ako pisal kolega vyssie. Musim sa pozriet, dam vediet, ked pridem z prace... :)

Lol Phirae

Re:LXC - nepingnu z kontejneru internet
« Odpověď #4 kdy: 23. 04. 2018, 13:51:33 »
Hlavně prosimtě jako test nepingej na žádné Windows stroje. Vzhledem k defaultnímu nastavení firewallu je to v podobných případech zcela k ničemu.


Bridge

Re:LXC - nepingnu z kontejneru internet
« Odpověď #5 kdy: 23. 04. 2018, 14:53:54 »
Pouzivam firewall od ESETu, tam mam ICMP protkol kompletne poveoleny, takze ping by na Windows u mna mal prejst bez problemov...
Ked pridem domov, skusim ten spoofing MAC adries, dam vediet... Rad by som to totiz rozbehal.

LarryLin

Re:LXC - nepingnu z kontejneru internet
« Odpověď #6 kdy: 23. 04. 2018, 15:11:08 »
Takže se ti nepřesměrovávají pakety na VM Debianu, jo?

A na VM Debianu máš povolený nat? Nějak takto:
Kód: [Vybrat]
sudo iptables -t nat -A POSTROUTING -o internet0 -j MASQUERADE
Navíc bys měl mít (také na VM Debianu) povolené přesměrování paketů, nějak takto:
Kód: [Vybrat]
sysctl net.ipv4.ip_forward=1

DK

Re:LXC - nepingnu z kontejneru internet
« Odpověď #7 kdy: 23. 04. 2018, 16:57:30 »
Takže se ti nepřesměrovávají pakety na VM Debianu, jo?

A na VM Debianu máš povolený nat? Nějak takto:
Kód: [Vybrat]
sudo iptables -t nat -A POSTROUTING -o internet0 -j MASQUERADE
Navíc bys měl mít (také na VM Debianu) povolené přesměrování paketů, nějak takto:
Kód: [Vybrat]
sysctl net.ipv4.ip_forward=1

Maškarádu ne, dělá bridge

technik007cz

Re:LXC - nepingnu z kontejneru internet
« Odpověď #8 kdy: 23. 04. 2018, 17:38:50 »
Zkus v konfiguraci lxc kontejneru zrusit manualni ip adresu. Pak udelej s tim tvojim "kokot"em restart prikazy:
lxc-stop -n kokot; lxc-start -n kokot
Jestli "kokot" nedostane pridelenou ip adresu pres dhcp je potreba nainstalovat jeden balicek, jak jsem to delal na turrisu anebo prepni na Ubuntu, kde problem neni.
Bohuzel ani za kokot si nazev toho balicku nepamatuju.

technik007cz

Re:LXC - nepingnu z kontejneru internet
« Odpověď #9 kdy: 23. 04. 2018, 17:47:57 »
Tak jsem to vlakno s tim problemem nasel (viz link nize).

"another solution could to remove isc-dhcp-client package and install dhcpcd5 package instead."

https://forum.turris.cz/t/debian8-jessie-on-turris-omnia/859/10



LarryLin

Re:LXC - nepingnu z kontejneru internet
« Odpověď #10 kdy: 23. 04. 2018, 18:38:27 »
Takže se ti nepřesměrovávají pakety na VM Debianu, jo?
A na VM Debianu máš povolený nat? Nějak takto:
Kód: [Vybrat]
sudo iptables -t nat -A POSTROUTING -o internet0 -j MASQUERADENavíc bys měl mít (také na VM Debianu) povolené přesměrování paketů, nějak takto:
Kód: [Vybrat]
sysctl net.ipv4.ip_forward=1
Maškarádu ne, dělá bridge
Jóó tak to nic.

Bridge

Re:LXC - nepingnu z kontejneru internet
« Odpověď #11 kdy: 23. 04. 2018, 19:32:09 »
Tak problem vyrieseny. Chyba bol v jednej "kvacke" v Hyper-V.

zacal bych timhle:

Hyper-V Manager:
Virtual Machine Settings -> Network Adapter -> Advanced Features -> Enable MAC address spoofing

Po zapnuti MAC address spoofing, vsetko beha tak, ako ma. LXC kontajner dostava IP z dhcp serveru. Je dosiahnuelny zo siete LAN.
Many thanks guys... :)