Posts for: #Linux

ContainerLab and SLES

If you want (or in my case have too) test some stuff with SLES and network equipment, you just can add a SLES container to your ContainerLab lab:

name: suse-lab

topology:
    nodes:
       suse:
         image: registry.suse.com/suse/sle15:latest
         kind: linux

One clab deploy later and you can access your SLES container:

root@clab:~/suse-lab# docker exec -ti clab-suse-suse bash
suse:/ # uname -a
Linux suse 6.1.0-40-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.153-1 (2025-09-20) x86_64 x86_64 x86_64 GNU/Linux

Using make for system administration

In another blog post I wrote that I’m using make to restart BIND and showed the following example:

root@dns:/etc/bind# cat Makefile
all:
        /usr/sbin/named-checkconf -z
        /usr/sbin/rndc reload

The all in the above Makefile is the default target used when calling make without options. The second line (Note that there is a TAB) runs a bind tool called named-checkconf with the option -z to check the BIND configuration and zones. If that works the third line is executed and BIND is restarted. If named-checkconf fails because you have a bad configuration the third line will not be executed.

Need help?

Some shameless advertising:

If you need some help with IPv6, DNS, Linux, Automation and related stuff feel free to contact me. I’m available for about two days a week, remote preferred.

ip6tables - Do you spot the error?

Some time ago I was asked why IPv6 wasn’t working. The customer had just configured some ip6tables rules and IPv6 stopped working. See if you can spot the error in the following example rule set:

ip6tables -A INPUT -p ICMP -j ACCEPT
ip6tables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
ip6tables -A INPUT -p tcp --dport ssh  -j ACCEPT
ip6tables -A INPUT -j DROP

The mistake is in line one. In IPv6 neighbor discovery and other functions rely on ICMPv6 which is a different protocol then ICMP. Some how ip6tables is fine with loading the ICMP protocol.