Coder Social home page Coder Social logo

Comments (5)

Skazza94 avatar Skazza94 commented on June 16, 2024

Hello @charles2910,
thanks for the issue.

In Kathará, IP stack is not configured by the network plugin. In fact, it creates pure L2 interfaces, so the Layer-3 configuration is up to the user.
First of all, I checked the network scenario that you linked, and you are using the enable_ipv6 metadata that do not exist, hence it is not used.

Before running the scenario, you have to activate the IPv6 stack in using kathara settings, since it is disabled by default. Otherwise, you can set "enable_ipv6": true in the kathara.conf file as you are already doing.
After that, you can set the IPv6 addresses to the interfaces in the <device>.startup files.

I attach you an example lab using both IPv4 and IPv6 addresses.

Do not hesitate to reply if you have further questions.

Mariano.

ipv6_lab.tar.gz

from kathara.

charles2910 avatar charles2910 commented on June 16, 2024

Hi, Mariano.

Thanks for the reply!

Although I think there must be another configuration missing for me because even your example does not work on my machine (which is running debian 12 Bookworm). The interfaces are indeed created, but I can't ping r1 from c1 using ping6 2100::1 for example.

Is there any additional step I must follow before get IPv6 working in the labs? I do have IPv6 enabled in my machine and also IPv6 forwarding enabled.

P.S.: yes, disable the d*** firewall - I'm using ufw with the default configs and usually it does not block localhost stuff e.g. my VMs which use 192.168.122.0/24 net, but it's blocking only ipv6 packets for some reason, with ipv4 it works out of the box.

Snippet of ip addr while running the lab
157: kt-b61c37016db1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether ae:bb:59:85:6c:74 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::c83f:d2ff:fec8:ecc5/64 scope link 
       valid_lft forever preferred_lft forever
158: kt-6fb92e2e48e2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether de:22:d5:8d:79:61 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::dc22:d5ff:fe8d:7961/64 scope link 
       valid_lft forever preferred_lft forever
159: kt-4a1ac63ce2ef: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 1e:2e:42:13:f6:35 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::1c2e:42ff:fe13:f635/64 scope link 
       valid_lft forever preferred_lft forever
160: vethb47b42dc@if161: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master kt-4a1ac63ce2ef state UP group default qlen 1000
    link/ether a2:a1:ca:5a:e9:db brd ff:ff:ff:ff:ff:ff link-netnsid 1
    inet6 fe80::a0a1:caff:fe5a:e9db/64 scope link 
       valid_lft forever preferred_lft forever
162: veth7786faf3@if163: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master kt-6fb92e2e48e2 state UP group default qlen 1000
    link/ether 66:7d:b7:c0:98:e3 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet6 fe80::647d:b7ff:fec0:98e3/64 scope link 
       valid_lft forever preferred_lft forever
164: veth55f253b7@if165: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master kt-b61c37016db1 state UP group default qlen 1000
    link/ether e6:aa:42:7a:7b:f3 brd ff:ff:ff:ff:ff:ff link-netnsid 3
    inet6 fe80::e4aa:42ff:fe7a:7bf3/64 scope link 
       valid_lft forever preferred_lft forever
166: vethe1866c06@if167: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master kt-6fb92e2e48e2 state UP group default qlen 1000
    link/ether 72:f1:b4:06:14:85 brd ff:ff:ff:ff:ff:ff link-netnsid 2
    inet6 fe80::70f1:b4ff:fe06:1485/64 scope link 
       valid_lft forever preferred_lft forever
168: vethb449446a@if169: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master kt-b61c37016db1 state UP group default qlen 1000
    link/ether 72:cc:fd:8f:10:13 brd ff:ff:ff:ff:ff:ff link-netnsid 1
    inet6 fe80::70cc:fdff:fe8f:1013/64 scope link 
       valid_lft forever preferred_lft forever
170: veth5da48dbe@if171: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master kt-4a1ac63ce2ef state UP group default qlen 1000
    link/ether 76:b8:ed:a6:ae:32 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet6 fe80::74b8:edff:fea6:ae32/64 scope link 
       valid_lft forever preferred_lft forever

from kathara.

Skazza94 avatar Skazza94 commented on June 16, 2024

Hi @charles2910,
you are right. I also tested the lab and it was not working.
I found out that there was a problem in the network plugin (not correctly installing the iptables rules for IPv6).
I pushed a new version that should solve the problem.

The plugin should update automatically, but it is better if you force a re-installation:

  1. Clean all the running Kathará labs:
kathara wipe -f
  1. Remove the network plugin:
docker plugin rm -f kathara/katharanp:amd64

or

docker plugin rm -f kathara/katharanp:arm64

depending on your architecture.

  1. Relaunch the lab, the plugin will install automatically.

Let me know if you have any other problem!

Mariano.

from kathara.

charles2910 avatar charles2910 commented on June 16, 2024

Hi, @Skazza94

I've followed your instructions to force a reinstall and I can confirm, it's working now with ufw enabled. Thanks!

A lot of students already downloaded kathara last month, will it update automagically for them? They are going to execute the ipv6 lab next week.

Thanks again!

from kathara.

Skazza94 avatar Skazza94 commented on June 16, 2024

Hi @charles2910,
I tested and unfortunately the plugin is not updated automatically.

We will try to solve it in the next releases (if possible), but it could take a while. I think the best solution is to ask students to run the aforementioned commands to uninstall the plugin.

I am really sorry for the inconvenience, but the APIs to interact with Docker Plugins are really basic (compared to the other set of APIs).

Anyway, I would like to thank you for reporting the bug! 😄

Mariano.

from kathara.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.