Comments (5)
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.
from kathara.
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.
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:
- Clean all the running Kathará labs:
kathara wipe -f
- Remove the network plugin:
docker plugin rm -f kathara/katharanp:amd64
or
docker plugin rm -f kathara/katharanp:arm64
depending on your architecture.
- Relaunch the lab, the plugin will install automatically.
Let me know if you have any other problem!
Mariano.
from kathara.
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.
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)
- Kathara terminal stops printing output of startup commands ran after some time after startup HOT 2
- Different behavior in portforwarding between Kali Linux 2022.4 vs. Ubuntu 22.04.2 HOT 7
- Fix Quagga permissions that prevent from writing configurations inside vtysh
- Improve the FilesystemMixin class
- Add support to Python3.11 HOT 1
- problem with the ping (nf_tables/iptables-legacy conflict) HOT 14
- Add support for Docker Images tags in `kathara settings`
- Add a warning if a meta is repeated on the same device
- Fix FilesystemMixin APIs for file modifications
- Fix MachineAlreadyExistsError message in Lab.new_machine()
- Kathara network plugin causes docker service to be crashed (code=exited, status=2/INVALIDARGUMENT) HOT 2
- DockerManager.disconnect_from_link(machine: Machine, link: Link) assumes that the arguments have already called .api_object.reload() HOT 4
- Fix sysctl parsing in `lab.conf` for negative values
- Update `machine.is_ipv6_enabled()` method to respect priority of `ipv6` meta
- Update Meta "startup_commands" to "exec_commands" to avoid ambiguity
- Add new helper methods to `model.Lab`
- Port forwarding does not work when the bridged interface is not the first one on a device (MacOS, Windows)
- Wrong setting of packet number to be sent HOT 1
- Make Kathara be compatible with Podman HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kathara.