Fórum Root.cz
Hlavní témata => Sítě => Téma založeno: Brigde 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
# 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
# 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
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
root@debian:~# lxc-ls -f
NAME STATE AUTOSTART GROUPS IPV4 IPV6
kokot RUNNING 1 - 192.168.1.130 -
/etc/netwrok/interfaces - v kontajneru
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp // ci setnu manual alebo static, zadny rozdil.....
ifconfig v kontajneru
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
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.....
-
zacal bych timhle:
Hyper-V Manager:
Virtual Machine Settings -> Network Adapter -> Advanced Features -> Enable MAC address spoofing
-
Máte povolený IP forwarding?
-
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... :)
-
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.
-
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.
-
Takže se ti nepřesměrovávají pakety na VM Debianu, jo?
A na VM Debianu máš povolený nat? Nějak takto:
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:
sysctl net.ipv4.ip_forward=1
-
Takže se ti nepřesměrovávají pakety na VM Debianu, jo?
A na VM Debianu máš povolený nat? Nějak takto:
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:
sysctl net.ipv4.ip_forward=1
Maškarádu ne, dělá bridge
-
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.
-
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
-
Takže se ti nepřesměrovávají pakety na VM Debianu, jo?
A na VM Debianu máš povolený nat? Nějak takto:
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:
sysctl net.ipv4.ip_forward=1
Maškarádu ne, dělá bridge
Jóó tak to nic.
-
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... :)